2012-08-02 14 views
5

Todo lo que quiero hacer es cambiar el color de acento de mi aplicación de Android, pero me está costando trabajo encontrar la manera de hacerlo. El predeterminado para Android ahora es azul, pero quiero que sea naranja.Cómo cambiar el color de acento de mi aplicación de Android de azul a algo más

Por acento de color, quiero decir el acento de pestañas de navegación, el color que resalta cuando se pulse listas, el acento de color en los cuadros de diálogo pop-up, etc.

estoy usando ActionBarSherlock si lo que importa.

Aquí hay una imagen. Me gustaría cambiar el color de ese acento azul en toda la aplicación: enter image description here

Respuesta

2

Vas a querer utilizar las listas de diseño de estado.

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

Puede que tenga que hacer uno de estos para cada uno de los widgets que va a tener un nuevo color seleccionado por defecto.

+0

No quiero hacer nuevos colores seleccionados, he usado ese tipo de herramienta para crear botones personalizados. Pero solo quiero cambiar el color de acento, Permítanme agregar una captura de pantalla a mi pregunta para explicar mejor – jacosta

+0

@ user1519069 Pruebe esto: https://groups.google.com/forum/#!topic/actionbarsherlock/qej6FbZPnAI – Michael

+0

Parece que esa persona estaba tratando de hacer lo que yo quería, pero nunca se resolvió – jacosta

2

Ha pasado algún tiempo desde que hizo esta pregunta, pero ahora que Google ha lanzado una nueva versión de AppCompat puede hacer lo que quiere lograr de manera bastante simple. La respuesta que te doy está inspirada en android developer blog support library 2.2.1.

  1. añadir la biblioteca de apoyo a su proyecto (estoy asumiendo que usted está utilizando Android Studio).

    Para eso agregue estas líneas al archivo app.graddle (suponiendo que su módulo se llame app).

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

  1. para fijar el tema de la aplicación

    Estas líneas se van a añadir a su archivo styles.xml. Como puede ver, hay algunos artículos en este estilo. Si quiere saber a qué elemento corresponden, vaya al customize android status bar with material.

    colorAccent es el color que desea cambiar en primer lugar.

    <!-- 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> 
    

    También tendrá que configurar su tema de la aplicación en el Android manifestar

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

  1. Cambio De Activity/ActionBarActivity a AppCompatActivity en sus clases.

    public class MainActivity extends AppCompatActivity 
    { 
        .... 
    } 
    

    es probable que tenga que cambiar algunos métodos debido a la AppCompatActivity.Mira el video en el primer link para entender mejor que :)


  1. Cambiar los widgets para los AppCompat

    <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à! Ya está todo listo :) Ahora puede cambiar fácilmente el color de Accent.

Cuestiones relacionadas