Android 中线性布局中按钮的右对齐,按钮并排放置
Right alignment of button in linear layout in Android with button side by side
我想在线性布局视图的右侧对齐按钮。
这导致两个按钮都在左边,我尝试了相对布局,因为我导致一个按钮在左边,另一个在右边。
我希望两个按钮并排放置,中间有 10 个间距。
请帮忙。
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal">
<ImageButton
android:background="@null"
android:id="@+id/reply_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="20dp"
android:src="@drawable/reply"
android:layout_gravity="left"/>
<Button
android:id="@+id/readmore_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="right"
android:background="@null"
android:text="Read more.."
android:textAllCaps="false"
android:textColor="@android:color/white"
android:textSize="14sp" />
</LinearLayout>
您可以将 android:layout_weight="2"
设置为您的容器,并为每个 child 设置 android:layout_weight="1"
和 android:layout_width="0dp"
,如下所示:
<?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:layout_weight="2">
<ImageButton
android:background="@null"
android:id="@+id/button"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_marginBottom="20dp"
android:layout_weight="1"
android:layout_gravity="left"/>
<Button
android:id="@+id/button2"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_gravity="right"
android:background="@null"
android:text="Read more.."
android:textAllCaps="false"
android:layout_weight="1"
android:textColor="@android:color/white"
android:textSize="14sp" />
</LinearLayout>
但是如果您之前已经开发了一些 ios 应用程序,正如您的名字所暗示的那样,您可能会发现使用 ConstarintLayout 更容易 - 一种适合所有屏幕尺寸的布局(它非常相似到 ios 中的拖放编辑器我只是记不起它的名字)
这里是一个使用ConstraintLayout
的例子:
<Button
android:id="@+id/button"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="Button"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toEndOf="@+id/button2"
app:layout_constraintTop_toTopOf="parent" />
<Button
android:id="@+id/button2"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="Button"
app:layout_constraintBottom_toBottomOf="@+id/button"
app:layout_constraintEnd_toStartOf="@+id/button"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@+id/button" />
</android.support.constraint.ConstraintLayout>
根据您的要求编辑:
<?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:layout_weight="3">
<Button
android:id="@+id/button"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:text="left"
android:layout_gravity="start"/>
<Button
android:id="@+id/button2"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_gravity="end"
android:text="Read more.."
android:layout_weight="1"
android:textSize="14sp" />
<Button
android:layout_width="0dp"
android:layout_height="match_parent"
android:text="right"
android:layout_weight="1"/>
</LinearLayout>
我想在线性布局视图的右侧对齐按钮。 这导致两个按钮都在左边,我尝试了相对布局,因为我导致一个按钮在左边,另一个在右边。 我希望两个按钮并排放置,中间有 10 个间距。
请帮忙。
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal">
<ImageButton
android:background="@null"
android:id="@+id/reply_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="20dp"
android:src="@drawable/reply"
android:layout_gravity="left"/>
<Button
android:id="@+id/readmore_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="right"
android:background="@null"
android:text="Read more.."
android:textAllCaps="false"
android:textColor="@android:color/white"
android:textSize="14sp" />
</LinearLayout>
您可以将 android:layout_weight="2"
设置为您的容器,并为每个 child 设置 android:layout_weight="1"
和 android:layout_width="0dp"
,如下所示:
<?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:layout_weight="2">
<ImageButton
android:background="@null"
android:id="@+id/button"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_marginBottom="20dp"
android:layout_weight="1"
android:layout_gravity="left"/>
<Button
android:id="@+id/button2"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_gravity="right"
android:background="@null"
android:text="Read more.."
android:textAllCaps="false"
android:layout_weight="1"
android:textColor="@android:color/white"
android:textSize="14sp" />
</LinearLayout>
但是如果您之前已经开发了一些 ios 应用程序,正如您的名字所暗示的那样,您可能会发现使用 ConstarintLayout 更容易 - 一种适合所有屏幕尺寸的布局(它非常相似到 ios 中的拖放编辑器我只是记不起它的名字)
这里是一个使用ConstraintLayout
的例子:
<Button
android:id="@+id/button"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="Button"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toEndOf="@+id/button2"
app:layout_constraintTop_toTopOf="parent" />
<Button
android:id="@+id/button2"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="Button"
app:layout_constraintBottom_toBottomOf="@+id/button"
app:layout_constraintEnd_toStartOf="@+id/button"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@+id/button" />
</android.support.constraint.ConstraintLayout>
根据您的要求编辑:
<?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:layout_weight="3">
<Button
android:id="@+id/button"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:text="left"
android:layout_gravity="start"/>
<Button
android:id="@+id/button2"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_gravity="end"
android:text="Read more.."
android:layout_weight="1"
android:textSize="14sp" />
<Button
android:layout_width="0dp"
android:layout_height="match_parent"
android:text="right"
android:layout_weight="1"/>
</LinearLayout>