如何在相对布局中对齐和对齐居中的内容?

  • 本文关键字:对齐 相对 布局 android
  • 更新时间 :
  • 英文 :


我试图在中心对齐和证明这个相对布局的所有内容。

主要活动.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<LinearLayout
android:id="@+id/no_internet"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:visibility="gone"
android:background="#e8eaf6"
android:gravity="center"
>
<ImageView
android:layout_width="70dp"
android:layout_height="70dp"
android:src="@drawable/no_wifi"
android:layout_centerInParent="true"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
/>
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#404852"
android:gravity="center"
android:textSize="25dp"
android:text="Internet indisponible"
/>
</LinearLayout>

但是经过多次尝试,我有了这个预览: 预览

有人可以帮我对齐和对齐中间的图像和文本吗?

您应该使用属性将LinearLayout居中RelativeLayout

android:layout_centerInParent="true"

并将LinearLayoutlayout_widthlayout_height设置为wrap_content

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<LinearLayout
android:id="@+id/no_internet"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:visibility="gone"
android:background="#e8eaf6"
android:layout_centerInParent="true"
android:gravity="center" >
<ImageView
android:layout_width="70dp"
android:layout_height="70dp"
android:src="@drawable/no_wifi" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#404852"
android:gravity="center"
android:textSize="25dp"
android:text="Internet indisponible" />
</LinearLayout>
</RelativeLayout>

您已将 LinearLayout 设置为 match_parent。因此,LinearLayout 中的子视图将根据 LinearLayout 的规则对齐。

你应该做的是让LinearLayout包装它的内容,并使用android:layout_centerInParent="true"将整个LinearLayout居中。 安卓:layout_centerHorizontal="真" 安卓:layout_centerVertical="真">

只需在相对布局中设置重心,并在线性布局中换行内容宽度和高度

最新更新