如何滚动活动的一部分

时间:2016-08-11 18:25:30

标签: android

我有一个问题,我无法找到答案。 如何进行布局滚动并制作另一个不滚动的布局? 另一方面,我想做一个布局包括一些按钮,如果有必要滚动,我想在屏幕的底部放两个按钮,我不希望它们在滚动时消失。

<?xml version="1.0" encoding="utf-8"?>
<ScrollView
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:background="@drawable/background"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        tools:context="com.myname.myapp.MainActivity">

    // a bunch of Buttons and TextViews

    </RelativeLayout>
</scrollView>

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

      // two Moveless Buttons

</RelativeLayout>

但它没有用。

3 个答案:

答案 0 :(得分:3)

您的ScrollView的宽度和高度与父级相匹配。这意味着它占用了整个可用空间,为RelativeLayout留下了任何空间。您可能希望将已有的内容包装在LinearLayout中,然后使用layout_weight属性来划分空间。

答案 1 :(得分:1)

我不确定我明白你想做什么。但试试这个并提供反馈

(未在Android Studio中测试的代码示例)

         <?xml version="1.0" encoding="utf-8"?> 
   <RelativeLayout
       android:layout_width="match_parent"
       android:layout_height="match_parent"
                 >
        <ScrollView
                xmlns:android="http://schemas.android.com/apk/res/android"
                xmlns:tools="http://schemas.android.com/tools"
                android:background="@drawable/background"
                android:layout_width="match_parent"
                android:layout_height="match_parent">

                <RelativeLayout
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    tools:context="com.myname.myapp.MainActivity">

                // a bunch of Buttons an TextViews


                </RelativeLayout> 
            </ScrollView>

            <RelativeLayout
                android:layout_width="match_parent"
                android:layout_height="80dp (for example)>"
                   android:layout_alignParentBottom="true">

                  // two Moveless Buttons

            </RelativeLayout>
 </RelativeLayout>

答案 2 :(得分:1)

使用滚动视图使根成为垂直线性布局,以保持可滚动视图,使用RelativeLayout来保持按钮。

你可以通过向Scrollview应用1的权重来利用LinearLayout的加权能力,这样它就可以占用尽可能多的空间,而按钮保持 - RelativeLayout将是你最大按钮的大小。

以下是一个例子:

<?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:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <ScrollView
        android:background="@drawable/background"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1">

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            tools:context="com.myname.myapp.MainActivity">

        // a bunch of Buttons an TextViews

        </RelativeLayout>
    </ScrollView>

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

          // two Moveless Buttons

    </RelativeLayout>
</LinearLayout>

HTHS!