我有RelativeLayout
,因为我有一个LinearLayout
,我在ImageButton
放置了2 LinearLayout
,我真正想要的是,LinearLayout
应该在RelativeLayout
的中心(水平),我该怎么做?
<RelativeLayout
android:id="@+id/second"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="bottom"
android:layout_weight=".1"
android:background="@color/test"
android:orientation="horizontal">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:layout_below="@+id/view"
android:orientation="horizontal"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_centerHorizontal="true">
<ImageButton
android:id="@+id/imageButton"
style="@style/Base.Widget.AppCompat.Button.Borderless"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:src="?attr/actionModeShareDrawable" />
<ImageButton
android:id="@+id/star"
style="@style/Base.Widget.AppCompat.Button.Borderless"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:src="@android:drawable/btn_star" />
</LinearLayout>
</RelativeLayout>
答案 0 :(得分:3)
在LinearLayout中添加android:layout_centerInParent="true"
,如下所示:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:layout_below="@+id/view"
android:orientation="horizontal"
android:layout_centerInParent="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_centerHorizontal="true">
<ImageButton
android:id="@+id/imageButton"
style="@style/Base.Widget.AppCompat.Button.Borderless"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:src="?attr/actionModeShareDrawable" />
<ImageButton
android:id="@+id/star"
style="@style/Base.Widget.AppCompat.Button.Borderless"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:src="@android:drawable/btn_star" />
</LinearLayout>
答案 1 :(得分:2)
将android:layout_centerInParent="true"
添加到LinearLayout
。
答案 2 :(得分:1)
它可能对你有帮助
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_centerInParent="true"
android:weightSum="2">
<Button
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1" />
<Button
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1" />
</LinearLayout>
</RelativeLayout>
答案 3 :(得分:1)
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/second"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight=".1"
android:background="@color/test"
android:orientation="horizontal">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_below="@+id/view"
android:layout_centerHorizontal="true"
android:layout_centerInParent="true"
android:gravity="center_horizontal"
android:orientation="horizontal">
<ImageButton
android:id="@+id/imageButton"
style="@style/Base.Widget.AppCompat.Button.Borderless"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:src="?attr/actionModeShareDrawable" />
<ImageButton
android:id="@+id/star"
style="@style/Base.Widget.AppCompat.Button.Borderless"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:src="@android:drawable/btn_star" />
</LinearLayout>
</RelativeLayout>
使用此代码可以解决您的问题。
答案 4 :(得分:1)
为linearlayout添加android:layout_centerInParent="true"
。权重在RelativeLayout中不起作用,因此您可以删除它。
答案 5 :(得分:1)
添加
android:layout_centerInParent="true"
在您的LinearLayout中,您可能还想更改LinearLayout的宽度
android:layout_width="wrap_content"
因此图像按钮水平居中
答案 6 :(得分:1)
为linearlayout插入android:layout_centerInParent="true"
。重量不会在RelativeLayout中起作用,因此您可以删除它。
答案 7 :(得分:0)
将android:layout_centerInParent="true"
用于LinearLayout。