[英]Android - setting layout params to TextView in millimeter
我相信您可以使用類似以下的方法動態地將layout_width和layout_height設置為textview元素:
LayoutParams lparams = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.FILL_PARENT);
centimeterLayout.addView(textview, lparams);
但是-如何以其他單位設置布局寬度和高度-例如,我要將文本視圖的布局寬度設置為20 mm。 我怎么做?
LayoutParams
可以采用常量之一( FILL_PARENT
, WRAP_CONTENT
)或像素值。 由於要使用毫米,因此必須將毫米尺寸轉換為像素尺寸。 這樣做很容易:
Resources r = getResources();
float px = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_MM, 20,
r.getDisplayMetrics());
在此示例中,將20毫米轉換為可以在LayoutParams
使用的像素尺寸。 您也可以使用其他尺寸,例如TypedValue.COMPLEX_UNIT_DIP
用於dp /dip¹。 只需更改參數中的常量即可。 Android文檔中有可用尺寸的列表 。
¹ 密度獨立像素,強烈建議調整尺寸,以適應許多不同的屏幕尺寸和密度。 使用mm並不是最好的處理方式,因為您的文本在大屏幕上看起來可能還不錯,並且在小屏幕上占了很大一部分,反之亦然-這並不理想。 我還建議使用sp作為字體大小。 有關詳細信息,請參見尺寸列表。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.