[英]How Can I Set Margin with 'dp' programmatically?
我正在嘗試以編程方式創建設計。 我正在使用 LayoutParams 獲取詳細信息,並且我想設置 Margin 並且我看到了 ... setMargins(0, 100, 0, 100)但我想使用 'dp' 進行設置,如下所示:
<TextView
...
android:layout_marginLeft="10dp"
.../>
如何使用 'dp' 設置邊距?
那么你首先要知道父布局,如果它是你需要的 RelativeLayout :
RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(this);
如果它是線性的,請確保將相對替換為線性以獲得正確的布局參數。現在您可以使用:
layoutParams.setMargins(i1,i2,i3,i4);
所有的值都應該以像素為單位,所以如果你需要一個方法,它應該為你將 dp 轉換為 px。然后隨意使用我的:
public int dpToPx(Context context, float dp) {
return Math.round(dp * getDisplayMetrics(context).density);
}
現在只需將 layoutParams 設置為子視圖:
textView.setLayoutParams(layoutParams);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.