Android 自定义UI-单点触摸-多点触摸

自定义UI

自定义其实就是自定义的控件,可以自己随意的定义其的大小及形状

代码较为简单,如下:

package com.example.myas_018;

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.view.MotionEvent;
import android.view.View;

import java.util.ArrayList;
import java.util.List;

/**
 * Created by Administrator on 2017/7/8 0008.
 */

public class MyButton extends View {
    private List<Float[]> list=new ArrayList<>();


    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.BLUE);
        //实例化一个路径
        Path path=new Path();
        path.moveTo(100,100);
        path.lineTo(300,100);
        path.lineTo(300,300);
        path.lineTo(100,300);

        path.moveTo(100,200);
        path.lineTo(380,200);

        path.moveTo(200,100);
        path.lineTo(200,300);
        path.quadTo(200,350,100,400);

        //实例化一个画笔
        Paint paint=new Paint();
        paint.setColor(Color.YELLOW);

        //设置空心
        paint.setStyle(Paint.Style.STROKE);
        //设置画笔的粗细
        paint.setStrokeWidth(10);

        canvas.drawCircle(220,250,220,paint);
        //画路径
        canvas.drawPath(path,paint);
    }

得到的效果为:



Adroid事件处理

Android提供了两种方式的事件处理

好处:开发出界面友好人机交互良好的Android应用

常用的监听器

触摸事件解析





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值