Wie man Text in einem TextView mit Compound Drawable vertikal ausstellt

Diese Frage ist in einer Weise eine Fortsetzung meiner letzten Frage .

Mein Problem ist jetzt ziemlich gleich, außer dass anstelle der Trennung von Bild und Text in verschiedenen Ansichten (nämlich ImageView und TextView) Ich habe gelernt, ich kann das Attribut android:drawableLeft , um ein Bild "für" meinen Text (der Vorschlag war Zeigte mir von Eclipse mit einem Warnsymbol auf der LinearLayout-Linie).

Ich dachte, der einzige Unterschied wäre, dass statt der Einstellung der ImageView mit setImageResource() Methode würde ich einfach die TextView's drawableLeft mit der setCompoundDrawablesWithIntrinsicBounds() -Methode zugeschrieben. Stattdessen, als ich die Änderung machte, wurde ich zu meiner ursprünglichen Ausgabe zurückgebracht: Der Text richtet sich an den oberen Rand der Ansicht und nicht an die Mitte.

So sieht mein TextView aus:

 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="wrap_content" > <TextView android:id="@+id/account_login" android:layout_marginTop="10dp" android:layout_width="match_parent" android:layout_height="wrap_content" android:drawableLeft="@drawable/pm_gmail" android:drawablePadding="8dp" android:text="example@gmail.com" android:paddingLeft="16dp" android:layout_gravity="left|center_vertical" /> <View android:layout_width="fill_parent" android:layout_height="1dip" android:layout_centerVertical="true" android:layout_below="@id/account_login" android:layout_marginLeft="16dp" android:layout_marginRight="16dp" android:layout_marginTop="5dp" android:background="#DDDDDD" /> </RelativeLayout> 

Die zweite View ist nur ein Trennzeichen.

… und das ist, was das Layout aussieht, nachdem man die oben genannten Attribute gesetzt hat: (Ich habe nicht genug Ruf, um Bilder noch zu posten, also hier ist der Link dazu)

(Nur um klar zu sein, das ist nur ein statisches Beispiel. Mein Text und Bild werden bei der Laufzeit dynamisch in den Code gesetzt).

Jede Hilfe wird sehr geschätzt.

  • So erstellen Sie einen Dialog, der in horizontaler Dimension voll ist
  • Android: Einstellen der Gewicht Parameter programmgesteuert tut das Gegenteil von dem, was ich will
  • Wie machst du einen Blick auf den dafür verfügbaren Platz?
  • Android-Dialog: Titelleiste entfernen
  • Gegenüber setContentView
  • View.onMeasure () nicht aufgerufen
  • Einfaches Beispiel für <merge> und <include> Nutzung in Android XML-Layouts
  • Ändern des Android-Sucher-Widgets, um vertikal zu arbeiten
  • One Solution collect form web for “Wie man Text in einem TextView mit Compound Drawable vertikal ausstellt”

    Änderung android:layout_gravity="left|center_vertical" zu android:gravity="center_vertical" .
    layout_gravity ist für die Positionierung einer View in einem Container (Layout), während die gravity auf den View-Inhalt (das heißt in diesem Fall der Text innerhalb der TextView).

    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.