2010-09-21 10 views
15

Comment créer un thème personnalisé et l'utiliser dans le code? dans le menu comment mettre en œuvre l'option de thème et postuler pour l'activité?comment créer un thème personnalisé et l'utiliser dans l'application android

des idées?

+0

vérifier mon post: http://stackoverflow.com/questions/2613101/themes-in-android – Praveen

+0

Jetez un oeil à [ce] (http://www.androidengineer.com/2010/06/ using-themes-in-android-applications.html) post. Probablement c'est ce que vous cherchez. – orchidrudra

Répondre

2

This est un site parfait qui crée tous les fichiers nécessaires dont vous avez besoin pour créer une interface utilisateur personnalisée. Je l'ai utilisé personnellement il y a quelques semaines et ça a très bien fonctionné pour moi.

Je n'ai aucune affiliation avec ce site mais je l'ai trouvé très intéressant. J'espère que cela peut vous aider :)

12

Il ya un joli Styles and Themes guide sur le site des développeurs android. Fondamentalement ce que vous devez faire est

  1. Define a style (ou en hériter un intégré). Pour définir un style

enregistrer un fichier XML dans le répertoire res/values/ de votre projet. Le nom du fichier XML est arbitraire, mais il doit utiliser l'extension .xml et être enregistré dans le dossier res/values/. Le noeud racine du fichier XML doit correspondre à <resources>.

Pour chaque style que vous souhaitez créer, ajoutez un élément au fichier avec un nom qui identifie le style de manière unique (cet attribut est requis).

à savoir

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <style name="Theme.MyGreenTheme" parent="Theme.Light"> 
     <item name="android:windowBackground">#11aa22</item> 
    </style> 
</resources> 

Il est utile de nommer le fichier de ressources themes.xml il est donc plus facile de reconnaître ce que ces styles sont utilisés.

  1. Apply le style défini à l'activité ou la vue que vous voulez stylisé. Vous pouvez

    • définir le thème Activité/Application dans le fichier manifeste:

    <activity android:theme="@style/Theme.MyGreenTheme"/>

    • ou définir dynamiquement - utiliser le dispositif de réglage correspondant de la classe d'activité - setTheme().
0

vous pouvez ajouter votre style basé sur le style par défaut en ajouter "parent".

<style name="DrawerArrowStyle" parent="Widget.AppCompat.DrawerArrowToggle"> 
    <item name="color">#fff</item> 
</style> 

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> 
    <item name="colorPrimary">@color/colorPrimary</item> 
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item> 
    <item name="colorAccent">@color/colorHitam</item> 
    <item name="drawerArrowStyle">@style/DrawerArrowStyle</item> 
    <item name="android:textColorSecondary">#fff</item> 
    <item name="android:textAllCaps">false</item> 
    <item name="android:actionOverflowButtonStyle">@style/OverFlow</item> 
</style> 

<style name="OverFlow" parent="@android:style/Widget.Holo.ActionButton.Overflow"> 
    <item name="android:src">@drawable/ic_login_2</item> 
</style> 

<style name="MasukDaftar" parent="Theme.AppCompat.Light.DarkActionBar"> 
    <item name="colorPrimary">@color/colorPrimary</item> 
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item> 
    <item name="colorAccent">@color/colorHitam</item> 
    <item name="drawerArrowStyle">@style/DrawerArrowStyle</item> 
    <item name="android:textColorSecondary">@color/colorHitam</item> 
    <item name="android:textAllCaps">false</item> 
</style> 

<style name="SplassScreenCustom" parent="Theme.AppCompat.NoActionBar"/> 

<style name="AppTheme.Dark.Dialog" parent="Theme.AppCompat.Dialog"> 
    <item name="colorAccent">#fff</item> 
    <item name="android:textColorPrimary">@color/colorHitam</item> 
    <item name="colorPrimaryDark">@color/colorHitam</item> 
    <item name="android:background">@color/colorPrimary</item> 
    <item name="android:textColorSecondary">@color/colorHitam</item> 
    <item name="android:textAllCaps">false</item> 
</style> 

<style name="TabLayoutTextStyle"> 
    <item name="android:textStyle">bold</item> 
    <item name="android:textSize">16sp</item> 
    <item name="android:textAllCaps">false</item> 
    <item name="android:textColor">#fff</item> 
</style> 

<style name="Toolbar" parent="Theme.AppCompat"> 
    <item name="colorPrimary">@color/colorPrimary</item> 
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item> 
    <item name="colorAccent">@color/colorAccent</item> 
</style> 

<style name="AppCompatAlertDialogStyle" parent="Theme.AppCompat.Light.Dialog.Alert"> 
    <item name="colorAccent">@color/colorPrimary</item> 
    <item name="android:textColorPrimary">@color/colorHitam</item> 
</style>