我将此布局用作对话框。问题是按钮出现在文本的右侧。我尝试使用填充,位置,重力使其显示在textview下但我失败了。 希望你能帮帮我....
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/layout_root"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="10dp"
>
<ImageView
android:id="@+id/image"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_marginRight="10dp"
/>
<TextView android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:textColor="#FFF"
/>
<Button
android:id="@+id/ok"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:text="ok"
/>
</LinearLayout>
答案 0 :(得分:2)
您在水平方向使用LinearLayout
。这意味着它将按照您放置它们的顺序水平列出所有视图。
你显然想要文本旁边的图像,所以有两种方法可以做到这一点。您可以使用两个LinearLayouts
。顶部垂直方向,内部水平方向。内部将包含图像和文本。外部将包含内部和按钮。
第二种方法是使用RelativeLayout
,它允许您设置layout_below
等属性,无论您将文本放在何处,都会将按钮放在文本下方。
使用两个LinearLayouts:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/layout_root"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="10dp"
>
<LinearLayout
android:id="@+id/linearLayout1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
>
<ImageView
android:id="@+id/image"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="10dp"
android:src="@drawable/ic_launcher" />
<TextView
android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#FFF" />
</LinearLayout>
<Button
android:id="@+id/ok"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="ok"
/>
</LinearLayout>
使用RelativeLayout(更简单):
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/layout_root"
android:layout_width="fill_parent"
android:layout_height="fil_parent"
android:padding="10dp" >
<ImageView
android:id="@+id/image"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="10dp"
android:src="@drawable/ic_launcher" />
<TextView
android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@id/image"
android:layout_toRightOf="@id/image"
android:text="@string/app_name"
android:textColor="#FFF" />
<Button
android:id="@+id/ok"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@id/image"
android:layout_below="@id/text"
android:text="ok" />
</RelativeLayout>
答案 1 :(得分:1)
只需将其添加到LinearLayout
:
android:orientation="vertical"
答案 2 :(得分:0)
如果您希望垂直堆叠的项目,则需要更改orientation
的{{1}}属性。
尝试..
LinearLayout