2016-09-06 6 views
0

In meiner Android-Anwendung habe ich 2 Textansichten und 1 Bild in der Listenansicht angezeigt. Während ich meine Bildansicht verwendete, geht es in die neue Zeile.Android XML-Code: Wie platziere ich ein Bild von Textview?

Ich möchte eine Textansicht und Bildansicht in der gleichen Zeile. Jedes Mal, wenn ich die Imageview stellen die gesamte Ausrichtung ändert ..

meine XML-Code ist

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="horizontal" 
    android:padding="5dp" > 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_marginLeft="10dp" 
     android:orientation="vertical" > 

     <ImageView 
      android:id="@+id/icon" 

      android:layout_width="50dp" 
      android:layout_height="50dp" 
      android:gravity="left" 
      android:layout_marginBottom="5dp" 
      android:layout_marginLeft="5dp" 
      android:layout_marginRight="5dp" 
      android:layout_marginTop="5dp" 
      android:src="@drawable/album1" /> 


     <TextView 
      android:layout_toRightOf="@id/icon" 
      android:id="@+id/textViewSongName" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:singleLine="true" 
      android:textColor="@android:color/white" 
      android:textSize="22dp" /> 

     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:orientation="horizontal" > 

      <TextView 
       android:id="@+id/textViewArtist" 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 
       android:singleLine="true" 
       android:layout_weight="1" 
       android:textColor="@android:color/white" 
       android:textSize="15dp" /> 

      <TextView 
       android:id="@+id/textViewDuration" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:textColor="@android:color/white" 
       android:layout_marginLeft="10dp" 
       android:textSize="12dp" /> 
     </LinearLayout> 
    </LinearLayout> 

</LinearLayout> 
+1

, weil Sie Ihre 'ImageView' in einem vertikalen' LinearLayout' horizontal man stattdessen gesetzt haben ist (wie Sie in Ihrem 3.en Layout taten). – Abbas

Antwort

1

Sie dieses Layout verwenden kann ich gesetzt haben weightSum Eigenschaft.

<LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_marginLeft="10dp" 
     android:orientation="vertical" > 
     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:orientation="horizontal" 
      android:weightSum="1"> 
      <LinearLayout 
       android:layout_width="0dp" 
       android:layout_height="match_parent" 
       android:layout_weight="0.3">     
       <ImageView 
        android:id="@+id/icon" 
        android:layout_width="match_parent" 
        android:layout_height="match_parent" 
        android:gravity="left" 
        android:layout_marginBottom="5dp" 
        android:layout_marginLeft="5dp" 
        android:layout_marginRight="5dp" 
        android:layout_marginTop="5dp" 
        android:src="@mipmap/ic_launcher" /> 
      </LinearLayout> 
      <LinearLayout 
       android:layout_width="0dp" 
       android:layout_height="match_parent" 
       android:orientation="vertical" 
       android:layout_weight="0.7"> 
       <TextView 
        android:layout_toRightOf="@id/icon" 
        android:id="@+id/textViewSongName" 
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        android:singleLine="true" 
        android:text="iconTextview" 
        android:textColor="@android:color/background_dark" 
        android:textSize="22dp" /> 
       <LinearLayout 
        android:layout_width="match_parent" 
        android:layout_height="match_parent" 
        android:weightSum="1"  
        android:orientation="horizontal" > 

        <LinearLayout 
         android:layout_width="0dp" 
         android:layout_height="match_parent" 
         android:layout_weight="0.5"> 
         <TextView 
          android:id="@+id/textViewArtist" 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:singleLine="true" 
          android:text="textViewArtist" 
          android:textColor="@android:color/background_dark" 
          android:textSize="15dp" /> 

        </LinearLayout> 
        <LinearLayout 
         android:layout_width="0dp" 
         android:layout_height="match_parent" 
         android:layout_weight="0.5"> 
         <TextView 
          android:id="@+id/textViewDuration" 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:textColor="@android:color/background_dark" 
          android:layout_marginLeft="10dp" 
          android:text="textViewDuration" 
          android:textSize="12dp" /> 
        </LinearLayout> 

       </LinearLayout> 

      </LinearLayout> 
      </LinearLayout> 

    </LinearLayout> 
1

Das Layout bis vermasselt, weil Sie die ImageView und die TextView in einem vertikalenLinearLayout haben. Tun Sie dies:

<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_marginLeft="10dp" 
    android:orientation="vertical" > 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:orientation="horizontal" > 

    <ImageView 
     android:id="@+id/icon" 
     android:layout_width="50dp" 
     android:layout_height="50dp" 
     android:gravity="left" 
     android:layout_marginBottom="5dp" 
     android:layout_marginLeft="5dp" 
     android:layout_marginRight="5dp" 
     android:layout_marginTop="5dp" 
     android:src="@drawable/album1" /> 


    <TextView 
     android:layout_toRightOf="@id/icon" 
     android:id="@+id/textViewSongName" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:singleLine="true" 
     android:textColor="@android:color/white" 
     android:textSize="22dp" /> 
    </LinearLayout> 
    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:orientation="horizontal" > 

     <TextView 
      android:id="@+id/textViewArtist" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:singleLine="true" 
      android:layout_weight="1" 
      android:textColor="@android:color/white" 
      android:textSize="15dp" /> 

     <TextView 
      android:id="@+id/textViewDuration" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:textColor="@android:color/white" 
      android:layout_marginLeft="10dp" 
      android:textSize="12dp" /> 
    </LinearLayout> 
</LinearLayout> 

zog ich habe die ImageView und TextView in einem anderen horizontalLinearLayout

+0

Fehler beim letzten Schließen des linearen Layouts. Sprich (Unerwartetes Ende der Datei) –

+0

Danke, dass es funktioniert hat .. –

2

Verwendung drawableleft in Ihrem xml von Textview

android:drawableLeft="@drawable/settingmenuright" 
Verwandte Themen