2012-08-02 8 views
5

Alles, was ich tun möchte, ist die Akzentfarbe meiner Android App zu ändern, aber ich habe eine harte Zeit herauszufinden, wie man das macht. Der Standard für Android ist jetzt blau, aber ich möchte es orange machen.Wie ändere ich die Akzentfarbe auf meiner Android App von Blau zu etwas anderem

Durch Akzentfarbe, meine ich den Akzent von Navigations-Registerkarten, die Farbe, die hervorhebt, wenn Sie Trefferlisten, die Akzentfarbe in Pop-up-Dialoge usw.

ich ActionBarSherlock bin mit wenn es ankommt.

Hier ist ein Bild. Ich möchte die Farbe dieses blauen Akzents in der gesamten App ändern: enter image description here

Antwort

2

Sie werden die Statuslayoutlisten verwenden wollen.

http://developer.android.com/reference/android/content/res/ColorStateList.html

Sie könnten einer von ihnen für jedes der Widgets machen müssen, die einen neuen Standard ausgewählte Farbe haben wird.

+0

Ich möchte keine neuen ausgewählten Farben erstellen, ich habe diese Art von Werkzeug zum Erstellen von benutzerdefinierten Schaltflächen verwendet. Aber ich möchte nur die Akzentfarbe ändern, Lassen Sie mich einen Screenshot zu meiner Frage hinzufügen, um besser zu erklären – jacosta

+0

@ user1519069 Versuchen Sie Folgendes: https://groups.google.com/forum/#!topic/actionbarsherlock/qej6FbZPnAI – Michael

+0

Sieht aus wie diese Person Ich versuchte zu tun, was ich wollte, aber es wurde nie gelöst. – jacosta

2

Es ist eine Weile her, dass Sie diese Frage gestellt haben, aber jetzt, da Google eine neue AppCompat-Version veröffentlicht hat, können Sie ganz einfach das tun, was Sie erreichen wollen. Die Antwort, die ich dir gebe, ist inspiriert von android developer blog support library 2.2.1.

  1. die Support-Bibliothek zu einem Projekt hinzufügen (ich Sie gehe davon verwenden Android Studio).

    Dazu fügen Sie diese Zeilen in die Datei app.graddle (vorausgesetzt, Ihr Modul heißt app).

    dependencies { 
        compile 'com.android.support:appcompat-v7:22.2.0' 
    } 
    

  1. Set das Thema Ihrer Anwendung

    Diese Linien sind auf Ihre styles.xml Datei hinzugefügt werden. Wie Sie sehen können, gibt es ein paar Elemente in diesem Stil. Wenn Sie wissen möchten, welches Element sie entsprechen, überprüfen Sie customize android status bar with material.

    colorAccent ist die Farbe, die Sie in erster Linie ändern möchten.

    <!-- Base application theme. --> 
    <style name="AppTheme" parent="Theme.AppCompat"> 
        <item name="colorPrimary">@color/primary</item> 
        <item name="colorPrimaryDark">@color/primaryDark</item> 
        <item name="colorAccent">@color/accent</item> 
        <item name="android:textColorPrimary">@color/textColorPrimary</item> 
        <item name="android:windowBackground">@color/windowBackground</item> 
        <item name="android:navigationBarColor">@color/navigationBarColor</item> 
    </style> 
    

    Sie müssen auch Ihre Anwendung Thema im Android setzen Manifest

    <application 
        android:theme="@style/AppTheme" > 
    
        ... 
    
    </application> 
    

  1. ändern Von Activity/ActionBarActivity zu AppCompatActivity in Ihren Klassen.

    Sie müssen wahrscheinlich einige Methoden aufgrund der AppCompatActivity ändern.Schauen Sie sich das Video in den ersten Link, besser zu verstehen, dass :)


  1. Ändern Sie Ihre Widgets zu den AppCompat diejenigen

    <LineareLayout 
        xmlns:android="http://schemas.android.com/apk/res/android" 
        xmlns:tools="http://schemas.android.com/tools" 
        android:layout_width="match_parent" 
        android:layout_height="match_parent"> 
    
        <android.support.v7.widget.AppCompatTextView 
         android:id="@+id/text" 
         android:text="@string/hello_world" 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" /> 
    
        <android.support.v7.widget.AppCompatButton 
         android:id="@+id/btn_start" 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:text="@string/btn_start" /> 
    
    </RelativeLayout> 
    

Et voilà! Das war's, du bist fertig :) Du kannst jetzt die Akzentfarbe einfach ändern.