【问题标题】:How to make a linear layout scrollable?如何使线性布局可滚动?
【发布时间】:2010-11-22 23:56:05
【问题描述】:

大家好 - 是否可以在需要时使整个线性布局可滚动? (当布局中的所有元素都不适合主屏幕时)?

我知道它可以用于视图等...但是有没有办法将布局上的所有内容合并为同时可滚动?

也许可滚动不是正确的术语...基本上 - 如果其中一个元素(在这种情况下为按钮)没有完全进入手机的主屏幕,我需要向下滑动手指才能访问它...如果这有意义的话。

【问题讨论】:

    标签: android xml layout scroll


    【解决方案1】:

    LinearLayout 是 View 的子类,因此您可以使用 View 做的任何事情都可以使用 Linear Layout。

    所以只需将 ScrollView 与单个 LinearLayout 一起用作子级

    【讨论】:

      【解决方案2】:

      只是举例说明其他人在谈论什么

      <?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">
      
          <LinearLayout
              android:layout_width="match_parent"
              android:layout_height="match_parent"
              android:gravity="center|left"
              android:orientation="vertical" >
      
               Here is your layout!
      
          </LinearLayout>
      
      </ScrollView>
      

      【讨论】:

        【解决方案3】:

        是的,您可以使用 ScrollView 使整个视图可滚动,但由于您只能包含一个主子视图,因此您必须在 ScrollView 中添加另一个 LinearView 视图并将其他视图放入其中。

        -主视图

        -- 滚动视图

        --- 线性视图

        ----子视图1

        ----子视图2

        ---- 子视图 3

        ....

        【讨论】:

          【解决方案4】:

          您可以使任何布局可滚动。在&lt;?xml version="1.0" encoding="utf-8"?&gt; 下方添加以下几行:

          <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
              android:layout_width="match_parent"
              android:layout_height="match_parent">
          

          最后加上&lt;/ScrollView&gt;

          不可滚动的活动示例:

          <?xml version="1.0" encoding="utf-8"?>
          <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
              xmlns:tools="http://schemas.android.com/tools"
              android:id="@+id/activity_main"
              android:layout_width="match_parent"
              android:layout_height="match_parent"
              android:orientation="vertical"
              android:paddingBottom="@dimen/activity_vertical_margin"
              android:paddingLeft="@dimen/activity_horizontal_margin"
              android:paddingRight="@dimen/activity_horizontal_margin"
              android:paddingTop="@dimen/activity_vertical_margin"
              android:verticalScrollbarPosition="right"
              tools:context="p32929.demo.MainActivity">
          
          
              <TextView
                  android:text="TextView"
                  android:layout_width="wrap_content"
                  android:layout_height="wrap_content"
                  android:layout_alignParentTop="true"
                  android:layout_centerHorizontal="true"
                  android:layout_marginTop="102dp"
                  android:id="@+id/textView"
                  android:textSize="30sp" />
          </RelativeLayout>
          

          使其可滚动后变成这样:

          <?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">
          
              <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
                  xmlns:tools="http://schemas.android.com/tools"
                  android:id="@+id/activity_main"
                  android:layout_width="match_parent"
                  android:layout_height="match_parent"
                  android:orientation="vertical"
                  android:paddingBottom="@dimen/activity_vertical_margin"
                  android:paddingLeft="@dimen/activity_horizontal_margin"
                  android:paddingRight="@dimen/activity_horizontal_margin"
                  android:paddingTop="@dimen/activity_vertical_margin"
                  android:verticalScrollbarPosition="right"
                  tools:context="p32929.demo.MainActivity">
          
          
                  <TextView
                      android:id="@+id/textView"
                      android:layout_width="wrap_content"
                      android:layout_height="wrap_content"
                      android:layout_alignParentTop="true"
                      android:layout_centerHorizontal="true"
                      android:layout_marginTop="102dp"
                      android:text="TextView"
                      android:textSize="30sp" />
              </RelativeLayout>
          </ScrollView>
          

          【讨论】:

            猜你喜欢
            • 2014-08-03
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多