3

我有一个带有两个维度 WRAP_CONTENT 的 TextView 然后:

1)例如,我将文本大小更改为 30 --> 一切正常,视图的宽度和高度已正确调整大小

2)然后我将文本大小更改为较小的值(例如 10)-> FAIL,视图的宽度被包裹到内容,但高度保持与以前相同,而不是包裹到新的文本高度.

似乎当 textView 达到一定大小时,它无法恢复到较小的大小。

注意1:如果我随后强制使用固定大小来尝试恢复包裹的视图,它会这样做,剪切文本,而不是重新定位它。

注意2:尝试了一切来刷新视图。再次设置 LayoutParams 什么都不做

代码很简单:

final TextView t = (TextView)findViewById(R.id.text);
t.setText("This is a Test");
t.setBackgroundColor(Color.RED);

Button b0 = (Button)findViewById(R.id.boto0);
b0.setText("Change Size");
b0.setOnClickListener(new View.OnClickListener() {
    public void onClick(View v) {
        if (t.getTextSize()>20){
            t.setTextSize(10f);
        }else{
            t.setTextSize(30f);
        }
     }
}

带有大文本

带有小文字

4

1 回答 1

2

每次设置文本时,请执行以下操作:

setText("I am a Text",TextView.BufferType.SPANNABLE);

另请参阅此问题: Android:TextView height doesn't change after shrinking font size

于 2015-05-11T08:21:31.680 回答