繁体   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