已经有一段时间了,我已经阅读了很多文章以尝试解决我的问题,但是我似乎无法弄清楚。 我缺少了一些东西,希望有人能帮助我了解我在做什么错。
在此示例中,我在线性布局内有一个TextView,其LayoutParams设置为MATCH_PARENT。 如果我将WRAP_CONTENT与TextView一起使用,则即使我使用了Padding,也会修剪阴影。 如果我将TextView设置为MATCH_PARENT,则不会修剪阴影。
TextView WRAP_CONTENT无填充:
带有填充的TextView WRAP_CONTENT
TextView MATCH_PARENT:
我什至尝试过 ll.setClipToPadding(false); ll.setClipChildren(false);
我想念什么?
答案 0 :(得分:1)
不幸的是,我认为您没有丢失任何东西。这似乎是TextView如何测量斜体文本的错误。即使没有阴影,这也是一个问题。
您必须继承TextView
(或AppCompatTextView)并定义自定义测量行为才能解决此问题。
如果您不想打扰,则共识“最佳”答案是在文本末尾添加一个不间断的空格,以增加文本的尺寸。不幸的是,这通常会增加您真正想要的空间。
偶然地,android:clipToPadding
只是ViewGroup
上的一个属性,这就是为什么将它应用于TextView
时它什么都不做的原因(就像其他任何东西一样,它被忽略了)属性未知)。
答案 1 :(得分:0)
这可能是非常糟糕的做法,但是我遵循以下原则:
tv.setHeight(tv.getHeight() + tv.getPaddingTop() + tv.getPaddingBottom());
tv.setWidth(tv.getWidth() + tv.getPaddingLeft() + tv.getPaddingRight());
tv.setPadding(0, 0, 0, 0);
结果:
再次感谢Ben帮助我!