Drawable-Form nicht zeigen, wenn verwendet, in Kombination mit android:drawableBottom Attribut.
XML-Datei gespeichert 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>
(Die oben genannten Form-definition ist entnommen aus als Android developer guide. Es gibt keine Fehler darin.).
Lassen Sie uns versuchen, es zu benutzen zusammen mit einem 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"/>
Den TextView angezeigt, wenn die drawableBottom Attribut war nicht da! Jedoch, die Einstellung der Form als hintergrund ganz gut funktioniert:
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="Text with crazy background"
android:background="@drawable/gradient_box"/>
Einstellung ein Bild (z.B. ein *.png -), die android -: drawableBottom funktioniert auch einwandfrei.
Irgendwelche Ideen?
InformationsquelleAutor Håvard Geithus | 2011-07-28
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gelöst! Das problem scheint zu sein, dass eine Form nicht unbedingt haben, die inhärenten Grenzen. Das heißt, die resultierende drawable weiß nicht, wie Sie sich selbst zu zeichnen!
Um dieses problem zu lösen, geben Sie einfach die Größe, die Form, wie diese:
Wenn die Form angegeben wurde als hintergrund ein drawable für die TextView, seine Dimensionen bekannt war die gleiche wie die TextView Dimensionen. Wenn Sie sagen, die Form nach rechts oder oben die TextView, die Form, die Abmessungen konnten nicht automatisch ermittelt werden.
Für mich ist die Einstellung der Steigung drawable funktionierte, wenn ich es eingestellt habe programmgesteuert, ich.e wie hier stackoverflow.com/questions/8481322/...
InformationsquelleAutor Håvard Geithus
Wenn Sie eine Bildansicht zu host die Form "Linie" als Teil der "android:src" - Attribut, Sie wird auch ausgeführt, in das gleiche problem, es sei denn, Sie geben die Breite und Höhe als Teil der xml-Form. Eine Problemumgehung ist die host die Form "Linie" als Teil der "android:background" - Attribut der Bildansicht. Auf diese Weise können Sie Gebrauch machen von der Größe der Bildansicht für die Form "Linie" zu "zeigen" durch.
InformationsquelleAutor Yaojin