2010-07-12 8 views
2

J'ai frappé un mur de briques sur un élément de l'interface utilisateur en ce qui concerne les applications sur les téléphones de détection. J'ai été incapable de créer des requêtes de recherche sur google ou SO pour trouver une référence à ce que je cherche.Thème application Android sur les téléphones Sense

Est-il possible que je puisse avoir mon thème de l'application de ses styles d'interface utilisateur pour correspondre au style actuellement appliqué au téléphone? Je suis fondamentalement après les styles pour les différents widgets de l'interface utilisateur (cases à cocher, spinner, bouton, etc).

I ont une myTouch 3G Slide qui exécute la variante Espresso de HTC Sense.

Mise à jour: (Merci @Macarse pour la pointe)

En tant que clarification que je tente d'obtenir ma chute de spinner vers le bas, cases à cocher, boutons, etc.) pour suivre le thème Sense qui est actuellement appliqué sur la téléphone. À l'heure actuelle, je l'ai fait ce qui suit sans succès:

J'ai créé un res/valeurs/fichier styles.xml avec le contenu suivant:

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <style name="Theme" parent="@android:style/Theme"></style> 
</resources> 

Cela n'a malheureusement pas fait le succès soit des éléments suivants avec le AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
     package="com.division6.pwgenapp" 
     android:versionCode="1" 
     android:versionName="1.0"> 
    <application android:icon="@drawable/icon" android:label="@string/app_name" android:theme="@style/Theme"> 
    ... 
    </application> 
    <uses-sdk android:minSdkVersion="7" /> 
</manifest> 

Ou

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
     package="com.division6.pwgenapp" 
     android:versionCode="1" 
     android:versionName="1.0"> 
    <application android:icon="@drawable/icon" android:label="@string/app_name" android:theme="@android:style/Theme"> 
    ... 
    </application> 
    <uses-sdk android:minSdkVersion="7" /> 
</manifest> 

maintenant, si je l'utilise quelque chose comme @android: style/Theme.Light, l'application dans son ensemble prend le thème de la lumière. Ce que j'essaie de comprendre, c'est s'il y a une forme de référence qui me permettrait de refaire le thème appliqué au système.

Merci encore pour les commentaires. J'ai fait un peu de recherche dans l'un des thèmes disponibles pour le Slide et j'ai remarqué que les thèmes qu'ils proposaient étaient exclusivement pour les widgets HTC Sense/Rosie. En conséquence, je suis plus ou moins incapable de faire référence à ces paramètres sans me lier à l'ensemble de widgets Rosie (qui est une exclusivité HTC).

Merci à tous pour votre consultation et vos commentaires.

Répondre

1

Oui, vous pouvez utiliser inheritance dans vos styles.

Vérifier Applying Styles and Themes.

+0

Je l'ai regardé et peut-être que je manque juste quelque chose (j'ai tendance à négliger les choses supporter ainsi de moi). J'ai créé un res/values ​​/ styles.xml et j'ai mis un thème avec le parent de @android: style/Theme. Malheureusement, cela semble prendre le thème du système par défaut Android. Y a-t-il un moyen de référencer le thème actuellement appliqué? –

+0

@Dave G: S'il vous plaît modifier votre question en ajoutant une sorte d'exemple avec du code. Quelque chose comme: Je veux que 'MyVeryOwnProgressBar' ressemble au HTC Sense, j'ai utilisé ce style mais ça ne semble pas très bien. :) – Macarse

1

HTC Sense jusqu'à je sais que ce n'est pas ouvert, donc vous ne serez pas en mesure d'obtenir et de remplacer leur thème par défaut.

+0

Ce n'est pas un problème. Bien que HTC Sense ne soit pas ouvert, ils devraient avoir modifié le style par défaut de l'Android pour que votre application ait le même aspect et soit la même que le reste des applications. Hériter du style et modifier ce dont vous avez besoin devrait faire l'affaire. – Macarse

+3

En fait, sauf pour les thèmes très simples et prudents, il est bon qu'ils ne changent pas le comportement des applications régulières, sinon il est tout à fait possible pour eux aussi de casser des applications. Je recommande vivement aux développeurs de ne pas essayer de modifier leurs applications pour qu'elles correspondent à la conception de l'interface utilisateur de l'appareil sur lequel elles s'exécutent ... utilisez l'interface utilisateur standard, quelle qu'elle soit pour l'appareil. avec toutes les autres applications tierces. – hackbod

+0

@hackbod - c'est ce que j'essayais de faire. Essentiellement, j'avais l'impression que mes widgets ne prenaient pas le thème appliqué au système alors qu'en fait le thème était uniquement appliqué aux widgets Rosie (Sense) et non appliqué aux widgets standard. –

Questions connexes