android 获取屏幕中心点
莫邪女郎 2014-10-08 05:52:11 private void method(Canvas canvas) {
// 1.获取屏幕的宽高
WindowManager wm = (WindowManager) m_context
.getSystemService(Context.WINDOW_SERVICE);
DisplayMetrics dm = new DisplayMetrics();
wm.getDefaultDisplay().getMetrics(dm);
int width = dm.widthPixels;
int height = dm.heightPixels;
// 2.获取状态栏的高度
Rect frame = new Rect();
getWindowVisibleDisplayFrame(frame);
int stateHeight = frame.top;
// 2.获取图片的宽高
BitmapFactory.Options options = new BitmapFactory.Options();
options.inJustDecodeBounds = true;
BitmapFactory.decodeResource(m_context.getResources(),
R.drawable.icon_map_center_point, options);
int bit_height = options.outHeight;
int bit_width = options.outWidth;
options.inJustDecodeBounds = false;
// 3.计算屏幕中心点的坐标
int cx = (width - bit_width) / 2;
int cy = (height - stateHeight - bit_height) / 2;
Bitmap bi = BitmapFactory.decodeResource(m_context.getResources(),
R.drawable.icon_map_center_point, options);
canvas.drawBitmap(bi, cx, cy, m_paint);
}