2011-10-09 85 views
0

布局PARAMS设置TextView的,我相信你可以设置layout_width和layout_height动态使用类似TextView元素:Android的 - 以毫米为

LayoutParams lparams = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.FILL_PARENT); 
centimeterLayout.addView(textview, lparams); 

可是 - 我怎么设置布局宽度和高度等单位 - 例如我想将我的文本视图的布局宽度设置为20毫米。我怎么做?

回答

1

LayoutParams任取的一个常量FILL_PARENTWRAP_CONTENT或像素值。由于您要使用毫米,因此必须将毫米尺寸转换为像素尺寸。这样做是很容易的:

Resources r = getResources(); 
float px = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_MM, 20, 
            r.getDisplayMetrics()); 

在本例中为20mm转换为可以在您的LayoutParams使用像素尺寸。您也可以使用其他尺寸,例如TypedValue.COMPLEX_UNIT_DIP用于dp /dip¹。只需改变参数中的常量。 Android文档有list of useable dimensions

¹密度独立像素,高度推荐的尺寸,适应多种不同的屏幕尺寸和密度。使用mm并不是最好的办法,因为你的文本可能在大屏幕上看起来不错,并占据大屏幕的一小部分,或者相反 - 这并不理想。我也推荐sp的字体大小。详细信息请参见维度列表。

相关问题