2014-04-07 183 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