如何将父视图居中并在滚动视图内的相对布局内添加视图下方
How to center a view in parent and add a view below it inside a Relative Layout inside a Scroll view
我想制作一个相对布局,用户可以向下滚动并有许多文本视图 - 从屏幕中央开始,每个视图都在另一个视图下方。
为此,我将我的相对布局包装在一个滚动视图中,并且我有两个文本视图。其中一个文本视图具有 android:layout_centerInParent="true"
,另一个具有 android:layout_centerHorizontal="true"
和 android:layout_below="first text view id"
。
问题是 android:layout_below="first text view id"
没有效果:我在屏幕中央看到第一个文本视图,在屏幕顶部水平居中看到另一个视图。
我的布局:
<?xml version="1.0" encoding="utf-8"?>
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true"
android:id= "@+id/chooseMapsScroll">
<RelativeLayout
android:id="@+id/chooseMaps"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/title"
android:fillViewport="true"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:text="test center in parent"
android:id="@+id/test_below"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:text="test center below"
android:layout_below="@id/test_below"/>
</RelativeLayout>
</ScrollView>
更新
我发现布局的背景图像是导致问题的原因。
证明:
That's the output I got without background image
That's the output I got with background image
<?xml version="1.0" encoding="utf-8"?>
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true"
android:id= "@+id/chooseMapsScroll">
<LinearLayout
android:id="@+id/chooseMaps"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/title"
android:gravity="center"
android:orientation="vertical">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="test center in parent"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="test center below"/>
</LinearLayout>
</ScrollView>
尝试这个,如果没有工作,请反馈。
尝试使用这个:
让我知道是否有任何事情,否则这肯定会起作用
尝试使用 LinearLayout
而不是
<?xml version="1.0" encoding="utf-8"?>
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true"
android:id= "@+id/chooseMapsScroll">
<LinearLayout
android:id="@+id/chooseMaps"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/title"
android:gravity="center"
android:orientation="vertical">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="test center in parent"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="test center below"/>
</LinearLayout>
</ScrollView>
我想制作一个相对布局,用户可以向下滚动并有许多文本视图 - 从屏幕中央开始,每个视图都在另一个视图下方。
为此,我将我的相对布局包装在一个滚动视图中,并且我有两个文本视图。其中一个文本视图具有 android:layout_centerInParent="true"
,另一个具有 android:layout_centerHorizontal="true"
和 android:layout_below="first text view id"
。
问题是 android:layout_below="first text view id"
没有效果:我在屏幕中央看到第一个文本视图,在屏幕顶部水平居中看到另一个视图。
我的布局:
<?xml version="1.0" encoding="utf-8"?>
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true"
android:id= "@+id/chooseMapsScroll">
<RelativeLayout
android:id="@+id/chooseMaps"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/title"
android:fillViewport="true"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:text="test center in parent"
android:id="@+id/test_below"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:text="test center below"
android:layout_below="@id/test_below"/>
</RelativeLayout>
</ScrollView>
更新 我发现布局的背景图像是导致问题的原因。
证明:
That's the output I got without background image
That's the output I got with background image
<?xml version="1.0" encoding="utf-8"?>
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true"
android:id= "@+id/chooseMapsScroll">
<LinearLayout
android:id="@+id/chooseMaps"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/title"
android:gravity="center"
android:orientation="vertical">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="test center in parent"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="test center below"/>
</LinearLayout>
</ScrollView>
尝试这个,如果没有工作,请反馈。
尝试使用这个:
让我知道是否有任何事情,否则这肯定会起作用
尝试使用 LinearLayout
而不是
<?xml version="1.0" encoding="utf-8"?>
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true"
android:id= "@+id/chooseMapsScroll">
<LinearLayout
android:id="@+id/chooseMaps"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/title"
android:gravity="center"
android:orientation="vertical">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="test center in parent"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="test center below"/>
</LinearLayout>
</ScrollView>