Valeur est égale à match_parent ou fill_parent dans dimens.xml?
Basé sur ici, sur les Attributs XML section I spécifier la suite dans mon dimens.xml
:
<dimen name="match_parent">-1dp</dimen>
<dimen name="main_left_menu_user_account_width">@dimen/match_parent</dimen>
<dimen name="main_left_menu_user_account_height">@dimen/match_parent</dimen>
Puis-je utiliser les deux dimensions dans ma mise en page:
<ImageView
android:id="@+id/userAccountImage"
android:background="@drawable/user_account"
android:layout_width="@dimen/main_left_menu_user_account_width"
android:layout_height="@dimen/main_left_menu_user_account_height" />
Puis, quand j'ai aperçu pour Graphical Layout
, il se plaint:
Vous devez fournir un layout_width attribut.
Vous devez fournir un layout_height attribut.
Fait puis-je définir une valeur égale à match_parent dans dimens.xml
?
Mise à jour:
J'ai aussi essayé cela, mais l'aperçu se plaint encore:
<dimen name="main_left_menu_user_account_width">-1dp</dimen>
<dimen name="main_left_menu_user_account_height">-1dp</dimen>
J'ai réussi à utiliser wrap_content
(le Graphical Layout
ne se plaint pas du tout):
<dimen name="wrap_content">-2dp</dimen>
<dimen name="main_right_menu_width">@dimen/wrap_content</dimen>
<dimen name="main_right_menu_height">@dimen/wrap_content</dimen>
- Avez-vous essayé ceci? Une solution pourrait être l'utilisation des styles.
- ouais, mais toujours le même. Je pense que le SDK n'est pas comme avec -1dp valeur, consultez édité mon post.
- Comment ça "se plaindre"? Êtes-vous à l'aide de la dernière Eclipse plugin? Je semble être en mesure d'utiliser -1dp sans problème dans la mise en page de prévisualisation.
- Vraiment? Mon SDK est de 21,1 plate-forme et des outils de 16.0.1.. Comment parler de toi?
- Je suis à l'aide de votre approche avec -1dp et -2dp et il fonctionne sur les périphériques réels (Nexus10), merci.
- Utiliser un style au lieu de dimen
Vous devez vous connecter pour publier un commentaire.
Les utiliser, il fonctionne pour moi
Et la Raison pour laquelle
match_parent
ne fonctionne pas. Vous ne pouvez pas fournir une accumulation de mots clés commematch_parent
Edit: Utilisation
px
au lieu dedp
comme suggéré par Jarett Millard dans les commentaires.-1px
et-2px
au lieu dedp
. Lepx
valeurs ne sont pas à l'échelle fondée sur l'écran de l'appareil de la densité.D'abord créer attribs.xml:
Deuxième utilisez votre dimens:
-1px
et-2px
respectivement. tout d'abord, ne pasdp
maispx
en raison de la mise à l'échelle, d'autre part, sans la dimension de la classification de l'émulateur api de 25 à défaut lors de l'exécution pour moi avec l'erreurlayout_width not specified
ou quelque chose comme çacustom_match_parent
etcustom_wrap_content
que les noms pour ne pas embrouiller les gens.Selon la raison pour laquelle vous souhaitez définir
match_parent
dans un @dimen, ce cas d'utilisation peut vous aider:Au lieu de définir la largeur et la hauteur dans dimen.xml, vous pouvez le définir comme un style dans la styles.xml
- Je utiliser
et
et de l'utiliser comme
qui me permet de définir dynamiquement les attributs width et height pour les différentes tailles d'appareils sans avoir à écrire de code et vous pouvez utiliser match_parent/wrap_content amende. vous pouvez utiliser n'importe @dimen que vous avez définies précédemment dans le style ainsi si vous le souhaitez.
Je utiliser ce parce que la mise en page pour le téléphone et la tablette est la même chose, sauf que je veux fixer la largeur de la tablette mais de remplir le parent sur le téléphone, de sorte qu'il évite d'avoir 2 différentes mises en page, avec essentiellement les mêmes xml
Pour les appareils HTC utilisez cette fonction pour obtenir match_parent:
Vous pouvez également le faire en utilisant un
integers.xml
fichierintegers.xml
fichier:Utiliser dans
dimens.xml
:Vous pouvez également obtenir
lint
d'avertissement, de supprimer l'utilisation:Je ne le pense pas. @dimen/match_parent est une longueur spécifique de l'unité tout en match_parent est un indicateur spécial.