2013-11-26 108 views
2

我無法在ScrollView下看到最多的視圖。 我已將scrollview放置在相對佈局下。 ScrollView有一個子佈局,即具有一系列按鈕的線性佈局。 問題是我無法看到ScrollView中存在的最頂層視圖。滾動視圖不顯示Android中的所有視圖

下面是佈局xml代碼。

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:background="#217d27" 
    android:orientation="vertical" > 

    <RelativeLayout 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_marginTop="5dp" > 

     <Button 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_alignParentLeft="true" 
      android:layout_centerVertical="true" 
      android:layout_marginLeft="10dp" 
      android:onClick="backPressed" 
      android:text="Back" 
      android:textColor="#000" /> 

     <TextView 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:layout_centerVertical="true" 
      android:gravity="center" 
      android:text="Heading Text" 
      android:textColor="#fff" 
      android:textSize="20sp" /> 

     <Button 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_alignParentRight="true" 
      android:layout_centerVertical="true" 
      android:layout_marginRight="10dp" 
      android:onClick="homeButtonClicked" 
      android:text="Home" 
      android:textColor="#000" /> 
    </RelativeLayout> 

    <ScrollView 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:fadingEdge="none" 
     android:fillViewport="true" > 

     <LinearLayout 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:layout_gravity="center" 
      android:background="#fff" 
      android:orientation="vertical" > 

      <Button 
       android:layout_width="200dp" 
       android:layout_height="wrap_content" 
       android:layout_gravity="center" 
       android:text="Button 1" 
       android:textColor="@color/black" /> 

      <Button 
       android:layout_width="200dp" 
       android:layout_height="wrap_content" 
       android:layout_gravity="center" 
       android:layout_marginTop="10dp" 
       android:text="Button 2" 
       android:textColor="@color/black" /> 

      <Button 
       android:layout_width="200dp" 
       android:layout_height="wrap_content" 
       android:layout_gravity="center" 
       android:layout_marginTop="10dp" 
       android:text="Button 3" 
       android:textColor="@color/black" /> 

      <Button 
       android:layout_width="200dp" 
       android:layout_height="wrap_content" 
       android:layout_gravity="center" 
       android:layout_marginTop="10dp" 
       android:text="Button 4" 
       android:textColor="@color/black" /> 

      <Button 
       android:layout_width="200dp" 
       android:layout_height="wrap_content" 
       android:layout_gravity="center" 
       android:layout_marginTop="10dp" 
       android:text="Button 5" 
       android:textColor="@color/black" /> 

      <Button 
       android:layout_width="200dp" 
       android:layout_height="wrap_content" 
       android:layout_gravity="center" 
       android:layout_marginTop="10dp" 
       android:text="Button 6" 
       android:textColor="@color/black" /> 

      <Button 
       android:layout_width="200dp" 
       android:layout_height="wrap_content" 
       android:layout_gravity="center" 
       android:layout_marginTop="10dp" 
       android:text="Button 7" 
       android:textColor="@color/black" /> 

      <Button 
       android:layout_width="200dp" 
       android:layout_height="wrap_content" 
       android:layout_gravity="center" 
       android:layout_marginTop="10dp" 
       android:text="Button 8" 
       android:textColor="@color/black" /> 

      <Button 
       android:layout_width="200dp" 
       android:layout_height="wrap_content" 
       android:layout_gravity="center" 
       android:layout_marginTop="10dp" 
       android:text="Button 9" 
       android:textColor="@color/black" /> 

      <Button 
       android:layout_width="200dp" 
       android:layout_height="wrap_content" 
       android:layout_gravity="center" 
       android:layout_marginTop="10dp" 
       android:text="Button 10" 
       android:textColor="@color/black" /> 

      <Button 
       android:layout_width="200dp" 
       android:layout_height="wrap_content" 
       android:layout_gravity="center" 
       android:layout_marginTop="10dp" 
       android:text="Button 11" 
       android:textColor="@color/black" /> 

      <Button 
       android:layout_width="200dp" 
       android:layout_height="wrap_content" 
       android:layout_gravity="center" 
       android:layout_marginTop="10dp" 
       android:text="Button 12" 
       android:textColor="@color/black" /> 
     </LinearLayout> 
    </ScrollView> 

</LinearLayout> 

請參閱屏幕截圖以供參考。

Screen shot

+0

使用相對佈局而不是線性作爲父項。 –

+0

Nope相對佈局也不起作用。我得到了同樣的結果。 – ravi

+0

你的代碼是99%完美只是刪除1行只看到我的回答我更新你的代碼夥計和你總是歡迎:) –

回答

8

