android > 按钮Button 按下效果

************** 按下 更改 背景颜色 ********************

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:state_pressed="true"   android:drawable="@drawable/btn_corner_white"  />
    <item android:state_focused="true" android:drawable="@drawable/btn_corner_white"  />

    <item>
        <shape>
            <solid android:color="#CE0525"/><!--可以作为整个背景的颜色-->
            <corners android:radius="3px" />
        </shape>
    </item>

</selector>

*************** 带图片的  *******

先是准备 背景素材,命名规则为

***_normal.9.png   正常状况

***_pressed.9.png   按下状况

附近附带若干窗口图片

然后 drawable 新建 样式 xml 

btn_style_alert_dialog_button.xml

<?xml version="1.0" encoding="utf-8"?>
<selector
  xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true" android:drawable="@drawable/btn_style_alert_dialog_special_pressed" />
    <item android:drawable="@drawable/btn_style_alert_dialog_special_normal" />
</selector>

可圆角样式

<?xml version="1.0" encoding="utf-8"?>
<selector
  xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true" >
       <shape>   
			<gradient android:angle="270" android:endColor="#99BD4C" android:startColor="#A5D245" />     
			<corners android:radius="8dp" />   
		</shape> 
    </item>
    <item>
       <shape>   
			<gradient android:angle="270" android:endColor="#99BD4C" android:startColor="#A5D245" />   
			<corners android:radius="8dp" />   
		</shape> 
    </item>
</selector>

  

<?xml version="1.0" encoding="utf-8"?>
<selector
  xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true" >
       <shape>   
			<gradient android:angle="0" android:endColor="@color/self_dark" android:startColor="@color/self_dark" />     
			<corners android:radius="8dp" />   
		</shape> 
    </item>
    <item>
       <shape>   
			<gradient android:angle="0" android:endColor="@color/self_dark_light" android:startColor="@color/self_dark_light" />   
			<corners android:radius="8dp" />   
		</shape> 
    </item>
</selector>

如果要增加边框 在 shape 里 加 <stroke android:width="1.0dip" android:color="@color/self_dark" />  

其中@color 在res/values/strings.xml

    <color name="self_dark">#2D3238</color>
    <color name="self_dark_light">#3C4049</color>

然后在 Button 中的background 中 加载 样式

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <Button
        android:id="@+id/btn_take_photo"
        android:layout_marginLeft="20dip"
        android:layout_marginRight="20dip"
        android:layout_marginTop="20dip"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="拍照"
        android:background="@drawable/btn_style_alert_dialog_button"
        android:textStyle="bold"
         />    

    
    
</LinearLayout>



 

**  android 按钮按下时改变字体颜色

1.新建 drawable/button_font_style.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:color="#fff"/>
<item android:color="#000" />
</selector>

2.添加至需要的xml里

<android:textColor="@drawable/button_font_style">

猜你喜欢

转载自mft.iteye.com/blog/1775820