Android实现自定义自画的图片的Button

来源:互联网 发布:贵州浪人网络投诉 编辑:程序博客网 时间:2024/05/17 23:26

效果图:


主要代码如下:

package com.chenjun.jun_0708_diyui_touch;import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.graphics.Path;import android.support.annotation.Nullable;import android.util.AttributeSet;import android.util.Log;import android.view.MotionEvent;import android.view.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);    }    @Override    protected void onDraw(Canvas canvas) {        super.onDraw(canvas);        canvas.drawColor(Color.RED);        //实例化路径        Path path=new Path();        path.moveTo(100,100);        path.lineTo(300,100);        path.lineTo(300,300);        path.lineTo(100,300);        path.lineTo(100,100);        //实例化一只画笔        Paint paint= new Paint();        //设置画笔颜色        paint.setColor(Color.YELLOW);        //设置空心        paint.setStyle(Paint.Style.STROKE);        //设置画笔的粗细        paint.setStrokeWidth(10);        //画路径        canvas.drawPath(path,paint);        //设置字的大小        //paint.setStrokeWidth(1);        paint.setTextSize(30);        //画文字        canvas.drawText("哇哇哇哇",150,200,paint);    }    //设置画布的宽和高    @Override    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {        super.onMeasure(widthMeasureSpec, heightMeasureSpec);        //宽        int w=400;        //高        int h=600;        setMeasuredDimension(w,h);    }}


<?xml version="1.0" encoding="utf-8"?><LinearLayout    xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:app="http://schemas.android.com/apk/res-auto"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical"    android:id="@+id/root"    tools:context="com.chenjun.jun_0708_diyui_touch.MainActivity">    <com.chenjun.jun_0708_diyui_touch.MyButton        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:id="@+id/myb_main_button"        /></LinearLayout>


原创粉丝点击