繁体   English   中英

如何计算文本大小以填充 Android 中文本行的线性布局宽度?

[英]How calculate text size to fill Linear Layout width whith text's line in Android?

我有这个问题:

我想将几行 TextViews 添加到线性布局并计算文本大小以用文本填充它。

我花了几个小时研究,我明白了。

在 Android 中计算文本大小非常复杂,因为有几个屏幕具有不同的 dpi。

我打了几个小时都没有成功。

我通过这种方式找到了解决方案:

    final float scaledDensity_sp = getResources().getDisplayMetrics().scaledDensity;
    final float widthPixels = getResources().getDisplayMetrics().widthPixels;
    float sp = ((widthPixels / scaleI found the solution from this way:

    final float scaledDensity_sp = getResources().getDisplayMetrics().scaledDensity;
    final float widthPixels = getResources().getDisplayMetrics().widthPixels;
    float sp = ((widthPixels / scaledDensity_sp) / text_len) * 2;

    et.setTextSize(TypedValue.COMPLEX_UNIT_SP, sp);

我测试了几种屏幕尺寸(大约十个)并且效果很好(大多数都是纵向和横向)。

我对所有行使用相同的 text_len(最大),因为我希望 all.dDensity_sp) / text_len) * 2 的文本大小相同;

    et.setTextSize(TypedValue.COMPLEX_UNIT_SP, sp);

我测试了几种屏幕尺寸(大约十个)并且效果很好(大多数都是纵向和横向)。

我对所有行都使用了相同的 text_len(最长),因为我希望所有行都具有相同的文本大小。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM