什么是自定义按钮? 自己定义的按钮
首先我们的先继承button 或者 view
然后重写四个方法
public class MyButton extends View{ public MyButton(Context context) { super(context); } public MyButton(Context context, @Nullable AttributeSet attrs) { super(context, attrs); } public MyButton(Context context, @Nullable AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); } public MyButton(Context context, @Nullable AttributeSet attrs, int defStyleAttr, int defStyleRes) { super(context, attrs, defStyleAttr, defStyleRes); }
重写以上方法
之后再从回调的方法中写java代码
@Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); //实例化路径 Path path=new Path(); path.moveTo(100,100); path.lineTo(300,100); path.lineTo(150,300); path.lineTo(200,50); path.lineTo(250,300); path.lineTo(100,100); //实例化一个画笔 Paint paint=new Paint(); paint.setColor(Color.YELLOW); //设置空心 // paint.setStyle(Paint.Style.STROKE) paint.setStrokeWidth(5);//设置笔的粗细 canvas.drawColor(Color.RED); //画路径 canvas.drawPath(path,paint); paint.setTextSize(17);//设置字的大小 paint.setColor(Color.BLACK);//设置画布的颜色 //画文字 canvas.drawText("我的自定义Button",150,150,paint); } 然后再写一个布局文件android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/mybutton" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="我是自带的按钮" /> </LinearLayout>