• 利用selector设置ImageButton不同状态下的背景图片


    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为默认状态下btn背景图片

  • 相关阅读:
    Visual C# 2008+SQL Server 2005 数据库与网络开发14.1.2 WPF的组成
    Visual C# 2008+SQL Server 2005 数据库与网络开发13.1.3 简单记事本程序菜单设计
    Visual C# 2008+SQL Server 2005 数据库与网络开发13.1.1 菜单创建
    Feathers TextInput使KeyboardEvent失效
    UILabel 多行显示
    突破flash player的睡眠模式
    突破flash player睡眠模式 后续
    缩放UIImage
    IT菜鸟报到!
    用VMware装了Ubuntu后,安装VMware Tools
  • 原文地址:https://www.cnblogs.com/sinsoul/p/3296933.html
Copyright © 2020-2023  润新知