我正在使用下面的代码添加一个图像并从左边给出边距。
layoutParams.setMargins(translateBy, 0, 0, marginBottom);
slideIcon.setLayoutParams(layoutParams);
此代码适用于所有密度和大小不同的设备。
但这对于具有属性的设备不起作用: - 540x960,240dpi,4.7英寸设备
但是如果我们从.xml文件中提供保证金,那么它就可以了。
请帮我解决这个问题。
提前致谢。
答案 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);
希望这有帮助。