La plaque chauffante que Android Studio génère crée un style qui étend Comment cela se passe-t-il? Où est défini la barre? Il n'est nulle part dans les mises en page. P> theme.appcompapat.light.darkactionbar code>. En quelque sorte, cela ajoute une barre d'action / une barre d'outils en haut de toutes mes activités. P>
3 Réponses :
Ceci est défini dans les styles XML. Votre Apptheme s'étend de celui-ci. Si vous voulez que ce soit parti, vous pouvez étendre un autre style par exemple theme.appcompat.light.noactionbar P>
Mais comment pouvez-vous définir une barre d'action à partir de styles.xml? Cela ne devrait-il pas être dans une licence.xml?
Vous créez un fichier Menu.xml dans le RES et utilisez le rappel de l'OncreateOptionsMenu dans l'activité pour le gonfler.
Il est possible de le définir dans votre mise en page, mais vous devez ensuite utiliser une barre d'outils et définir cela comme la barre d'action dans Oncreate avec la méthode SetsuppPortageBar, mais je recommande le menu ONCRATEOPTIONS si vous n'avez pas besoin de personnaliser beaucoup.
Je sais comment le définir du code. Ma question est de savoir comment cela est placé à mon avis et affiché dans l'éditeur de studio Android sans aucun de ce code en cours d'exécution et en ajoutant un thème?
Je voudrais vérifier les références / appelez la hiérarchie sur le rappel de l'OncreateOptionsMenu et regardez dans le cadre Android si vous voulez le savoir. Je ne suis pas sûr quand et comment Android cela. Pourquoi avez-vous même besoin de savoir cela?
Je ne veux pas dire comment le cadre Android fait cela, mais comment importer un seul thème tel que AppCompat de faire cela à ma mise en page. Je pensais que les composants de l'interface utilisateur doivent être déclarés dans layout.xml ou être ajouté via le code. Mais puisque le code n'a pas encore été exécuté et que je n'ai pas ajouté manuellement le bar de l'application moi-même, comment est-ce visible du studio Android. Pouvez-vous définir des composants ui dans styles.xml?
> Pouvez-vous définir des composants ui dans styles.xml? Partiellement, je vais mettre à jour mon exemple de code.
Studio Android gonfle des vues personnalisées ou des groupes de spectacles qu'ils ont déjà définis, la plupart d'entre eux, vous ne pouvez pas voir car ce sont des cours privés.
Voici un exemple de la façon dont vous le feriez dans le code. p> puis vous définissez un styleable dans l'application app / src / src / res / valeurs / extr.xml code> p>
<TextView
android:id="@+id/hello"
android:text="@string/greeting"/>
"La barre est définie dans un style android déjà généré", c'est exactement ma question, comment est le style.xml ajoutant un bar à mon activité ... Je sais comment le supprimer, merci.
Sa gonflée par Android automatiquement et peuplée. Dans le cadre du processus de construction Android génère des classes r, ainsi que des tirettes dans des composants de style que leur bibliothèque AppCompat utilise. Cela peut inclure des vues personnalisées ou des groupes de spectacles qui ne sont visibles que pour Android (c'est-à-dire des classes privées). Certains du code que vous ne pouvez pas voir, mais si vous voulez une approximation étroite pour ce qui se passe en jeu avec la nouvelle classe de la barre d'outils AppCompat.
La dernière modification commence à gagner plus de sens :) Mais je ne suis toujours pas clair sur quelque chose, dans votre exemple, je devrais ajouter
Oui, mais c'est le même principe. Ajout
A également mis à jour la réponse une dernière fois illustrant le point avec un TextView
Merci. Disons que j'ai une activité ACTIVATEA.JAVA & LAYOUTA.XML et je n'ai pas ajouté le composant
Laissez-nous Continuez cette discussion en chat .
Avec l'aide de Chris Sullivan Nous avons compris ce qui se passait. Ceci est une supposition estimée. P>
Il s'avère que l'utilisation du La barre d'app réelle est ajoutée au moment de l'exécution par AppCompatiactivité. P> theme.appcompapat.light.darkactionbar code> style / thème ajoute simplement une marge supérieure de type à toutes les activités et les remplit de couleur primaire. Cela permet de regarder dans l'éditeur d'Android comme s'il existe une barre d'application / barre d'outils / barre d'action, mais il s'agit simplement de fumée et de miroirs. P>
Qu'entendez-vous par définis par défini? Si vous souhaitez voir un code de mise en œuvre, allez dans vos styles.xml, cliquez sur thème.appcompat.light.darkactionbar pour le sélectionner, cliquez avec le bouton droit de la souris, puis passez à la mise en œuvre. Vous verrez une implémentation.