我有一个小问题,我似乎不能解决。我创建了一个ImageButton和一个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:background="#0e2a56"
android:weightSum="100">
<ImageButton
android:src="@drawable/add"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_weight="25"
android:id="@+id/imageButton1"
android:gravity="center_vertical|center_horizontal" />
<TextView
android:text="Add project"
android:textColor="#FFFFFF"
android:textSize="35dp"
android:textStyle="bold"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minWidth="25px"
android:minHeight="25px"
android:id="@+id/textView1"
android:gravity="center_vertical|center_horizontal" />
</LinearLayout>
我做错了什么?
发布于 2019-05-10 09:24:26
当我们使用LinearLayout布局时:
android:orientation="vertical"
时,android:layout_gravity
仅适用于水平方向,而不适用于垂直方向。Left、right和center_horizontal是垂直方向,android:layout_gravity
仅适用于垂直垂直方向,而不适用于水平方向。渲染了top、bottom和center_vertical。所以如果你想居中显示图片按钮和文本视图,你可以将它们包装在RelativeLayout中,如下所示:
<?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"
android:background="#0e2a56"
>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_centerInParent="true"
android:gravity="center_horizontal"
>
<ImageButton
android:src="@drawable/add"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/imageButton1"
/>
<TextView
android:text="Add project"
android:textColor="#FFFFFF"
android:textSize="35dp"
android:textStyle="bold"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:minWidth="25px"
android:minHeight="25px"
android:id="@+id/textView1"
/>
</LinearLayout>
</RelativeLayout>
https://stackoverflow.com/questions/56066693
复制相似问题