2010-11-22 163 views
24

嘿所有 - 是否有可能使整個線性佈局在需要時可滾動? (當佈局中的所有元素都不適合主屏幕時)?如何使線性佈局可滾動?

我知道它可以與視圖等,但是有沒有辦法將所有的佈局合併爲可滾動的同時?

也許可滾動不是正確的術語...基本上 - 如果其中一個元素(在這種情況下是按鈕)沒有完全進入手機的主屏幕,我需要向下滑動手指訪問它...如果這是有道理的。

回答

55

LinearLayout是View的一個子類,所以任何你可以用View實現的功能都可以通過Linear Layout來實現。

所以只使用ScrollView與單一的LinearLayout作爲一個孩子

10

是的,你可以讓你的整體視圖可滾動使用ScrollView但因爲你只能包含一個主的孩子,所以你必須添加里面滾動型和另一LinearView查看把你的其他意見放在裏面。

- 主視圖

- 滾動型

--- LinearView

----子功能1

----子查看2

- - Sub View 3

....

27

只是舉例說明其他人在說什麼

<?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> 
1

,你可以做任何佈局滾動。剛下<?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"> 

,並在末尾添加非滾動活動</ScrollView>

例如:

<?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>