简体   繁体   English

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

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

I want to move what I have in my XML: 我想移动我在XML中的内容:

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

to my code: 到我的代码:

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

The problem is that is appears the "setPadding" call only sets it by pixels, not dp. 问题是看来“setPadding”调用只按像素设置,而不是dp。 Anyone know how to properly set this in code? 任何人都知道如何在代码中正确设置它?

you'll have to do the conversion manually: 你必须手动进行转换:

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

dp is just dpi/160. dp只是dpi / 160。

try this: 尝试这个:

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