100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > android如何让自定义控件居中 Android自定义控件之自定义TextView 实现drawableLeft

android如何让自定义控件居中 Android自定义控件之自定义TextView 实现drawableLeft

时间:2020-08-01 16:20:15

相关推荐

android如何让自定义控件居中 Android自定义控件之自定义TextView 实现drawableLeft

如何实现使用TextView的DrawableLeft使图片和文字居中显示呢???

代码如下:

1.首先自定义一个类,继承TextViewpackagecom.test.signcalendar.weight;importandroid.content.Context;importandroid.graphics.Canvas;importandroid.graphics.drawable.Drawable;importandroid.util.AttributeSet;importandroid.widget.TextView;/**

*自定义TextView,实现drawableLeft可以和文字一起居中

*@authorHLQ

*@createtime3月20日04:14:36

*

*/publicclassDrawableCenterTextViewextendsTextView{publicDrawableCenterTextView(Contextcontext,AttributeSetattrs,intdefStyle){super(context,attrs,defStyle);

}publicDrawableCenterTextView(Contextcontext,AttributeSetattrs){super(context,attrs);

}publicDrawableCenterTextView(Contextcontext){super(context);

}@Override

protectedvoidonDraw(Canvascanvas){

Drawable[]drawables=getCompoundDrawables();if(drawables!=null){

DrawabledrawableLeft=drawables[0];if(drawableLeft!=null){floattextWidth=getPaint().measureText(getText().toString());intdrawablePadding=getCompoundDrawablePadding();intdrawableWidth=0;

drawableWidth=drawableLeft.getIntrinsicWidth();floatbodyWidth=textWidth+drawableWidth+drawablePadding;

canvas.translate((getWidth()-bodyWidth)/2,0);

}

}super.onDraw(canvas);

}

}

2.之后在xml布局文件中直接引用即可。。。

真是会者不难,,,难者不会。。。

android如何让自定义控件居中 Android自定义控件之自定义TextView 实现drawableLeft可以和文字一起居中...

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。