我想在ScrollView
内部设置多个布局。当然ScrollView
只能包含一个子布局,所以这就是我所做的:
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true">
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_horizontal"
android:minHeight="50dp"
android:text="Top layout" />
</LinearLayout>
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="bottom layout"
android:gravity="center_horizontal" />
</LinearLayout>
</LinearLayout>
</ScrollView>
基本上我有一个LinearLayout
包含另外两个LinearLayout
s(&#34; top&#34;&#34; bottom&#34;)。
我希望顶部布局尽可能多占用空间,将底部布局留在最底部。
问题:通过在任何地方设置android:layout_height="match_parent"
,顶部布局占用所有空间,底部布局不会出现。
我该如何解决?
编辑:保持布局高度固定不是我想要的。尺寸必须能够垂直延伸。
答案 0 :(得分:1)
您将顶部布局的高度设置为match_parent
。这就是为什么它将Bottom布局推离屏幕的原因。请改用layout_height="0dp"
和layout_weight="1"
答案 1 :(得分:0)
试试这个:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/scrollView" >
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_gravity="top|center"
android:layout_height="472dp" >
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="Medium Text"
android:id="@+id/textView" />
</LinearLayout>
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_gravity="bottom|center"
android:layout_height="100dp" >
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="Medium Text"
android:id="@+id/textView4" />
</LinearLayout>
</LinearLayout>
</ScrollView>
</RelativeLayout>
答案 2 :(得分:0)
herr你需要什么
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true">
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content"
>
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_horizontal"
android:minHeight="50dp"
android:text="Top layout" />
</LinearLayout>
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="bottom layout"
android:gravity="center_horizontal" />
</LinearLayout>
</LinearLayout>
</ScrollView>
第一个子布局中的需要添加 android:layout_weight =&#34; 1&#34;