Java 使TextView在Gridview中完全圆化

Java 使TextView在Gridview中完全圆化,java,android,gridview,textview,Java,Android,Gridview,Textview,我正在尝试在Android中创建一个自定义的日历视图,我可以在其中添加事件。我试图制作类似于原始日历视图,但我很难使网格视图内部的文本视图完全呈圆形,甚至在单击动画上也有圆形边框 我制作了一个名为CircularTextView的自定义TextView,我试图用它覆盖draw方法,以获得完整的循环效果。但问题是点击的背景仍然是方形的 CircularTextView类: package com.example.owncalendar; 导入android.annotation.SuppressL

我正在尝试在Android中创建一个自定义的
日历视图
,我可以在其中添加事件。我试图制作类似于原始
日历视图
,但我很难使
网格视图
内部的
文本视图
完全呈圆形,甚至在单击动画上也有圆形边框

我制作了一个名为
CircularTextView
的自定义
TextView
,我试图用它覆盖
draw
方法,以获得完整的循环效果。但问题是点击的背景仍然是方形的

CircularTextView
类:

package com.example.owncalendar;
导入android.annotation.SuppressLint;
导入android.content.Context;
导入android.graphics.Canvas;
导入android.graphics.Paint;
导入android.util.AttributeSet;
导入android.util.Log;
导入android.widget.TextView;
@SuppressLint(“AppCompatCustomView”)
公共类CircularTextView扩展了TextView{
public CircularTextView(上下文){
超级(上下文);
}
public CircularTextView(上下文、属性集属性){
超级(上下文,attrs);
}
public CircularTextView(上下文、属性集属性、int defStyleAttr){
super(上下文、attrs、defStyleAttr);
}
@凌驾
公共空白绘制(画布){
油漆电路油漆=新油漆();
circlePaint.setColor(getResources().getColor(R.color.colorAccent));
circlePaint.setFlags(Paint.ANTI_别名_标志);
int h=this.getHeight();
int w=this.getWidth();
内径=((h>w)?h:w);
int半径=直径/2;
这是设定高度(直径);
这是设置宽度(直径);
画布.画圈(直径/2,直径/2,半径,画圈);
日志d(“已提取”、“已提取”);
超级绘画(画布);
}
}
在GridView中加载的视图:


round_textview
可绘制:


应该是这样的:

您需要为此创建可绘制的选择器。我会尝试并给出答案。非常感谢。