我只是想将我的 imageView 定位在屏幕上所需的位置,但由于某种原因,图片总是有点偏离,它不在正确的位置。例如,如果我想把它放在屏幕中间,这就是我的代码。
获取屏幕尺寸:
DisplayMetrics displaymetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(displaymetrics);
height = displaymetrics.heightPixels;
width = displaymetrics.widthPixels;
获取图片大小:
BitmapFactory.Options o = new BitmapFactory.Options();
o.inTargetDensity = DisplayMetrics.DENSITY_DEFAULT;
Bitmap bmp = BitmapFactory.decodeResource(getResources(), R.drawable.car1, o);
int w = bmp.getWidth();
int h = bmp.getHeight();
创建和定位 imageView:
image = new ImageView(this);
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(
RelativeLayout.LayoutParams.MATCH_PARENT,
RelativeLayout.LayoutParams.MATCH_PARENT);
image.setScaleType(ImageView.ScaleType.MATRIX);
image.setImageResource(R.drawable.car1);
image.setId(1);
params.setMargins((width/2)-w,(height/2)-h, 0, 0);
((ViewGroup) mainLayout).addView(image, params);
我的 imageView 不在屏幕中间,我不知道为什么,有什么帮助吗?我以屏幕中间为例;我需要各种职位。