最近在做一个app的登陆界面,才发现原来认为很简单的UI效果,其实背后却蕴含的知识很多,积累一个算一个吧。 实现方法有两种:一种是添加代码,一种是配置xml文件。 方法一:代码添加 ImageButton btn = (ImageButton)findViewById(R.id.imageButton1); btn.setOnTouchListener(new View.OnTouchListener(){ public boolean onTouch(View v, MotionEvent event) { if(event.getAction() == MotionEvent.ACTION_DOWN){ ((ImageButton)v).setImageDrawable(getResources().getDrawable(R.drawable.android_btn_pressed)); }else if(event.getAction() == MotionEvent.ACTION_UP){ ((ImageButton)v).setImageDrawable(getResources().getDrawable(R.drawable.android_btn)); } return false; } }); |
方法2:配置xml文件 步骤1:在Layout下增加一个image_btn_press.xml文件 <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas./apk/res/android"> <item android:state_pressed="false" android:drawable="@drawable/android_btn" /> <item android:state_focused="true" android:drawable="@drawable/android_btn" /> <item android:state_pressed="true" android:drawable="@drawable/android_btn_pressed" /> </selector> |
步骤2:在main.xml中设置图片按钮的属性,装上面的xml文件增加到图片按钮中 <ImageButton android:id="@+id/imageButton2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@layout/image_btn_press" /> |
需要特别注意的是:在ImageButton中,如果使用XML配置文件来设置图片的效果的话,就不要再指定它的android:src=""属性值了,否则图片的按下效果就出不来了。
|