【问题标题】:How remove TextView extra padding?如何删除 TextView 额外的填充?
【发布时间】:2015-10-24 05:42:37
【问题描述】:

我想从TextView 的顶部和底部删除额外的填充。我试试setIncludeFontPadding(false); 还有这个:

android:layout_marginTop="-Xdp"
android:layout_marginBottom="-Xdp

但他们没有工作。

有什么办法吗?

【问题讨论】:

标签: java android android-layout


【解决方案1】:

setIncludeFontPadding 有效,但不会删除所有填充,特别是当您包装文本视图大小时。

创建一个自定义TextView 并覆盖onDraw 方法,然后在调用super 之前添加这些行:

 @Override
    protected void onDraw(Canvas canvas) {
        float offset = getTextSize() - getLineHeight();
        canvas.translate(0, -offset); //or +offset to moving it to top
        super.onDraw(canvas);
    }

【讨论】:

  • 将文本移到顶部,但不降低视图高度。显然 onDraw() 无法改变视图大小。