2016-10-27 5 views
0

Ich bin neu auf Android-Entwicklung. Ich mache ein Programm, und ich möchte den Button-Stil ändern, und ich kann das tun.Android-Stile erlaubt keine Farben

hier das Bild über das, was die Schaltfläche Stil empfehlen: enter image description here

, wie Sie sehen, es ist glatt und schön! Aber wenn ich die Farbe des Knopfes (mit einem Stil) ändern möchte, habe ich ein Problem! : enter image description here

wie kann ich den stil (taste farbe) ändern und halten die taste glatt und gut aussehend?

+0

dies kann Ihnen helfen, http://stackoverflow.com/questions/26519979/coloring-buttons-in-android-with-material-design-and-appcompat –

+1

Sie Ihre benutzerdefinierten Stil ähnlich der Basis erstellen müssen Stil. und addiere Hintergrundfarbe als Schwarz – Manishika

Antwort

3

Verwenden Stil als Thema

<Button 
    style="@style/black_button_style/> 
+0

danke! aber ich habe noch eine Frage, kann ich Stile wie Array hinzufügen? Ich meine, ich habe 10 Materialfarben und ich möchte 10 Stil mit diesen Farben hinzufügen, kann ich Stil wie Array hinzufügen? –

+0

Array wie in ?? Ich habe deine Frage nicht bekommen. Möchten Sie verschiedene Stile in einem hinzufügen? – Manishika

+0

Nein, ich meine, wenn wir so viele Elemente hinzufügen wollen, benutzen wir Array, zum Beispiel so: double [] myList = {1.9, 2.9, 3.4, 3.5}; Jetzt möchte ich viele Farben als Stil festlegen, kann ich Array verwenden? –

0

die Hintergrundfarbe ändern entfernt das Design-Stil Standardmaterial, sollten Sie stattdessen Ihren eigenen Stil für diese Schaltfläche mit Mutter Thema Widget.AppCompat.Button.Colored erstellen:

<!--fix to keep material design for buttons and add background color--> 
    <style name="blackButton" parent="Widget.AppCompat.Button.Colored"> 
     <item name="colorButtonNormal">@color/colorBlack</item> 
    </style> 

und als Anwendung dieses Thema Taste android:theme="@style/blackButton"

+0

Bevor du meine Frage beantwortest, habe ich die accentColor (im Editor) geändert, aber als ich deine Antwort gesehen habe, habe ich deine Texte hinzugefügt, aber es hat nicht funktioniert! –

0

Erstellen Sie einen Stil, der den Standardschaltflächenstil erweitert und eine Hintergrundfarbe festlegt. In styles.xml

<style name="black_button_style" 
     parent="Base.Widget.AppCompat.Button.Colored"> 
      <item name="android:layout_width">match_parent</item> 
      <item name="android:layout_height">wrap_content</item> 
      <item name="android:typeface">sans</item> 
      <item name="android:background">#000000</item> 
</style> 

in Ihrer XML-Aktivität.

<Button 
    android:id="@+id/btnPlayVideo" 
    android:text="Play Video" 
    style="@style/App.Button.Style"/> 
+0

Ich tat das, aber es gab mir das gleiche Ergebnis (dasselbe Ergebnis meinen mein zweites Bild in meiner Frage) –

+0

können Sie mir ein Code-Snippet zur Verfügung stellen, das Sie wie nach Bild verwenden, müssen Sie nicht sowohl Stil und Farbe geben. –

0

diesen Code in styles.xml hinzufügen

<resources> 
<style name="App.Button.Style" parent="Base.Widget.AppCompat.Button.Colored"> 
     <item name="android:layout_width">match_parent</item> 
     <item name="android:layout_height">wrap_content</item> 
     <item name="android:background">@color/red</item> 
     <item name="android:textColor">@android:color/white</item> 
    </style> 
</resources> 

Und Ihre Schaltfläche Stil ändern:

<Button 
     android:text="Button" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/button" 
     android:textColor="@android:color/white" 
     android:theme="@style/blackButton" 
    /> 

Und fügen Sie diesen Stil in Ihre styles.xml

<style name="blackButton" parent="Widget.AppCompat.Button.Colored"> 
     <item name="colorButtonNormal">@android:color/black</item> 
     <item name="colorControlHighlight">@color/colorAccent</item> 
    </style> 
+0

Es funktioniert nicht. Das ist das Ergebnis: https://i.stack.imgur.com/ecKLQ.png –

Verwandte Themen