2014-04-07 127 views
0

我做了一个按钮的样式,以“粗体”的方式看到。 但当我使用setEnabled(false)setClickable(false)它使按钮被禁用,但我不能看到它,因为我使用的风格,所以当我使用时如何使按钮更像“进入”(就好像它被点击)设置启用(false)?样式和按钮

代码:

signin.setClickable(false); 
signin.setEnabled(false); 

我不想放弃的风格,但修改它,但我不知道怎么办。

风格:

<style name="btnStyleShakespeare" parent="@android:style/Widget.Button"> 
    <item name="android:textSize">15sp</item> 
    <item name="android:textStyle">bold</item> 
    <item name="android:textColor">#FFFFFF</item> 
    <item name="android:gravity">center</item> 
    <item name="android:shadowColor">#000000</item> 
    <item name="android:shadowDx">1</item> 
    <item name="android:shadowDy">1</item> 
    <item name="android:shadowRadius">0.6</item> 
    <item name="android:background">@drawable/custom_btn_shakespeare</item> 
    <item name="android:padding">10dip</item> 

感谢您的帮助。

+0

展现你的风格的代码。 –

回答

1

在res \ color中创建另一个名为类似text_color.xml的XML文件。

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <!-- disabled state --> 
    <item android:state_enabled="false" android:color="#000000" /> 
    <item android:color="#FFFFFF"/> 
</selector> 

在你style.xml,更换

<item name="android:textColor">#FFFFFF</item> 

<item name="android:textColor">@color/text_color</item> 
1

您需要使用将被设置为您的按钮背景自定义选择列表。
喜欢的东西: btnSelector.xml/drawable

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <!-- when button is pressed (touched/clicked) --> 
    <item android:drawable="@drawable/button_selected" android:state_selected="true" /> 
    <!-- When button is disabled, i.e clickable and enabled is set to false --> 
    <item android:drawable="@drawable/button_disabled" android:state_enabled="false"/> 
     <!-- Default, when button is clickable --> 
    <item android:drawable="@drawable/button_normal" android:state_enabled="true" /> 
</selector> 

,你将有各3个不同的可绘制的点击/按下状态,禁用状态和正常状态。
然后在您的自定义样式的变化:

@绘制/ btnSelector.xml