Forme dessinable ne montrant pas lorsqu'il est utilisé en combinaison avec android: attribut drawableBottom.
Fichier XML enregistré à res/drawable/gradient_box.xml:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<gradient
android:startColor="#FFFF0000"
android:endColor="#80FF00FF"
android:angle="45"/>
<padding android:left="7dp"
android:top="7dp"
android:right="7dp"
android:bottom="7dp" />
<corners android:radius="8dp" />
</shape>
(La forme ci-dessus définition est tirée de puis Android developer guide. Il n'y a pas d'erreur.).
Essayons de l'utiliser conjointement avec un TextView:
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="Text with some crazy rectangle shape below it."
android:drawableBottom="@drawable/gradient_box"/>
Le TextView affiche comme si le drawableBottom attribut n'était pas là! Cependant, la définition de la forme que sur le fond fonctionne très bien:
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="Text with crazy background"
android:background="@drawable/gradient_box"/>
Réglage d'une image réelle (par exemple, un *.png) pour android:drawableBottom fonctionne aussi très bien.
Des idées?
source d'informationauteur Håvard Geithus
Vous devez vous connecter pour publier un commentaire.
Résolu! Le problème semble être qu'une forme n'est pas nécessairement intrinsèque de limites. Qui est, le drawable ne sais pas comment dessiner lui-même!
Pour résoudre ce problème, il suffit de spécifier la taille de la forme, comme ceci:
Même si la forme a été spécifié comme un arrière-plan dessiné pour le TextView, ses dimensions, était connu pour être le même que le TextView dimensions. Pendant le récit de la forme pour aller vers la droite ou au-dessus de la TextView, la forme et les dimensions n'a pas pu être déterminé automatiquement.
Si vous utilisez une ImageView à l'hôte de la forme de la ligne dans le cadre de la "android:src" attribut, vous aurez également exécuter dans le même problème, sauf si vous spécifiez la largeur et la hauteur de la forme xml. Une solution de contournement est de l'hôte de la forme de la ligne dans le cadre de la "android:background" de l'attribut de l'ImageView. De cette façon, vous pouvez utiliser les attributs de taille de l'ImageView pour la forme de la ligne de "montrer" à travers.