左边距不适用于java

时间:2016-01-28 10:35:34

标签: android

我正在使用下面的代码添加一个图像并从左边给出边距。

layoutParams.setMargins(translateBy, 0, 0, marginBottom);
slideIcon.setLayoutParams(layoutParams);

此代码适用于所有密度和大小不同的设备。

但这对于具有属性的设备不起作用: - 540x960,240dpi,4.7英寸设备

但是如果我们从.xml文件中提供保证金,那么它就可以了。

请帮我解决这个问题。

提前致谢。

1 个答案:

答案 0 :(得分:3)

您可以使用 DisplayMetrics 逻辑

  

描述有关显示的一般信息的结构,例如   它的大小,密度和字体缩放。

    DisplayMetrics metrics = getResources().getDisplayMetrics();

       int DeviceTotalWidth = metrics.widthPixels;
       int DeviceTotalHeight = metrics.heightPixels;

     layoutParams.setMargins(DeviceTotalWidth/8, 0, 0, marginBottom); // left, top, right, bottom
      // DeviceTotalWidth/8 set yours left margin 

<强>被修改

@Courtesy前往# Stanojkovic

LayoutParams params = new LayoutParams( LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT ); params.setMargins(left, top, right, bottom);

希望这有帮助。