如何在android java中设置ImageView的像素边距?

时间:2016-08-31 11:18:38

标签: java android android-layout android-studio margin

我有一组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设备,因此我不担心独立于分辨率的设计。 感谢。

2 个答案:

答案 0 :(得分:0)

check this

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);