4

上にスクロールしても画面の一番上までスクロールしない、かなり単純なスクロールビューがあります。

 <?xml version="1.0" encoding="utf-8"?>
<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:myapp="http://schemas.android.com/apk/res/com.surreall.matchit"
    xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads" 

    android:orientation="vertical"
    android:layout_width="wrap_content"
    android:layout_height="fill_parent"
    android:background="@drawable/background"
    android:id="@+id/main_layout2"
    >

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

    <LinearLayout
            android:orientation="vertical"
            android:layout_width="wrap_content"
            android:layout_height="0dp"
            android:layout_marginTop="1dp"
            android:layout_gravity="center" 
            android:id="@+id/board"
            android:layout_weight="6"
            android:baselineAligned="false"

            >     
        <LinearLayout
            android:orientation="horizontal"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:layout_weight="1" 
            >

            <com.surreall.logo.SquareButton         
                android:layout_height="fill_parent"
                android:layout_width="0dip"          
                android:layout_weight="1"  >        
                <ImageView
                android:id="@+id/card1"
                android:layout_gravity="center"
                android:adjustViewBounds="true"
                android:scaleType="centerInside"
                android:layout_height="wrap_content"
                android:layout_width="0dp"          
                android:layout_weight="1" 
                android:layout_margin="4dp"
                /> </com.surreall.logo.SquareButton>

            <com.surreall.logo.SquareButton         
                android:layout_height="fill_parent"
                android:layout_width="0dip"          
                android:layout_weight="1"  >        
                <ImageView
                android:id="@+id/card2"
                android:layout_gravity="center"
                android:adjustViewBounds="true"
                android:scaleType="centerInside"
                android:layout_height="wrap_content"
                android:layout_width="0dp"          
                android:layout_weight="1" 
                android:layout_margin="4dp"
                /> </com.surreall.logo.SquareButton>
            <com.surreall.logo.SquareButton         
                android:layout_height="fill_parent"
                android:layout_width="0dip"          
                android:layout_weight="1"  >        
                <ImageView
                android:id="@+id/card3"
                android:layout_gravity="center"
                android:adjustViewBounds="true"
                android:scaleType="centerInside"
                android:layout_height="wrap_content"
                android:layout_width="0dp"          
                android:layout_weight="1" 
                android:layout_margin="4dp"
                /> </com.surreall.logo.SquareButton>
            <com.surreall.logo.SquareButton         
                android:layout_height="fill_parent"
                android:layout_width="0dip"          
                android:layout_weight="1"  >        
                <ImageView
                android:id="@+id/card4"
                android:layout_gravity="center"
                android:adjustViewBounds="true"
                android:scaleType="centerInside"
                android:layout_height="wrap_content"
                android:layout_width="0dp"          
                android:layout_weight="1" 
                android:layout_margin="4dp"
                /> </com.surreall.logo.SquareButton>

            </LinearLayout>  
       <LinearLayout
            android:orientation="horizontal"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center" 
            android:layout_weight="1"
            >
            <com.surreall.logo.SquareButton         
                android:layout_height="fill_parent"
                android:layout_width="0dip"          
                android:layout_weight="1"  >        
                <ImageView
                android:id="@+id/card5"
                android:layout_gravity="center"
                android:adjustViewBounds="true"
                android:scaleType="centerInside"
                android:layout_height="wrap_content"
                android:layout_width="0dp"          
                android:layout_weight="1" 
                android:layout_margin="4dp"
                /> </com.surreall.logo.SquareButton>

            <com.surreall.logo.SquareButton         
                android:layout_height="fill_parent"
                android:layout_width="0dip"          
                android:layout_weight="1"  >        
                <ImageView
                android:id="@+id/card6"
                android:layout_gravity="center"
                android:adjustViewBounds="true"
                android:scaleType="centerInside"
                android:layout_height="wrap_content"
                android:layout_width="0dp"          
                android:layout_weight="1" 
                android:layout_margin="4dp"
                /> </com.surreall.logo.SquareButton>
           <com.surreall.logo.SquareButton         
                android:layout_height="fill_parent"
                android:layout_width="0dip"          
                android:layout_weight="1"  >        
                <ImageView
                android:id="@+id/card7"
                android:layout_gravity="center"
                android:adjustViewBounds="true"
                android:scaleType="centerInside"
                android:layout_height="wrap_content"
                android:layout_width="0dp"          
                android:layout_weight="1" 
                android:layout_margin="4dp"
                /> </com.surreall.logo.SquareButton>
            <com.surreall.logo.SquareButton         
                android:layout_height="fill_parent"
                android:layout_width="0dip"          
                android:layout_weight="1"  >        
                <ImageView
                android:id="@+id/card8"
                android:layout_gravity="center"
                android:adjustViewBounds="true"
                android:scaleType="centerInside"
                android:layout_height="wrap_content"
                android:layout_width="0dp"          
                android:layout_weight="1" 
                android:layout_margin="4dp"
                /> </com.surreall.logo.SquareButton>       
            </LinearLayout> 
       <LinearLayout
            android:orientation="horizontal"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" 
            android:layout_weight="1"
            android:layout_gravity="center" 
            >
            <com.surreall.logo.SquareButton         
                android:layout_height="fill_parent"
                android:layout_width="0dip"          
                android:layout_weight="1"  >        
                <ImageView
                android:id="@+id/card9"
                android:layout_gravity="center"
                android:adjustViewBounds="true"
                android:scaleType="centerInside"
                android:layout_height="wrap_content"
                android:layout_width="0dp"          
                android:layout_weight="1" 
                android:layout_margin="4dp"
                /> </com.surreall.logo.SquareButton>
            <com.surreall.logo.SquareButton         
                android:layout_height="fill_parent"
                android:layout_width="0dip"          
                android:layout_weight="1"  >        
                <ImageView
                android:id="@+id/card10"
                android:layout_gravity="center"
                android:adjustViewBounds="true"
                android:scaleType="centerInside"
                android:layout_height="wrap_content"
                android:layout_width="0dp"          
                android:layout_weight="1" 
                android:layout_margin="4dp"
                /> </com.surreall.logo.SquareButton>
            <com.surreall.logo.SquareButton         
                android:layout_height="fill_parent"
                android:layout_width="0dip"          
                android:layout_weight="1"  >        
                <ImageView
                android:id="@+id/card11"
                android:layout_gravity="center"
                android:adjustViewBounds="true"
                android:scaleType="centerInside"
                android:layout_height="wrap_content"
                android:layout_width="0dp"          
                android:layout_weight="1" 
                android:layout_margin="4dp"
                /> </com.surreall.logo.SquareButton>
            <com.surreall.logo.SquareButton         
                android:layout_height="fill_parent"
                android:layout_width="0dip"          
                android:layout_weight="1"  >        
                <ImageView
                android:id="@+id/card12"
                android:layout_gravity="center"
                android:adjustViewBounds="true"
                android:scaleType="centerInside"
                android:layout_height="wrap_content"
                android:layout_width="0dp"          
                android:layout_weight="1" 
                android:layout_margin="4dp"
                /> </com.surreall.logo.SquareButton>       
            </LinearLayout>
        <LinearLayout
            android:orientation="horizontal"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:layout_weight="1"
            >
            <com.surreall.logo.SquareButton         
                android:layout_height="fill_parent"
                android:layout_width="0dip"          
                android:layout_weight="1"  >        
                <ImageView
                android:id="@+id/card13"
                android:layout_gravity="center"
                android:adjustViewBounds="true"
                android:scaleType="centerInside"
                android:layout_height="wrap_content"
                android:layout_width="0dp"          
                android:layout_weight="1" 
                android:layout_margin="4dp"
                /> </com.surreall.logo.SquareButton>
            <com.surreall.logo.SquareButton         
                android:layout_height="fill_parent"
                android:layout_width="0dip"          
                android:layout_weight="1"  >        
                <ImageView
                android:id="@+id/card14"
                android:layout_gravity="center"
                android:adjustViewBounds="true"
                android:scaleType="centerInside"
                android:layout_height="wrap_content"
                android:layout_width="0dp"          
                android:layout_weight="1" 
                android:layout_margin="4dp"
                /> </com.surreall.logo.SquareButton>
            <com.surreall.logo.SquareButton         
                android:layout_height="fill_parent"
                android:layout_width="0dip"          
                android:layout_weight="1"  >        
                <ImageView
                android:id="@+id/card15"
                android:layout_gravity="center"
                android:adjustViewBounds="true"
                android:scaleType="centerInside"
                android:layout_height="wrap_content"
                android:layout_width="0dp"          
                android:layout_weight="1" 
                android:layout_margin="4dp"
                /> </com.surreall.logo.SquareButton>
            <com.surreall.logo.SquareButton         
                android:layout_height="fill_parent"
                android:layout_width="0dip"          
                android:layout_weight="1"  >        
                <ImageView
                android:id="@+id/card16"
                android:layout_gravity="center"
                android:adjustViewBounds="true"
                android:scaleType="centerInside"
                android:layout_height="wrap_content"
                android:layout_width="0dp"          
                android:layout_weight="1" 
                android:layout_margin="4dp"
                /> </com.surreall.logo.SquareButton>       
            </LinearLayout>
            <LinearLayout
            android:orientation="horizontal"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:layout_weight="1"
            >
            <com.surreall.logo.SquareButton         
                android:layout_height="fill_parent"
                android:layout_width="0dip"          
                android:layout_weight="1"  >        
                <ImageView
                android:id="@+id/card17"
                android:layout_gravity="center"
                android:adjustViewBounds="true"
                android:scaleType="centerInside"
                android:layout_height="wrap_content"
                android:layout_width="0dp"          
                android:layout_weight="1" 
                android:layout_margin="4dp"
                /> </com.surreall.logo.SquareButton>
            <com.surreall.logo.SquareButton         
                android:layout_height="fill_parent"
                android:layout_width="0dip"          
                android:layout_weight="1"  >        
                <ImageView
                android:id="@+id/card18"
                android:layout_gravity="center"
                android:adjustViewBounds="true"
                android:scaleType="centerInside"
                android:layout_height="wrap_content"
                android:layout_width="0dp"          
                android:layout_weight="1" 
                android:layout_margin="4dp"
                /> </com.surreall.logo.SquareButton>
            <com.surreall.logo.SquareButton         
                android:layout_height="fill_parent"
                android:layout_width="0dip"          
                android:layout_weight="1"  >        
                <ImageView
                android:id="@+id/card19"
                android:layout_gravity="center"
                android:adjustViewBounds="true"
                android:scaleType="centerInside"
                android:layout_height="wrap_content"
                android:layout_width="0dp"          
                android:layout_weight="1" 
                android:layout_margin="4dp"
                /> </com.surreall.logo.SquareButton>
            <com.surreall.logo.SquareButton         
                android:layout_height="fill_parent"
                android:layout_width="0dip"          
                android:layout_weight="1"  >        
                <ImageView
                android:id="@+id/card20"
                android:layout_gravity="center"
                android:adjustViewBounds="true"
                android:scaleType="centerInside"
                android:layout_height="wrap_content"
                android:layout_width="0dp"          
                android:layout_weight="1" 
                android:layout_margin="4dp"
                /> </com.surreall.logo.SquareButton>       
            </LinearLayout>
            <LinearLayout
            android:orientation="horizontal"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:layout_weight="1"
            >
            <com.surreall.logo.SquareButton         
                android:layout_height="fill_parent"
                android:layout_width="0dip"          
                android:layout_weight="1"  >        
                <ImageView
                android:id="@+id/card21"
                android:layout_gravity="center"
                android:adjustViewBounds="true"
                android:scaleType="centerInside"
                android:layout_height="wrap_content"
                android:layout_width="0dp"          
                android:layout_weight="1" 
                android:layout_margin="4dp"
                /> </com.surreall.logo.SquareButton>
            <com.surreall.logo.SquareButton         
                android:layout_height="fill_parent"
                android:layout_width="0dip"          
                android:layout_weight="1"  >        
                <ImageView
                android:id="@+id/card22"
                android:layout_gravity="center"
                android:adjustViewBounds="true"
                android:scaleType="centerInside"
                android:layout_height="wrap_content"
                android:layout_width="0dp"          
                android:layout_weight="1" 
                android:layout_margin="4dp"
                /> </com.surreall.logo.SquareButton>
            <com.surreall.logo.SquareButton         
                android:layout_height="fill_parent"
                android:layout_width="0dip"          
                android:layout_weight="1"  >        
                <ImageView
                android:id="@+id/card23"
                android:layout_gravity="center"
                android:adjustViewBounds="true"
                android:scaleType="centerInside"
                android:layout_height="wrap_content"
                android:layout_width="0dp"          
                android:layout_weight="1" 
                android:layout_margin="4dp"
                /> </com.surreall.logo.SquareButton>
            <com.surreall.logo.SquareButton         
                android:layout_height="fill_parent"
                android:layout_width="0dip"          
                android:layout_weight="1"  >        
                <ImageView
                android:id="@+id/card24"
                android:layout_gravity="center"
                android:adjustViewBounds="true"
                android:scaleType="centerInside"
                android:layout_height="wrap_content"
                android:layout_width="0dp"          
                android:layout_weight="1" 
                android:layout_margin="4dp"
                /> </com.surreall.logo.SquareButton>       
            </LinearLayout>
            <LinearLayout
            android:orientation="horizontal"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:layout_weight="1"
            >
            <com.surreall.logo.SquareButton         
                android:layout_height="fill_parent"
                android:layout_width="0dip"          
                android:layout_weight="1"  >        
                <ImageView
                android:id="@+id/card25"
                android:layout_gravity="center"
                android:adjustViewBounds="true"
                android:scaleType="centerInside"
                android:layout_height="wrap_content"
                android:layout_width="0dp"          
                android:layout_weight="1" 
                android:layout_margin="4dp"
                /> </com.surreall.logo.SquareButton>
            <com.surreall.logo.SquareButton         
                android:layout_height="fill_parent"
                android:layout_width="0dip"          
                android:layout_weight="1"  >        
                <ImageView
                android:id="@+id/card26"
                android:layout_gravity="center"
                android:adjustViewBounds="true"
                android:scaleType="centerInside"
                android:layout_height="wrap_content"
                android:layout_width="0dp"          
                android:layout_weight="1" 
                android:layout_margin="4dp"
                /> </com.surreall.logo.SquareButton>
            <com.surreall.logo.SquareButton         
                android:layout_height="fill_parent"
                android:layout_width="0dip"          
                android:layout_weight="1"  >        
                <ImageView
                android:id="@+id/card27"
                android:layout_gravity="center"
                android:adjustViewBounds="true"
                android:scaleType="centerInside"
                android:layout_height="wrap_content"
                android:layout_width="0dp"          
                android:layout_weight="1" 
                android:layout_margin="4dp"
                /> </com.surreall.logo.SquareButton>
            <com.surreall.logo.SquareButton         
                android:layout_height="fill_parent"
                android:layout_width="0dip"          
                android:layout_weight="1"  >        
                <ImageView
                android:id="@+id/card28"
                android:layout_gravity="center"
                android:adjustViewBounds="true"
                android:scaleType="centerInside"
                android:layout_height="wrap_content"
                android:layout_width="0dp"          
                android:layout_weight="1" 
                android:layout_margin="4dp"
                /> </com.surreall.logo.SquareButton>       
            </LinearLayout>
            <LinearLayout
            android:orientation="horizontal"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:layout_weight="1"
            >
            <com.surreall.logo.SquareButton         
                android:layout_height="fill_parent"
                android:layout_width="0dip"          
                android:layout_weight="1"  >        
                <ImageView
                android:id="@+id/card29"
                android:layout_gravity="center"
                android:adjustViewBounds="true"
                android:scaleType="centerInside"
                android:layout_height="wrap_content"
                android:layout_width="0dp"          
                android:layout_weight="1" 
                android:layout_margin="4dp"
                /> </com.surreall.logo.SquareButton>
            <com.surreall.logo.SquareButton         
                android:layout_height="fill_parent"
                android:layout_width="0dip"          
                android:layout_weight="1"  >        
                <ImageView
                android:id="@+id/card30"
                android:layout_gravity="center"
                android:adjustViewBounds="true"
                android:scaleType="centerInside"
                android:layout_height="wrap_content"
                android:layout_width="0dp"          
                android:layout_weight="1" 
                android:layout_margin="4dp"
                /> </com.surreall.logo.SquareButton>
            <com.surreall.logo.SquareButton         
                android:layout_height="fill_parent"
                android:layout_width="0dip"          
                android:layout_weight="1"  >        
                <ImageView
                android:id="@+id/card31"
                android:layout_gravity="center"
                android:adjustViewBounds="true"
                android:scaleType="centerInside"
                android:layout_height="wrap_content"
                android:layout_width="0dp"          
                android:layout_weight="1" 
                android:layout_margin="4dp"
                /> </com.surreall.logo.SquareButton>
            <com.surreall.logo.SquareButton         
                android:layout_height="fill_parent"
                android:layout_width="0dip"          
                android:layout_weight="1"  >        
                <ImageView
                android:id="@+id/card32"
                android:layout_gravity="center"
                android:adjustViewBounds="true"
                android:scaleType="centerInside"
                android:layout_height="wrap_content"
                android:layout_width="0dp"          
                android:layout_weight="1" 
                android:layout_margin="4dp"
                /> </com.surreall.logo.SquareButton>       
            </LinearLayout>
     </LinearLayout> 
 </ScrollView>
