正确的布局解决方案 - android
Proper layout solution - android
您好,我想要一个看起来像 http://developer.android.com/images/training/layout-listitem.png 的布局,而不是左侧的图像视图,我想要右侧的按钮。但是我的按钮就在文本视图之后不粘在右边。我一直在寻找其他解决方案,但没有任何帮助。这是我得到的。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<LinearLayout
android:orientation="vertical"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="#000000"
android:textSize="12pt"
android:id="@+id/view_to" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="#000000"
android:textSize="8pt"
android:id="@+id/view_what" />
</LinearLayout>
<LinearLayout
android:orientation="vertical"
android:layout_gravity="right"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="right"
android:text="@string/b_send"
android:id="@+id/b_send" />
</LinearLayout>
</LinearLayout>
提前致谢。
使用RelativeLayout
。使用 android:layout_alignParentRight="true"
将 Button
绑定到布局的右侧。包含 TextViews
的布局必须具有 android:layout_width="match_parent"
和 android:layout_toLeftOf="@id/<id-of-the-Button>"
,其中必须替换为 Button
的 ID。
试试这个:
LinearLayout1 - android:layout_weight="3"(大约需要 75% space),
LinearLayout2 - android:layout_weight="1"(大约需要 25% space),
并将按钮 layout_width 和 layout_height 设置为 "fill_parent" - 这将使按钮占用 LinearLayout2 中的所有 space。
如果您需要按钮在水平方向上或多或少 space,您可以在 LinearLayout1 中更改 layout_weight。
这是我的 xml-file 示例:
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_margin="5dp">
<LinearLayout
android:orientation="vertical"
android:id="@+id/LinearLayout1"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_weight="3">
<TextView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#999999"
android:layout_margin="5dp"
android:textSize="20sp"
android:layout_weight="1"
android:text="New Text"
android:id="@+id/textView" />
<TextView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#777777"
android:layout_margin="5dp"
android:textSize="20sp"
android:layout_weight="1"
android:text="New Text"
android:id="@+id/textView2" />
</LinearLayout>
<LinearLayout
android:orientation="vertical"
android:id="@+id/LinearLayout2"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="1">
<Button
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#ff6633"
android:layout_margin="5dp"
android:layout_weight="1"
android:text="Button"
android:id="@+id/button" />
</LinearLayout>
这是结果:
您好,我想要一个看起来像 http://developer.android.com/images/training/layout-listitem.png 的布局,而不是左侧的图像视图,我想要右侧的按钮。但是我的按钮就在文本视图之后不粘在右边。我一直在寻找其他解决方案,但没有任何帮助。这是我得到的。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<LinearLayout
android:orientation="vertical"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="#000000"
android:textSize="12pt"
android:id="@+id/view_to" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="#000000"
android:textSize="8pt"
android:id="@+id/view_what" />
</LinearLayout>
<LinearLayout
android:orientation="vertical"
android:layout_gravity="right"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="right"
android:text="@string/b_send"
android:id="@+id/b_send" />
</LinearLayout>
</LinearLayout>
提前致谢。
使用RelativeLayout
。使用 android:layout_alignParentRight="true"
将 Button
绑定到布局的右侧。包含 TextViews
的布局必须具有 android:layout_width="match_parent"
和 android:layout_toLeftOf="@id/<id-of-the-Button>"
,其中必须替换为 Button
的 ID。
试试这个:
LinearLayout1 - android:layout_weight="3"(大约需要 75% space),
LinearLayout2 - android:layout_weight="1"(大约需要 25% space),
并将按钮 layout_width 和 layout_height 设置为 "fill_parent" - 这将使按钮占用 LinearLayout2 中的所有 space。
如果您需要按钮在水平方向上或多或少 space,您可以在 LinearLayout1 中更改 layout_weight。
这是我的 xml-file 示例:
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_margin="5dp">
<LinearLayout
android:orientation="vertical"
android:id="@+id/LinearLayout1"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_weight="3">
<TextView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#999999"
android:layout_margin="5dp"
android:textSize="20sp"
android:layout_weight="1"
android:text="New Text"
android:id="@+id/textView" />
<TextView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#777777"
android:layout_margin="5dp"
android:textSize="20sp"
android:layout_weight="1"
android:text="New Text"
android:id="@+id/textView2" />
</LinearLayout>
<LinearLayout
android:orientation="vertical"
android:id="@+id/LinearLayout2"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="1">
<Button
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#ff6633"
android:layout_margin="5dp"
android:layout_weight="1"
android:text="Button"
android:id="@+id/button" />
</LinearLayout>
这是结果: