ImageButton按下效果设计

使用 Button 时为了让用户有“按下”的效果,有两种实现方式:

 1.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;     
                        }     
                });   

 

 2.XML实现:

 

<?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>    
  
<?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>  

 

这个文件放在 drawable 目录下面。命名为 button_add_x.xml,使用方法如下:

 

<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>    
<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> 

 

posted @ 2011-12-26 16:17  Hecker385  阅读(2269)  评论(0编辑  收藏  举报