簡體   English   中英

Android-以毫米為單位將布局參數設置為TextView

[英]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_PARENTWRAP_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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM