【问题标题】:Android - setting layout params to TextView in millimeterAndroid - 以毫米为单位将布局参数设置为 TextView
【发布时间】:2011-12-03 21:55:51
【问题描述】:

我相信您可以使用以下方式动态地将 layout_width 和 layout_height 设置为 textview 元素:

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

但是 - 我如何以其他单位设置布局宽度和高度 - 例如我想将我的文本视图的布局宽度设置为 20 毫米。我该怎么做?

【问题讨论】:

    标签: android textview layoutparams


    【解决方案1】:

    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 文档有一个list of useable dimensions

    ¹ 密度独立像素,这是一个强烈推荐的尺寸,可以适应许多不同的屏幕尺寸和密度。使用 mm 并不是最好的处理方式,因为您的文本在大屏幕上可能看起来还不错,并且会填满小屏幕的大部分,或者相反 - 这并不理想。我还推荐使用 sp 作为字体大小。详情请参阅维度列表。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-27
      • 2016-01-19
      • 2020-08-06
      • 2020-12-08
      • 2015-06-19
      • 2012-02-17
      相关资源
      最近更新 更多