我非常熟悉Android上的布局,但我无法解释这个:
<RelativeLayout
android:id="@+id/mask_for_not_authenticated"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white"
android:gravity="center">
<TextView
android:id="@+id/notLoggedTV"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="You are not logged in, you haven't any profile to be shown" />
<Button
android:id="@+id/loginButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/notLoggedTV"
android:padding="8dp"
android:layout_centerHorizontal="true"
android:text="What? How is it possible?! I want to be in!" />
</RelativeLayout>
当然,它在设备上看起来一样,并且浮动按钮不在布局中。而TextView正处于中间位置。
为什么结果不居中?我已经尝试layout_centerInParent
并且也没有做任何事情(让gravity=center
做),但没有成功。
答案 0 :(得分:1)
试试这个:
<TextView
android:id="@+id/notLoggedTV"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_above="@+id/loginButton"
android:gravity="center"
android:textColor="@color/black"
android:text="You are not logged in, you haven't any profile to be shown" />
<Button
android:id="@+id/loginButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="8dp"
android:layout_centerInParent="true"
android:text="What? How is it possible?! I want to be in!" />
从android:gravity="center"
删除RelativeLayout
。
答案 1 :(得分:1)
更改TextView宽度以匹配parrent并将重力设置为居中
<RelativeLayout
android:id="@+id/mask_for_not_authenticated"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white"
android:gravity="center_vertical"
android:visibility="gone">
<TextView
android:id="@+id/notLoggedTV"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:text="You are not logged in, you haven't any profile to be shown" />
<Button
android:id="@+id/loginButton"
android:layout_below="@id/notLoggedTV"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="8dp"
android:layout_centerHorizontal="true"
android:text="What? How is it possible?! I want to be in!" />
</RelativeLayout>
答案 2 :(得分:0)
您的代码中存在冗余。您的父母将重力设置为居中,因此您不需要在您的孩子中设置任何位置标记,以使其正确居中。
<RelativeLayout
android:id="@+id/mask_for_not_authenticated"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white"
android:gravity="center">
<TextView
android:id="@+id/notLoggedTV"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="You are not logged in, you haven't any profile to be shown" />
<Button
android:id="@+id/loginButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/notLoggedTV"
android:padding="8dp"
android:text="What? How is it possible?! I want to be in!" />
答案 3 :(得分:0)
这将为您提供所需的中心效果。我没有看到这是在RelativeLayout中。
<RelativeLayout
android:id="@+id/mask_for_not_authenticated"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white">
<TextView
android:id="@+id/notLoggedTV"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:text="You are not logged in, you haven't any profile to be shown" />
<Button
android:id="@+id/loginButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/notLoggedTV"
android:padding="8dp"
android:layout_below="@id/notLoggedTV"
android:layout_centerHorizontal="true"
android:text="What? How is it possible?! I want to be in!" />
答案 4 :(得分:0)
删除重力:
<RelativeLayout
android:id="@+id/mask_for_not_authenticated"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white"
xmlns:android="http://schemas.android.com/apk/res/android">
<TextView
android:layout_centerInParent="true"
android:id="@+id/notLoggedTV"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="You are not logged in, you haven't any profile to be shown" />
<Button
android:id="@+id/loginButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/notLoggedTV"
android:padding="8dp"
android:layout_centerHorizontal="true"
android:text="What? How is it possible?! I want to be in!" />
</RelativeLayout>