我试图在中心对齐和证明这个相对布局的所有内容。
主要活动.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"
并将LinearLayout
的layout_width
和layout_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="真">
只需在相对布局中设置重心,并在线性布局中换行内容宽度和高度