簡體   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