FrameLayout中的可滚动布局

时间:2014-05-15 21:35:56

标签: android xml android-layout scroll

我的Android应用程序上有一个FrameLayout但是我无法滚动这个布局的一部分...我已经尝试了一些解决方案来解决这个问题,但我可以&#39找不到补丁! 实际上,我希望在Scrollview标签之间看到可滚动的线性布局(可能是不需要linearlayout)。

这是我的xml:

<FrameLayout 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"
    tools:context="com.robertot.timereport.com.robertot.timereport.Pages.YearlyStatFragment">

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

            <LinearLayout
                android:orientation="vertical"
                android:layout_width="match_parent"
                android:layout_height="wrap_content">

                // Some views to scroll

            </LinearLayout>

        </ScrollView>

        <LinearLayout
            android:id="@+id/bottom_linear"
            android:layout_width="match_parent"
            android:layout_height="50dp"
            android:orientation="horizontal"
            android:layout_gravity="bottom"
            style="@android:style/Widget.Holo.Light.ActionBar.Solid">

            <Spinner
                android:id="@+id/spnYearY"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:layout_gravity="center_vertical"
                android:layout_marginLeft="8dp"/>

            <ImageButton
                android:id="@+id/btnFilter"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:src="@drawable/ic_search"
                android:background="@null"
                android:layout_weight="1"
                android:layout_gravity="center_vertical"/>

        </LinearLayout>

</FrameLayout>

谢谢! :)

3 个答案:

答案 0 :(得分:5)

在FrameLayout中,所有内容视图都是一个在另一个上面,因此正常行为是线性布局隐藏了前一个Scrollview的一部分。为什么不使用LinearLayout或相对布局而不是FrameLayout?

答案 1 :(得分:1)

感谢@Fernando!我已经解决了我的问题,原因是:

<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"
    tools:context="com.robertot.timereport.com.robertot.timereport.Pages.YearlyStatFragment">



    <ScrollView
        android:id="@+id/scrollyear"
        android:layout_width="fill_parent"
        android:layout_height="0dp"
        android:layout_weight="1" >

            <LinearLayout
                android:orientation="vertical"
                android:layout_width="match_parent"
                android:layout_height="wrap_content">

                //Some views

            </LinearLayout>

    </ScrollView>


        <LinearLayout
            android:id="@+id/bottom_linear"
            android:layout_width="match_parent"
            android:layout_height="50dp"
            android:orientation="horizontal"
            android:layout_gravity="bottom"
            style="@android:style/Widget.Holo.Light.ActionBar.Solid">

            <Spinner
                android:id="@+id/spnYearY"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:layout_gravity="center_vertical"
                android:layout_marginLeft="8dp"/>

            <ImageButton
                android:id="@+id/btnFilter"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:src="@drawable/ic_search"
                android:background="@null"
                android:layout_weight="1"
                android:layout_gravity="center_vertical"/>

        </LinearLayout>

</LinearLayout>

答案 2 :(得分:0)

您可以使用ScrollView环绕要滚动的视图,如下所示:

<ScrollView android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:background="#ffffff">

// the views here that you want to make scrollable

</ScrollView>