android中button上设置图片

android中button上设置图片,第1张

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

主要是用到selector这个属性!

1. android项目中,在res文件夹下建一个drawable文件夹

button_selector.xml

指段谈誉定好按下时的图片 和 未按下时的图片

2. 将button_selector.xml放侍晌到握段drawable文件夹下

main.xml

这样所指定的ImageButton当点击的时候就会改变背景图片了


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11988495.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存