款式和纽扣

时间:2014-04-07 11:31:43

标签: android android-button android-styles

我已经为按钮的样式以“粗体”的方式显示。 但是当我使用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>

感谢您的帮助。

2 个答案:

答案 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