2016-05-15 17 views
0

Guten Tag.Ändern der Tastenfarbe durch Ändern der Tastenart

Ich habe versucht, die Farbe der Schaltfläche zu ändern, da ich nicht möchte, dass es die Akzentfarbe ist. Daher habe ich versucht, den Button-Stil zu ändern. Unten ist mein Code:

<android.support.v7.widget.AppCompatButton 
    android:id="@+id/enterButton" 
    android:layout_width="200dp" 
    android:layout_height="48dp" 
    android:layout_marginTop="50dp" 
    android:layout_gravity="center" 
    android:text="@string/enter_button" 
    android:textSize="@dimen/sohere_font_small" 
    style="@style/NewButtonStyle" 
    android:enabled="true"/> 

    <style name="NewButtonStyle" parent="Widget.AppCompat.Button.Colored"> 
    <item name="colorButtonNormal">@drawable/selector_button_color</item> 
    <item name="android:textColor">@drawable/selector_button_text_color</item> 
    <item name="colorAccent">@color/primary_color</item> 
</style> 

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_enabled="true" 
     android:color="@color/primary_color" /> 
    <item 
     android:state_enabled="false" 
     android:color="@color/default_disabled_button_colour" /> 
</selector> 

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_enabled="true" 
     android:color="@color/white_color" /> 
    <item 
     android:state_enabled="false" 
     android:color="@color/default_hint_text_color" /> 
</selector> 

jedoch die Taste Farbe ändert sich nicht, bis ich meinen Code ändern:

<android.support.v7.widget.AppCompatButton 
    android:id="@+id/enterButton" 
    android:layout_width="200dp" 
    android:layout_height="48dp" 
    android:layout_marginTop="50dp" 
    android:layout_gravity="center" 
    android:text="@string/enter_button" 
    android:textSize="@dimen/sohere_font_small" 
    **android:theme="@style/NewButtonStyle"** 
    android:enabled="true"/> 

Gibt es eine Möglichkeit, die Schaltfläche Farbe ändern, indem Sie auf die Schaltfläche Stil ändern kann Thema?

Bitte um Rat.

Antwort

0

für den Button Styling können Sie diese verwenden:

Zum ziehbar Ordner und eine xml machen (zB button.xml) Datei namens Stil, die Folgendes enthält:

<?xml version="1.0" encoding="utf-8"?> 

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 

    <item> 
     <shape> 
      <gradient android:startColor="#449def" android:endColor="#2f6699" android:angle="270" /> 
      <stroke android:width="1px"   android:color="#000000" /> 
       <corners android:bottomLeftRadius="0dp" 
       android:bottomRightRadius="0dp" 
       android:topLeftRadius="8dp" 
       android:topRightRadius="8dp"/>  
       <padding android:left="10dp" android:top="10dp" android:right="10dp" android:bottom="10dp" /> 
     </shape> 
    </item> 

</selector> 

Das ist mein Code können Sie die notwendigen Änderungen, die Sie

es wollen machen

Jetzt in Ihrem Layout xml nennen (mainactivity.xml) wie folgt

android:background="@drawable/button.xml" 

nun die Schriftfarbe und die Art zu ändern, können Sie die folgende verwenden, die

<style name="buttonStyle" parent="@android:style/Widget.Button.Small"> 
    <item name="android:textColor">#FFFFFF</item> 
    <item name="android:textSize">12sp</item> 
    <item name="android:textStyle">bold</item> 
</style> 

Jetzt nennen dies im Layout XML (mainactivity.xml) im Werte Ordner als Teil des styles.xml kommt wie folgt

style="@style/buttonStyle" 

Der letzte Code ist:

<Button 
android:layout_width="match_parent" 
android:layout_height="wrap_content" 
android:layout_marginTop="15dp" 
android:text="@string/edit" 
android:id="@+id/btnEdit" 
android:background="@drawable/button.xml" 
style="@style/buttonStyle" 
/> 

this helps :)

Verwandte Themen