如何在垂直布局中开发最大和最小高度?

时间:2015-03-09 18:13:21

标签: android xml layout height max

我想开发这个设计:  The upper layout has a maximum height, and if it overcomes this height: a scroll bar is shown. And the bottom layout has a minimum height, and it is aligned to the bottom of the upper layout

上部布局具有最大高度,如果它克服了这个高度:显示滚动条。底部布局具有最小高度,并且与上部布局的底部对齐

<LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:weightSum="5"
        android:orientation="vertical">
        <RelativeLayout
            android:layout_weight="2"
            android:layout_width="match_parent"
            android:layout_height="match_parent">
            <ScrollView
                android:id="@+id/scrollView"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:fillViewport="true"
                android:scrollbarStyle="insideInset" >
                <TextView android:id="@+id/quest_question_text"
                    android:padding="5sp"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:background="@drawable/rectangle_quest"
                    style="@style/entry_style"/>
            </ScrollView>
        </RelativeLayout>   

        <RelativeLayout
            android:layout_weight="3"
            android:layout_width="match_parent"
            android:layout_height="match_parent">
            <ListView 
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:id="@+id/answer_list"/>
        </RelativeLayout>
    </LinearLayout>

感谢您的时间!

可能有一种方法可以设置相对布局的重量,具体取决于上部布局的大小。

1 个答案:

答案 0 :(得分:0)

我能想到的最好的方法就是使用这种布局。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >

<ScrollView
    android:id="@+id/scrollView"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:fillViewport="true"
    android:scrollbarStyle="insideInset" >

    <TextView
        android:id="@+id/quest_question_text"
        style="@style/entry_style"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@drawable/rectangle_quest"
        android:padding="5sp" />
</ScrollView>

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <ListView
        android:id="@+id/answer_list"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />
</RelativeLayout>
</LinearLayout>

创建视图时,获取设备的高度并设置scrollview minheight。

scrollView.setMinimumHeight(Height / 2);  <--- for 50%