</LinearLayout>

こんな感じ

4

3 に答える 3

10

こんにちは、私は同じ問題を抱えていました。調査の結果、解決策が見つかりました。XML コードでは、レイアウトで同じ間違いを犯していることがわかります。

問題は、ScrollView の子 (LinearLayout) レイアウトの重力を中央に設定していることです。この行を削除すると、うまくいくはずです。

android:layout_gravity="center"   //remove this line
于 2014-02-03T13:16:53.377 に答える
1

線形レイアウトの親の高さを 0dp に設定する理由。また、wrap_content のみを変更して再度テストする必要があります。

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

<LinearLayout
        android:orientation="vertical"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"  // changed to wrap content
        android:layout_marginTop="1dp"
        android:layout_gravity="center" 
        android:id="@+id/board"
        android:layout_weight="6"
        android:baselineAligned="false"

        >    

うまくいけばうまくいくはずです...この変更を親レイアウトにも試してみてください

<LinearLayout 
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:myapp="http://schemas.android.com/apk/res/com.surreall.matchit"
xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads" 

android:orientation="vertical"
android:layout_width="match_content"         // changed to match_parent
android:layout_height="match_parent"         // changed to match parent
android:background="@drawable/background"
android:id="@+id/main_layout2"
>
于 2012-08-14T09:42:42.523 に答える
0

レイアウトにはいくつかの問題があります。 topmostLinearLayoutを削除すると、ScrollViewの直接の子が 1 つだけ含まれるlayout_height="match_parent"ようになるため、ウェイトを使用してトリックを作成する場合は、ScrollView の単一の子となる LinearLayout 内で行う必要があります。

于 2015-07-24T16:16:09.277 に答える