Java 如何删除文本视图的额外填充?

Java 如何删除文本视图的额外填充?,java,android,android-layout,Java,Android,Android Layout,我想删除TextView顶部和底部的额外填充。我尝试设置includeFontPadding(false)以及以下内容: android:layout_marginTop="-Xdp" android:layout_marginBottom="-Xdp 但它们没有起作用 有什么方法可以做到这一点吗?设置IncludeFontPadding可以工作,但不会删除所有的填充,特别是当您包装文本视图大小时 创建一个自定义的TextView并重写onDraw方法,然后在调用super之前添加这些行:

我想删除
TextView
顶部和底部的额外填充。我尝试设置includeFontPadding(false)以及以下内容:

android:layout_marginTop="-Xdp"
android:layout_marginBottom="-Xdp
但它们没有起作用


有什么方法可以做到这一点吗?

设置IncludeFontPadding
可以工作,但不会删除所有的填充,特别是当您包装文本视图大小时

创建一个自定义的
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);
    }

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()无法更改视图大小。将文本移到顶部,但不会降低视图高度。显然,onDraw()无法更改视图大小。