android自定义控件

但使书种多,会有岁稔时。这篇文章主要讲述android自定义控件相关的知识,希望能为你提供帮助。

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自定义控件】 

    推荐阅读