今天遇到一個(gè)問題立哑,由于TextView文本框較小夜惭,文本框內(nèi)字體比較大,導(dǎo)致設(shè)置字體區(qū)中沒有達(dá)到想要的效果铛绰,距下邊比較多诈茧,記錄習(xí)下解決的方法
重寫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) {
//設(shè)置是否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);
}
}
設(shè)置padding內(nèi)邊距捂掰,自己控制文本距邊框距離敢会,達(dá)到居中效果
<com.sam_care.view.CustomTextView
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"
/>