我是 Android 的新手,如果没有这个论坛,我永远不会达到现在的水平。 这是我的问题: 我正在使用一个简单的 LinearLayout 和一个垂直位于 TextView 上方的 ImageView。我的目标是显示一系列屏幕,顶部是图像,底部是简短的文本标题。文本是可换行的,图像应该缩放以填充剩余的可用垂直空间。
如果我保持文本字体大小不变(我通常使用 .setTextSize(35)),一切正常。问题是当我显示空图像时,我选择放大文本 (.setTextSize(120))。这行得通..但是当我接下来显示后续图像并将文本大小恢复为 35 时,图像底部和现在较小的文本区域顶部之间有一个很大的未填充间隙。
似乎正在发生的事情是,使用较大的文本大小曾经以某种方式永久增加了 TextView 的最小高度。我试过清除 TextView (.setText("").. 将大小更改为非常小 (.setTextSize(12)... 并无休止地摆弄 LinearLayout 参数(重量,重力)...无济于事。欢迎任何有关如何解决此问题的想法。
<ImageView android:id="@+id/img" android:layout_width="match_parent"
android:layout_height="0dp" android:layout_weight="1.0" android:layout_gravity="fill_vertical" android:contentDescription="@string/desc" />
<TextView android:id="@+id/caption" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_weight="0" android:layout_gravity="bottom"
android:gravity="center"/>
最佳答案
***发帖后发现的解决办法:原来这是Android 3.1以来的已知bug。参见 Android:TextView height doesn't change after shrinking the font size .
在此处列出的推荐解决方案/解决方法中,我喜欢的是每次设置文本时执行以下操作:
setText("我是一个文本",TextView.BufferType.SPANANABLE);
或者在调整文本大小后执行:setText(getText(),TextView.BufferType.SPANANABLE);
关于android - 增加 TextView 的 TextSize 然后减小它不会返回到 View 元素的正常高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17160588/