Android Button、ImageButton、TextView控件的美化
对于Android自带的Button按钮控件很多网友感觉不是很美观,如果界面上按钮不多,我们可以通过一种简单的方法实现Button脱胎换骨的外观,考虑到效率Android的layout方式的xml文件先不用了,毕竟控件不多模拟一个个性化Button还是很简单的,我们直接通过图片实现颜色的,代码如下:
- mBtn
= (Button) findViewById(R.id.btn); //btn为layout中的Button ID - mBtn.setOnTouchListener(new
OnTouchListener() { - public
boolean onTouch(View arg0,MotionEvent arg1) { - if(arg1.getAction()
== MotionEvent.ACTION_DOWN) { - arg0.setBackgroundResource(R.drawable.pressed);
//按下的图片对应pressed - }
else if(arg1.getAction() == MotionEvent.ACTION_UP) { - arg0.setBackgroundResource(R.drawable.normal);
//常态下的图片对应normal - }
- else
if() //这里还可以继续实现MotionEvent.ACTION_MOVE和MotionEvent.ACTION_CANCEL等实现更多的特效 - return
false; - }
- });
java代码:
- imageButton.setOnTouchListener(new
OnTouchListener(){ - @Override
- public
boolean onTouch(View v, MotionEvent event) { - if(event.getAction()
== MotionEvent.ACTION_DOWN){ - //更改为按下时的背景图片
- v.setBackgroundResource(R.drawable.pressed);
- }else
if(event.getAction() == MotionEvent.ACTION_UP){ - //改为抬起时的图片
- v.setBackgroundResource(R.drawable.released);
- }
- return
false; - }
- });
java代码:
- <?xml
version="1.0" encoding="UTF-8"?> - <selector
xmlns:android="http://schemas.android.com/apk/res/android"> - <item
android:state_pressed="false" android:drawable="@drawable/button_add" /> - <item
android:state_pressed="true" android:drawable="@drawable/button_add_pressed" /> - <item
android:state_focused="true" android:drawable="@drawable/button_add_pressed" /> - <item
android:drawable="@drawable/button_add" /> - </selector>
java代码:
- <ImageButton
- android:id="@+id/ImageButton"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:background="#00000000"
- android:src="@drawable/button_add_x"
> - </ImageButton>
java代码:
- <?xml
version="1.0" encoding="utf-8"?> - <selector
xmlns:android="http://schemas.android.com/apk/res/android"> - <item
android:state_selected="true" android:color="#FFF" /> - <item
android:state_focused="true" android:color="#FFF" /> - <item
android:state_pressed="true" android:color="#FFF" /> - <item
android:color="#000" /> - </selector>