Android去除对话框边距,去除TextView默认内边距

本文档介绍如何解决TextView因字体大小导致的文本与底部边距过大的问题。通过重写TextView的onDraw方法,调整Canvas的翻译坐标来消除字体顶部的间距,从而实现文本更接近底部的效果。同时,可以通过设置padding和gravity属性来控制文本的居中显示。
摘要由CSDN通过智能技术生成

今天遇到一个问题,由于TextView文本框较小,文本框内字体比较大,导致设置字体区中没有达到想要的效果,距下边比较多,记录习下解决的方法

重写TextView的Ondraw方法

public class CustomTextView extends android.support.v7.widget.AppCompatTextView{

private boolean adjustTopForAscent = true;

private Paint.FontMetricsInt fontMetricsInt;

public CustomTextView(Context context) {

super(context);

}

public CustomTextView(Context context, AttributeSet attrs) {

super(context, attrs);

}

public CustomTextView(Context context, AttributeSet attrs, int defStyle) {

super(context, attrs, defStyle);

}

@Override

protected void onDraw(Canvas canvas) {

//设置是否remove间距,true为remove

if (adjustTopForAscent) {

if (fontMetricsInt == null) {

fontMetricsInt = new Paint.FontMetricsInt();

getPaint().getFontMetricsInt(fontMetricsInt);

}

canvas.translate(0, fontMetricsInt.top - fontMetricsInt.ascent);

}

super.onDraw(canvas);

}

}

设置padding内边距,自己控制文本距边框距离,达到居中效果

android:gravity="center"

android:textStyle="bold"

android:padding="3dip"

android:textColor="#140202"

android:focusable="false"

android:id="@+id/textview"

android:layout_width="mactch_parent"

android:layout_height="mactch_parent"

/>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值