У меня есть следующий макет XML для моего ListView:пользовательских ListView Компоновка с несколькими ImageViews и TextViews
<?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" >
<ImageView
android:id="@+id/imageView1"
android:layout_gravity="center"
android:layout_width="48dp"
android:layout_height="48dp"
android:src="@drawable/image"/>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical" >
<TextView
android:id="@+id/textView1"
android:layout_gravity="left"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="18sp"
android:text="Hello"/>
<TextView
android:id="@+id/textView2"
android:layout_gravity="left"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="14sp"
android:text="Hello"/>
</LinearLayout>
<ImageView
android:id="@+id/imageView2"
android:layout_gravity="center"
android:layout_width="48dp"
android:layout_height="48dp"
android:src="@drawable/image"/>
</LinearLayout>
Это то, что я хочу достичь с помощью этого XML-кода (Пустые коробки на левом/правом являются изображения):
до сих пор, это то, что мой код выше делает:
Я хочу второе изображение появится на правой стороне большей части представления, и он похож на свою пихту пример.
EDIT:
я решил мою проблему и мой последний рабочий код:
<?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" >
<ImageView
android:id="@+id/imageView1"
android:layout_gravity="center"
android:layout_width="48dp"
android:layout_height="48dp" />
<LinearLayout
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:orientation="vertical" >
<TextView
android:id="@+id/textView1"
android:layout_gravity="left"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="18sp"
android:text="Hello"/>
<TextView
android:id="@+id/textView2"
android:layout_gravity="left"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="14sp"
android:text="Hello"/>
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical" >
<TextView
android:id="@+id/textView3"
android:layout_gravity="center"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="18sp"
android:text="Hello"/>
<TextView
android:id="@+id/textView4"
android:layout_gravity="center"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="14sp"
android:text="Hello"/>
</LinearLayout>
<ImageView
android:id="@+id/imageView2"
android:layout_gravity="center"
android:layout_width="48dp"
android:layout_height="48dp"
android:src="@drawable/image"/>
</LinearLayout>
Спасибо! Этот ответ дал мне то, что я хотел. – Octocat
Одна вещь, для второго 'LinearLayout', я сохранил ее как:' android: layout_width = "wrap_content" ' – Octocat
@Solstice, которую вы можете сохранить, как вам подходит, но как только вы сможете попытаться ознакомиться с layout_weight. layout_weight = 1 означает все оставшееся пространство. Если два вида имеют layout_weight = 1, это означает, что нужно оставить оставшееся пространство и дать половину половины для обоих. – Sharj