Android XML代码:如何在Textview左侧放置图像?

时间:2016-09-06 04:36:18

标签: android xml

在我的Android应用程序中,我在列表视图中显示了2个文本视图和1个图像。当我使用我的imageview时,它将转到新的一行..

我想在同一行上有一个textview和imageview。每次我放置imageview时整个对齐都在改变..

我的XML代码是

<?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>

3 个答案:

答案 0 :(得分:4)

在xml of textview中使用 drawableleft

android:drawableLeft="@drawable/settingmenuright"

答案 1 :(得分:1)

布局混乱,因为您在垂直 ImageView中有TextViewLinearLayout。这样做:

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

我已将ImageViewTextView移到另一个水平 LinearLayout

答案 2 :(得分:1)

你可以使用这个布局我已经设置了weightSum属性。

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