如何在单击按钮状态时设置背景,文字颜色和边角?

问题描述:

这里是我的action_btn_state绘制如何在单击按钮状态时设置背景,文字颜色和边角?

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
<item android:state_pressed="true" 
    android:drawable="@color/colorAccent" 
    android:color="@color/white"> 
    <shape> 
     <stroke 
      android:width="1dp" 
      android:color="@color/action_btn_border" /> 
     <corners 
      android:radius="3dp" /> 
    </shape> 

</item> 

<item android:state_focused="true" 
    android:drawable="@color/colorAccent" 
    android:color="@color/white"> 
    <shape> 
     <stroke 
      android:width="1dp" 
      android:color="@color/action_btn_border" /> 
     <corners 
      android:radius="3dp" /> 
    </shape> 
</item> 

<item 
    android:drawable="@null" 
    android:color="@color/colorAccent" > 
    <shape> 
     <stroke 
      android:width="1dp" 
      android:color="@color/action_btn_border" /> 
     <corners 
      android:radius="3dp" /> 
    </shape> 

</item> 

这是我的布局

<Button 
      android:layout_width="70sp" 
      android:layout_height="30sp" 
      android:layout_marginRight="8sp" 
      android:padding="0sp" 
      android:layout_gravity="center" 
      android:textColor="@color/msg_item_action_btn" 
      android:background="@drawable/action_btn_state" 
      android:text="Like"/> 

,这里是我的输出,我采取的截图时,第一个按钮是clicked.As你可以看到它没有圆角,颜色不会变成白色,而默认阴影即将到来,我不想要。任何人都可以帮助我如何实现这一目标。

enter image description here

您应该使用一个选择你的按钮等按压,突出重点,...在单独的XML文件状态的不同状态,并将其设置为你的背景按钮 这里是一个选择的样本代码按钮:

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:drawable="@drawable/action_btn_state" /> 
    <item android:state_pressed="true"android:drawable="@drawable/action_selected"/> 
</selector> 

您可以使用圆形和颜色定义另一个用于按下状态的xml文件,并在此选择器中进行设置。