我的活动中有一个textview字段.它的字体大小是16.它的文本是通过代码设置的.假设我有一个大文本,它应该缩小这些数据(即字体大小减少),而不是转到下一行.我该怎么做?
<TextView android:id="@+id/textView" android:layout_width="400dp" android:layout_height="wrap_content" android:text="" android:textSize="16sp" />
Run Code Online (Sandbox Code Playgroud)
我通过使用我根据我的要求创建的以下方法得到它.
private void autoScaleTextViewTextToHeight(TextView tv)
{
String s = tv.getText().toString();
float currentWidth = tv.getPaint().measureText(s);
float phoneDensity = this.getResources().getDisplayMetrics().density;
while(currentWidth > (REQUIRED_WIDTH * phoneDensity)) {
tv.setTextSize(TypedValue.COMPLEX_UNIT_PX, tv.getTextSize() - 1.0f);
currentWidth = tv.getPaint().measureText(s);
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4447 次 |
| 最近记录: |