我有一组ImageViews,其BackgroundResource和LayoutParams将在一个单独的xml文件中定义。 height,width,marginleft和margintop以像素为单位。这些值相对于1024x600像素分辨率屏幕。我正在使用的代码
ImageView ImgV= (ImageView)findViewById(R.id.ImgV_1);
RelativeLayout.LayoutParams the_dimens = new RelativeLayout.LayoutParams(50,50);
the_dimens.setMargins(800,50,0,0);
ImgV.setBackgroundResource(R.drawable.bulbon);
ImgV.setLayoutParams(the_dimens);
虽然高度和宽度似乎以像素正确显示,但边距不是。那么如何设置要以像素为单位应用的边距值,而不是下面代码所采用的默认单位。
the_dimens.setMargins(800,50,0,0);
该应用程序仅适用于1024x600设备,因此我不担心独立于分辨率的设计。 感谢。
答案 0 :(得分:0)
merge
答案 1 :(得分:0)
你可以这样做:
LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);
lp.setMargins(left, top, right, bottom);
imageView.setLayoutParams(lp);