亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Android自定義Button并設置不同背景圖片的方法

 更新時間:2016年01月16日 11:50:24   作者:nosxcy  
這篇文章主要介紹了Android自定義Button并設置不同背景圖片的方法,涉及Android自定義控件的功能實現(xiàn)與布局相關技巧,需要的朋友可以參考下

本文實例講述了Android自定義Button并設置不同背景圖片的方法。分享給大家供大家參考,具體如下:

1、自定義MyButton類

public class MyButton extends Button {
//This constructormust be 
public MyButton(Context context, AttributeSet attrs) {
 super(context, attrs);
 }
 public MyButton(Context context) {
 super(context);
 }
 private Paint mPaint = null;
 private String mText;
 private int mX, mY;
 public void onSetText(String text, int nLeft, int nBottom, int nTextSize,
  int nTextColor) {
 mPaint = new Paint();
 mPaint.setTextSize(nTextSize);
 mPaint.setColor(nTextColor);
 this.mText = text;
 this.mX = nLeft;
 this.mY = nBottom;
 }
 private int mDownBmpId, mUpBmpId;
 public void onSetBmp(int nDownID, int nUpID) {
 this.mDownBmpId = nDownID;
 this.mUpBmpId = nUpID;
 }
 @Override
 public void onDraw(Canvas canvas) {
 if (mPaint != null)
  canvas.drawText(mText, mX, mY, mPaint);
 super.onDraw(canvas);
 }
 @Override
 public boolean onTouchEvent(MotionEvent event) {
 if (event.getAction() == MotionEvent.ACTION_DOWN) {
  super.setBackgroundResource(mDownBmpId);
 } else if (event.getAction() == MotionEvent.ACTION_UP) {
  super.setBackgroundResource(mUpBmpId);
 }
 return super.onTouchEvent(event);
 }
}

2、 在xml布局文件中添加MyButton控件,像應用普通的Button控件一樣。

<com.MyButton
  android:id="@+id/test_btn" android:layout_width="120px"
  android:layout_height="fill_parent" android:text="Test"
  android:background="@drawable/btn_u" />

其中com.MyButton是你定義的MyButton類所在的包名

3、在onCreate()中加載MyButton控件。

MyButton btn = (MyButton)findViewById(R.id.test_btn);
btn.onSetBmp(R.drawable.btn_d, R.drawable.btn_u);

其中btn_d表示為按下btn時背景圖片,btn_u為默認狀態(tài)下btn背景圖片

更多關于Android控件相關內(nèi)容感興趣的讀者可查看本站專題:《Android控件用法總結(jié)

希望本文所述對大家Android程序設計有所幫助。

相關文章

最新評論