当我使用 layout_centerHorizontal
将 View 中的一个项目水平居中,而另一个项目位于它的右侧时,它没有居中。
但是当我删除第二个项目时,它会移动到中心。
这是代码:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="4">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="6"
android:gravity="center_horizontal">
<TextView
android:id="@+id/message"
android:layout_width="240dp"
android:layout_height="240dp"
android:layout_centerHorizontal="true"
android:layout_marginTop="50dp"
android:background="#13D372"/>
<TextView
android:id="@+id/message2"
android:layout_width="60dp"
android:layout_height="60dp"
android:layout_marginTop="50dp"
android:layout_toRightOf="@id/message"
android:background="#125632"
/>
</RelativeLayout>
</LinearLayout>
最佳答案
使用 android:gravity="center_horizontal"会将 child (您的两个 TextView)放置在其容器的水平中心。
从父布局中移除 android:gravity="center_horizontal"
并在子布局中保留 android:layout_centerHorizontal="true"
(TextView
)只居中这个。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="4">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="6">
<TextView
android:id="@+id/message"
android:layout_width="240dp"
android:layout_height="240dp"
android:layout_centerHorizontal="true" <!--here-->
android:layout_marginTop="50dp"
android:background="#13D372"/>
<TextView
android:id="@+id/message2"
android:layout_width="60dp"
android:layout_height="60dp"
android:layout_marginTop="50dp"
android:layout_toRightOf="@id/message"
android:background="#125632"
/>
</RelativeLayout>
</LinearLayout>
关于android - layout_centerHorizontal 当另一个 View 位于其右侧时项目不居中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33062260/