2016-01-28 85 views
1

我正在使用下面的代码添加图像并从左侧给出边距。左边距在java中不起作用

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

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

但这不工作的设备与性能: - 540x960,240dpi,4.7英寸设备

但是,如果我们给从此.xml文件其工作的空白。

请帮我解决这个问题。

在此先感谢。

+2

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

+1

@Stanojkovic好逻辑。 –

+1

@IntelliJ Amiya谢谢。 – Stanojkovic

回答

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

希望这有助于。