Android 实现自定义圆形TextView 并给出代码
时间: 2024-03-21 12:41:19 浏览: 65
要实现自定义圆形TextView,我们可以继承系统自带的TextView类,并重写其onDraw()方法。下面是一个简单的实现示例:
```
public class CircleTextView extends TextView {
private Paint circlePaint;
public CircleTextView(Context context) {
super(context);
init();
}
public CircleTextView(Context context, AttributeSet attrs) {
super(context, attrs);
init();
}
public CircleTextView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
init();
}
private void init() {
circlePaint = new Paint();
circlePaint.setColor(getResources().getColor(android.R.color.holo_blue_light)); // 设置圆形的颜色
circlePaint.setAntiAlias(true); // 设置抗锯齿
}
@Override
protected void onDraw(Canvas canvas) {
int radius = Math.min(getWidth(), getHeight()) / 2; // 计算圆形的半径
canvas.drawCircle(getWidth() / 2, getHeight() / 2, radius, circlePaint); // 画圆形
super.onDraw(canvas); // 绘制文本
}
}
```
使用时,只需要在布局文件中将TextView替换为CircleTextView即可:
```
<com.example.customview.CircleTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!" />
```
阅读全文