Obtenir l'attribut android: padding par programmation
À partir d'une vue, comment puis-je obtenir la valeur de l'android:padding attribut par programmation? Je suis actuellement en utilisant:
private static final String ANDROID_NAMESPACE = "http://schemas.android.com/apk/res/android";
private static final String ATTRIBUTE_PADDING = "padding";
public ActivityWrapperView(Context context, AttributeSet attrs) {
super(context, attrs);
int padding = attrs.getAttributeIntValue(ANDROID_NAMESPACE, ATTRIBUTE_PADDING, -1);
}
Cela renvoie -1, j'ai aussi essayé d'utiliser "android:padding" comme le nom de l'attribut, mais -1 est toujours retourné.
EDIT: Mon exigence: Lorsqu'un android:padding valeur est spécifiée dans la mise en page XML, l'affichage va utiliser ce remplissage. Si un rembourrage n'est pas spécifié, il va utiliser une valeur par défaut rembourrage
source d'informationauteur S-K'
Vous devez vous connecter pour publier un commentaire.
La façon la plus simple était d'utiliser android.R.styleable, si elle avait été disponible. De la même manière qu'il utilise pour obtenir des attributs personnalisés. R. styleable est une classe qui contient un int tableaux de valeurs d'attributs.
Donc, vous avez besoin pour créer votre propre int tableau, qui contient de l'int les valeurs des attributs dont vous avez besoin.
Vous pouvez simplement ajouter la
android:padding
à votre vue personnalisée attributs.Et puis, vous pouvez accéder à l'attribut tout comme vos autres attributs:
Vous devriez regarder la
getPadding____()
fonctions.