77 votes

Comment utiliser Holo.La lumière du thème et de revenir à la "Lumière" sur la pré-nid d'appareils?

Je voudrais utiliser l' Holo.Light thème sur les périphériques qui prennent en charge, et de revenir à la régulière, Light thème sur d'autres appareils.

Pour l'instant, le référencement Holo.Light fonctionne très bien sur les 3.0+, mais les anciennes Api simplement revenir à la valeur par défaut de 'noir' thème. Puis-je obtenir ce que je veux avec le style de l'héritage?

182voto

Aracem Points 3331

Vous devez créer un thème personnalisé et l'enregistrer dans certains répertoires enfin ce thème comme celui par défaut de l'application

Tout d'abord, dans les valeurs ajouter un themes.xml comme ceci:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="MyAppTheme" parent="@android:style/Theme.Light.NoTitleBar">
        <!-- Any customizations for your app running on pre-3.0 devices here -->
    </style>
</resources> 

Ensuite, créez un répertoire avec le nom "valeurs-v11" (Android 3.0+ ) dans le répertoire res et de mettre un themes.xml comme ceci

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="MyAppTheme" parent="@android:style/Theme.Holo.Light">
        <!-- Any customizations for your app running on 3.0+ devices here -->
    </style>
</resources>

Enfin, créer un répertoire avec le nom "valeurs-v14" (Android 4.0+) dans le répertoire res et de créer un themes.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="MyAppTheme" parent="@android:style/Theme.DeviceDefault.Light.NoActionBar">
        <!-- Any customizations for your app running on 4.0+ devices here -->
    </style>
</resources>

Avec le DeviceDefault votre application toujours un look parfait dans n'importe quel périphérique de toute société (HTC, Samsung ... ) qui ajoutent créé des thèmes personnalisés pour Android 4

EDIT: Samsung interface (TouchWiz) ne pas respecter cette fonctionnalité et les applications seront très moche sur Samsung appareils. Son meilleur Holo thème :(

Enfin dans votre manifest.xml

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

0voto

Denizen Points 115

Vous pouvez également simplement mettre le fond blanc, puis passez à travers et de faire tous vos autres widgets noir, comme ceci:

<LinearLayout 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:background="#ffffff"
    android:orientation="vertical" >

<TextView
    android:id="@+id/tvText"
    android:text="@string/text"
    **android:textColor="#000000"
    android:textSize="12dp" />

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X