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