Basé ici sur la section Atsortingbuts XML que je spécifie dans mes dimens.xml
:
-1dp @dimen/match_parent @dimen/match_parent
Ensuite, j’utilise les deux dimensions dans ma mise en page:
Ensuite, lorsque je prévisualise la Graphical Layout
, il se plaint:
Vous devez fournir un atsortingbut layout_width.
- android listview obtenir l’élément sélectionné
- confusion de l’ID de l’appareil Android
- Comment puis-je obtenir la dernière version de ConstraintLayout pour Android?
- Android, Comment lire le code QR dans mon application?
- Comment définir des marges dans une boîte de dialog personnalisée?
Vous devez fournir un atsortingbut layout_height.
Puis-je définir une valeur égale à match_parent dans dimens.xml
?
Mettre à jour:
J’ai aussi essayé ceci mais l’aperçu se plaint toujours:
-1dp -1dp
J’utilise avec succès wrap_content
(la Graphical Layout
ne se plaint pas du tout):
-2dp @dimen/wrap_content @dimen/wrap_content
Utilise ça, ça marche pour moi
-2px @dimen /custom_wrap_content -1px @dimen /custom_match_parent
Et la raison pour laquelle match_parent
ne fonctionne pas. Vous ne pouvez pas fournir de mot-clé tel que match_parent
Edit: Utilisez px
au lieu de dp
comme suggéré par Jarett Millard dans les commentaires.
Commencez par créer atsortingbs.xml:
- -1
- -2
Deuxième utilisation de vos dimens:
@dimen/match_parent @dimen/wrap_content
Selon pourquoi vous souhaitez définir match_parent
dans un @dimen, ce cas d’utilisation pourrait vous aider:
Au lieu de définir la largeur et la hauteur dans dimen.xml, vous pouvez le définir comme style dans le fichier styles.xml.
j’utilise
//res/values/styles.xml
et
//res/values-sw600dp/styles.xml
et l’utiliser comme
ce qui me permet de définir dynamicment les atsortingbuts width et height pour des périphériques de tailles différentes sans avoir à écrire de code et vous pouvez utiliser match_parent / wrap_content fine. vous pouvez utiliser n’importe quel @dimen que vous avez défini précédemment dans le style si vous le souhaitez.
Je l’utilise parce que la disposition pour le téléphone et la tablette est la même, sauf que je veux corriger la largeur sur la tablette, mais que je remplis le parent avec le téléphone, ce qui évite d’avoir deux configurations différentes avec le même xml
Pour les appareils HTC, utilisez ceci pour atteindre match_parent:
-1.0px
Je ne pense pas. @ dimen / match_parent est une longueur spécifique à l’unité alors que match_parent est un drapeau spécial.
Vous pouvez également y parvenir en utilisant le fichier integers.xml
fichier integers.xml
:
-1 -2
Utiliser dans dimens.xml
:
@integer/wrap_content
Vous pourriez aussi recevoir un avertissement de lint
pour le supprimer:
@integer/wrap_content