我已经为按钮的样式以“粗体”的方式显示。
但是当我使用setEnabled(false)
和setClickable(false)
时,它会禁用按钮,但我无法看到它,因为我正在使用样式,所以我怎样才能使按钮更像“进入”(就像它被点击)当我使用set Enable(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 :(得分: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