只是刪除線性佈局這條線是滾動視圖的直接子 機器人:layout_gravity =「中心」試試這個代碼更新

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:background="#217d27" 
    android:orientation="vertical" > 

    <RelativeLayout 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_marginTop="5dp" > 

     <Button 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_alignParentLeft="true" 
      android:layout_centerVertical="true" 
      android:layout_marginLeft="10dp" 
      android:onClick="backPressed" 
      android:text="Back" 
      android:textColor="#000" /> 

     <TextView 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:layout_centerVertical="true" 
      android:gravity="center" 
      android:text="Heading Text" 
      android:textColor="#fff" 
      android:textSize="20sp" /> 

     <Button 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_alignParentRight="true" 
      android:layout_centerVertical="true" 
      android:layout_marginRight="10dp" 
      android:onClick="homeButtonClicked" 
      android:text="Home" 
      android:textColor="#000" /> 
    </RelativeLayout> 

    <ScrollView 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:fadingEdge="none" 
     android:fillViewport="true" > 

     <LinearLayout 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:background="#fff" 
      android:orientation="vertical" > 

      <Button 
       android:layout_width="200dp" 
       android:layout_height="wrap_content" 
       android:layout_gravity="center" 
       android:text="Button 1" 
       android:textColor="@color/black" /> 

      <Button 
       android:layout_width="200dp" 
       android:layout_height="wrap_content" 
       android:layout_gravity="center" 
       android:layout_marginTop="10dp" 
       android:text="Button 2" 
       android:textColor="@color/black" /> 

      <Button 
       android:layout_width="200dp" 
       android:layout_height="wrap_content" 
       android:layout_gravity="center" 
       android:layout_marginTop="10dp" 
       android:text="Button 3" 
       android:textColor="@color/black" /> 

      <Button 
       android:layout_width="200dp" 
       android:layout_height="wrap_content" 
       android:layout_gravity="center" 
       android:layout_marginTop="10dp" 
       android:text="Button 4" 
       android:textColor="@color/black" /> 

      <Button 
       android:layout_width="200dp" 
       android:layout_height="wrap_content" 
       android:layout_gravity="center" 
       android:layout_marginTop="10dp" 
       android:text="Button 5" 
       android:textColor="@color/black" /> 

      <Button 
       android:layout_width="200dp" 
       android:layout_height="wrap_content" 
       android:layout_gravity="center" 
       android:layout_marginTop="10dp" 
       android:text="Button 6" 
       android:textColor="@color/black" /> 

      <Button 
       android:layout_width="200dp" 
       android:layout_height="wrap_content" 
       android:layout_gravity="center" 
       android:layout_marginTop="10dp" 
       android:text="Button 7" 
       android:textColor="@color/black" /> 

      <Button 
       android:layout_width="200dp" 
       android:layout_height="wrap_content" 
       android:layout_gravity="center" 
       android:layout_marginTop="10dp" 
       android:text="Button 8" 
       android:textColor="@color/black" /> 

      <Button 
       android:layout_width="200dp" 
       android:layout_height="wrap_content" 
       android:layout_gravity="center" 
       android:layout_marginTop="10dp" 
       android:text="Button 9" 
       android:textColor="@color/black" /> 

      <Button 
       android:layout_width="200dp" 
       android:layout_height="wrap_content" 
       android:layout_gravity="center" 
       android:layout_marginTop="10dp" 
       android:text="Button 10" 
       android:textColor="@color/black" /> 

      <Button 
       android:layout_width="200dp" 
       android:layout_height="wrap_content" 
       android:layout_gravity="center" 
       android:layout_marginTop="10dp" 
       android:text="Button 11" 
       android:textColor="@color/black" /> 

      <Button 
       android:layout_width="200dp" 
       android:layout_height="wrap_content" 
       android:layout_gravity="center" 
       android:layout_marginTop="10dp" 
       android:text="Button 12" 
       android:textColor="@color/black" /> 
     </LinearLayout> 
    </ScrollView> 

</LinearLayout> 
1

嘗試將父佈局更改爲線性。它可能工作。不知道如何和爲什麼,但對我來說,它在類似的情況下工作。試一試。

7

只要改變LinearLayoutScrollView

<LinearLayout 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_gravity="top|center" 
     android:background="#fff" 
     android:orientation="vertical" > 

給出android:layout_gravity="top|center"而不是android:layout_gravity="center"

希望它有幫助。

+0

非常感謝你Anuj。 – ravi

+0

噢,我的天啊..太多了:D – Jenson

3

此值幫我解決了類似的問題:在滾動型 fillViewport =「true」,並使用Android: 集機器人重力,而不是機器人:在滾動型孩子layout_gravity,在我的情況下的LinearLayout清除所有重量。

-1

在LinearLayout中使用android:layout_gravity =「center」