最近在做一個(gè)app的登陸界面,,才發(fā)現(xiàn)原來認(rèn)為很簡(jiǎn)單的UI效果,其實(shí)背后卻蘊(yùn)含的知識(shí)很多,,積累一個(gè)算一個(gè)吧,。 實(shí)現(xiàn)方法有兩種:一種是添加代碼,,一種是配置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下增加一個(gè)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中設(shè)置圖片按鈕的屬性,,裝上面的xml文件增加到圖片按鈕中 <ImageButton android:id="@+id/imageButton2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@layout/image_btn_press" /> |
需要特別注意的是:在ImageButton中,如果使用XML配置文件來設(shè)置圖片的效果的話,,就不要再指定它的android:src=""屬性值了,,否則圖片的按下效果就出不來了。
|