类.所以我刚开始做的是:
<vIEw class = "com.example.button.MainActivity$Mybutton" androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content" />
和
public static class Mybutton extends button { public Mybutton(Context context) { super(context); } public Mybutton(Context context,AttributeSet attrs) { super(context,attrs); } public Mybutton(Context context,AttributeSet attrs,int defStyle) { super(context,attrs,defStyle); } @OverrIDe protected voID onDraw(Canvas canvas) { Paint paint = new Paint(); paint.setcolor(color.BLUE); paint.setstrokeWIDth(10); paint.setStyle(Style.FILL); int wIDth = getWIDth(); int height = getHeight(); canvas.drawCircle(wIDth/2,height/2,height/3,paint); } }
但我在按钮视图矩形上得到一个蓝色圆圈.
我想看到蓝色圆圈作为按钮形状,我得到了矩形的骑行.
任何帮助?
setontouchListener控制点击位置是否在蓝色圆圈内.您可以像this一样获得触摸位置.
您甚至可以允许以下列方式设置onClickListener(将其添加到Mybutton类):
@OverrIDepublic voID setonClickListener(final OnClickListener onClickListener) { Mybutton.this.setontouchListener(new OntouchListener() { @OverrIDe public boolean ontouch(VIEw v,MotionEvent event){ if (isWithinCircle(event)) { onClickListener.onClick(v); } } });}总结
以上是内存溢出为你收集整理的使用onDraw扩展android按钮全部内容,希望文章能够帮你解决使用onDraw扩展android按钮所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)