码迷,mamicode.com
首页 > 移动开发 > 详细

android自定义控件

时间:2018-01-21 20:40:47      阅读:244      评论:0      收藏:0      [点我收藏+]

标签:span   listener   listen   log   resources   false   ack   pack   sources   

package com.example.app.sw.kg;

import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.util.AttributeSet;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Toast;

public class MySwitchBtnView extends View implements OnClickListener{
    
    private Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);
    private boolean flag = false ;
    private Context mContext ;
    
    Bitmap bitmap_open = null ;
    Bitmap bitmap_close = null;

    public MySwitchBtnView(Context context, AttributeSet attrs) {
        super(context, attrs);
        mContext = context;
        init();
    }

    private void init() {
        setOnClickListener(this);
        bitmap_open = BitmapFactory.decodeResource(mContext.getResources(), R.drawable.btn_open);
        bitmap_close = BitmapFactory.decodeResource(mContext.getResources(), R.drawable.btn_close);
        
    }

    
    @Override
    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
        setMeasuredDimension(bitmap_open.getWidth(), bitmap_close.getHeight());
    }
    
    public MySwitchBtnView(Context context) {
        super(context);
        mContext = context ;
        init();
    }

    @Override
    protected void onDraw(Canvas canvas) {
        super.onDraw(canvas);
        if(flag){
            //绘制开
            canvas.drawBitmap(bitmap_open, 0, 0,paint);
            Toast.makeText(mContext, "被打开了", 0).show();
        }else{
            //绘制关
            canvas.drawBitmap(bitmap_close, 0, 0,paint);
            Toast.makeText(mContext, "被关闭了", 0).show();
        }
    }

    @Override
    public void onClick(View v) {
        if(flag){
            flag = false ;
        }else{
            flag = true ;
        }
        invalidate(); //刷新屏幕
    }
}

 

android自定义控件

标签:span   listener   listen   log   resources   false   ack   pack   sources   

原文地址:https://www.cnblogs.com/yoyo198212/p/8325085.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!