繁体   English   中英

如何在代码中设置ListView的填充?

[英]How do I set the padding of a ListView in code?

我想移动我在XML中的内容:

android:paddingLeft="12dp"
android:paddingRight="12dp"

到我的代码:

ListView listView = getListView();
listView.setPadding(12, 0, 12, 0);

问题是看来“setPadding”调用只按像素设置,而不是dp。 任何人都知道如何在代码中正确设置它?

你必须手动进行转换:

float scale = getResources().getDisplayMetrics().density;
// Convert the dps to pixels, based on density scale
int sizeInPx = (int) (sizeInDp*scale + 0.5f);

dp只是dpi / 160。

尝试这个:

DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
float dp = dm.densityDpi / 160;

listView.setPadding(12*dp, 0, 12*dp, 0);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM