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).

  • EditText.setFocusable (false); Kann nicht auf true gesetzt werden. : /
  • Benutzerdefinierte Ansicht mit XML-Layout in Android
  • Wie bekomme ich den Google-Benutzernamen auf Android?
  • Mit @string für Android: Behörden in einem ContentProvider
  • RemoteViewsFactory namens getViewAt, wenn leere Datenmenge
  • SwipeRefreshLayout ist hinter ActionBar mit transparenten Statusleisten versteckt
  • 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.

  • Kämpfen mit SurfaceView, Kamera und OpenGL
  • Throwable: Fehler beim Erstellen der SD-Karte
  • Wie kann ich ein System mit dem Symbol in Android verwenden (zB expander_ic_maximized)
  • Vererbung und Erweiterung von XML- (Menü-) Ressourcen
  • Wie kann ich einen ProgressDialog durch den Back-Button aber nicht durch einen Bildschirm tippen lassen?
  • Abziehbar auf Byte
  • 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.