android如何让自定义控件居中,Android自定义控件之自定义TextView,实现drawableLeft可以和文字一起居中...
如何實現使用TextView的DrawableLeft使圖片和文字居中顯示呢???
代碼如下:
1.首先自定義一個類,繼承TextViewpackage?com.test.signcalendar.weight;import?android.content.Context;import?android.graphics.Canvas;import?android.graphics.drawable.Drawable;import?android.util.AttributeSet;import?android.widget.TextView;/**
*?自定義TextView,實現drawableLeft可以和文字一起居中
*?@author?HLQ
*?@createtime?2016年3月20日04:14:36
*
*/public?class?DrawableCenterTextView?extends?TextView?{????public?DrawableCenterTextView(Context?context,?AttributeSet?attrs,????????????int?defStyle)?{????????super(context,?attrs,?defStyle);
}????public?DrawableCenterTextView(Context?context,?AttributeSet?attrs)?{????????super(context,?attrs);
}????public?DrawableCenterTextView(Context?context)?{????????super(context);
}????@Override
protected?void?onDraw(Canvas?canvas)?{
Drawable[]?drawables?=?getCompoundDrawables();????????if?(drawables?!=?null)?{
Drawable?drawableLeft?=?drawables[0];????????????if?(drawableLeft?!=?null)?{????????????????float?textWidth?=?getPaint().measureText(getText().toString());????????????????int?drawablePadding?=?getCompoundDrawablePadding();????????????????int?drawableWidth?=?0;
drawableWidth?=?drawableLeft.getIntrinsicWidth();????????????????float?bodyWidth?=?textWidth?+?drawableWidth?+?drawablePadding;
canvas.translate((getWidth()?-?bodyWidth)?/?2,?0);
}
}????????super.onDraw(canvas);
}
}
2.之后在xml布局文件中直接引用即可。。。
真是會者不難,,,難者不會。。。
總結
以上是生活随笔為你收集整理的android如何让自定义控件居中,Android自定义控件之自定义TextView,实现drawableLeft可以和文字一起居中...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux 搭建github,githu
- 下一篇: android sina oauth2.