2016-12-19 21 views
-4

4つのグリッドビューを表示していますが、LinearLayoutをスクロール可能にしようとすると、それぞれのグリッドビューが単一のスクロールではなく1つのビューになります。アンドロイドでスクロール可能なビューを作成する必要があります

スクロール可能なgridviewの代わりにスクロール可能なビューを作成する必要があります。

誰でも私がこのコードで間違っているのを見ることができます。

<?xml version="1.0" encoding="utf-8"?> 
 
<ScrollView 
 
    xmlns:android="http://schemas.android.com/apk/res/android" 
 
    android:id="@+id/scroll" 
 
    android:layout_width="match_parent" 
 
    android:layout_height="wrap_content" 
 
    android:paddingBottom="@dimen/activity_vertical_margin" 
 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
 
    android:paddingRight="@dimen/activity_horizontal_margin" 
 
    android:paddingTop="@dimen/activity_vertical_margin"> 
 

 
    <LinearLayout 
 
     android:id="@+id/container" 
 
     android:orientation="vertical" 
 
     android:layout_width="match_parent" 
 
     android:layout_height="wrap_content"> 
 

 
     <LinearLayout 
 
      android:orientation="vertical" 
 
      android:layout_width="match_parent" 
 
      android:layout_height="wrap_content" 
 
      android:id="@+id/LinearFolders"> 
 

 
      <!--<RelativeLayout--> 
 
       <!--android:orientation="horizontal"--> 
 
       <!--android:layout_width="match_parent"--> 
 
       <!--android:layout_height="match_parent"--> 
 
       <!--android:padding="10dp">--> 
 

 
       <!--<TextView--> 
 
        <!--android:text="Folders"--> 
 
        <!--android:layout_width="wrap_content"--> 
 
        <!--android:layout_height="wrap_content"--> 
 
        <!--android:id="@+id/Folders"--> 
 
        <!--android:layout_alignBaseline="@+id/toggleButtonFolders" />--> 
 

 
       <!--<ToggleButton--> 
 
        <!--android:text="Toggle"--> 
 
        <!--android:layout_width="wrap_content"--> 
 
        <!--android:layout_height="wrap_content"--> 
 
        <!--android:id="@+id/toggleButtonFolders"--> 
 
        <!--android:layout_alignParentRight="true" />--> 
 

 
      <!--</RelativeLayout>--> 
 

 
      <GridView 
 
       android:id="@+id/gvFolders" 
 
       android:layout_width="match_parent" 
 
       android:layout_height="wrap_content" 
 
       android:columnWidth="90dp" 
 
       android:numColumns="auto_fit" 
 
       android:verticalSpacing="10dp" 
 
       android:horizontalSpacing="10dp" 
 
       android:stretchMode="columnWidth" 
 
       android:gravity="center"/> 
 
     </LinearLayout> 
 

 

 
     <LinearLayout 
 
      android:orientation="vertical" 
 
      android:layout_width="match_parent" 
 
      android:layout_height="wrap_content" 
 
      android:id="@+id/LinearDocuments"> 
 

 

 

 
      <!--<RelativeLayout--> 
 
       <!--android:orientation="horizontal"--> 
 
       <!--android:layout_width="match_parent"--> 
 
       <!--android:layout_height="match_parent"--> 
 
       <!--android:padding="10dp">--> 
 

 
       <!--<TextView--> 
 
        <!--android:text="Documents"--> 
 
        <!--android:layout_width="match_parent"--> 
 
        <!--android:layout_height="wrap_content"--> 
 
        <!--android:layout_alignBaseline="@+id/toggleButtonDocuments"--> 
 
        <!--android:id="@+id/txtDocuments" />--> 
 

 

 
       <!--<ToggleButton--> 
 
        <!--android:text="Toggle"--> 
 
        <!--android:layout_width="wrap_content"--> 
 
        <!--android:layout_height="wrap_content"--> 
 
        <!--android:id="@+id/toggleButtonDocuments"--> 
 
        <!--android:layout_alignParentRight="true" />--> 
 

 
      <!--</RelativeLayout>--> 
 

 
      <GridView 
 
       android:id="@+id/dvDocuments" 
 
       android:layout_width="match_parent" 
 
       android:layout_height="wrap_content" 
 
       android:columnWidth="90dp" 
 
       android:numColumns="auto_fit" 
 
       android:verticalSpacing="10dp" 
 
       android:horizontalSpacing="10dp" 
 
       android:stretchMode="columnWidth" 
 
       android:gravity="center"/> 
 
     </LinearLayout> 
 

 

 
     <LinearLayout 
 
      android:orientation="vertical" 
 
      android:layout_width="match_parent" 
 
      android:layout_height="wrap_content" 
 
      android:id="@+id/LinearImages"> 
 

 
      <!--<RelativeLayout--> 
 
       <!--android:orientation="horizontal"--> 
 
       <!--android:layout_width="match_parent"--> 
 
       <!--android:layout_height="match_parent"--> 
 
       <!--android:padding="10dp">--> 
 

 
       <!--<TextView--> 
 
        <!--android:text="Images"--> 
 
        <!--android:layout_width="wrap_content"--> 
 
        <!--android:layout_height="wrap_content"--> 
 
        <!--android:id="@+id/txtImages"--> 
 
        <!--android:layout_alignBaseline="@+id/toggleButtonImages" />--> 
 

 
       <!--<ToggleButton--> 
 
        <!--android:text="Toggle"--> 
 
        <!--android:layout_width="wrap_content"--> 
 
        <!--android:layout_height="wrap_content"--> 
 
        <!--android:id="@+id/toggleButtonImages"--> 
 
        <!--android:layout_alignParentRight="true" />--> 
 

 
      <!--</RelativeLayout>--> 
 

 
      <GridView 
 
       android:id="@+id/dvImages" 
 
       android:layout_width="match_parent" 
 
       android:layout_height="wrap_content" 
 
       android:columnWidth="90dp" 
 
       android:numColumns="auto_fit" 
 
       android:verticalSpacing="10dp" 
 
       android:horizontalSpacing="10dp" 
 
       android:stretchMode="columnWidth" 
 
       android:gravity="center"/> 
 
     </LinearLayout> 
 

 

 
     <LinearLayout 
 
      android:orientation="vertical" 
 
      android:layout_width="match_parent" 
 
      android:layout_height="wrap_content" 
 
      android:id="@+id/LinearOthers"> 
 

 
      <!--<RelativeLayout--> 
 
       <!--android:orientation="horizontal"--> 
 
       <!--android:layout_width="match_parent"--> 
 
       <!--android:layout_height="match_parent"--> 
 
       <!--android:padding="10dp">--> 
 

 
       <!--<TextView--> 
 
        <!--android:text="Others"--> 
 
        <!--android:layout_width="wrap_content"--> 
 
        <!--android:layout_height="wrap_content"--> 
 
        <!--android:id="@+id/txtOthers"--> 
 
        <!--android:layout_alignBaseline="@+id/toggleButtonOthers" />--> 
 

 
       <!--<ToggleButton--> 
 
        <!--android:text="Toggle"--> 
 
        <!--android:layout_width="wrap_content"--> 
 
        <!--android:layout_height="wrap_content"--> 
 
        <!--android:id="@+id/toggleButtonOthers"--> 
 
        <!--android:layout_alignParentRight="true" />--> 
 

 
      <!--</RelativeLayout>--> 
 

 
      <GridView 
 

 
       android:id="@+id/dvOthers" 
 
       android:layout_width="match_parent" 
 
       android:layout_height="wrap_content" 
 
       android:columnWidth="90dp" 
 
       android:numColumns="auto_fit" 
 
       android:verticalSpacing="10dp" 
 
       android:horizontalSpacing="10dp" 
 
       android:stretchMode="columnWidth" 
 
       android:gravity="center"/> 
 
     </LinearLayout> 
 

 

 
    </LinearLayout> 
 

 
</ScrollView>

+2

あなたは誰もが私はこのコードで間違ってやっているかを確認することができ、再び –

+2

* GridViewの機能を使用することを学ぶ必要がある*あなたは、スクロール可能にスクロール(GridViewコントロール)(入れていますScrollView)。 – Selvin

+0

ネストされたscollablesは頭痛(スクロールハンドラーが戦っている)を与えるでしょう。そしてネストされたレイアウトはあなたに悪いパフォーマンスを与えるでしょう。 –

答えて

0
<?xml version="1.0" encoding="utf-8"?> 
<ScrollView 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/scroll" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:paddingBottom="@dimen/activity_vertical_margin" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin"> 

    <LinearLayout 
     android:id="@+id/container" 
     android:orientation="vertical" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content"> 

     <LinearLayout 
      android:orientation="vertical" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:id="@+id/LinearFolders"> 

      <!--<RelativeLayout--> 
       <!--android:orientation="horizontal"--> 
       <!--android:layout_width="match_parent"--> 
       <!--android:layout_height="match_parent"--> 
       <!--android:padding="10dp">--> 

       <!--<TextView--> 
        <!--android:text="Folders"--> 
        <!--android:layout_width="wrap_content"--> 
        <!--android:layout_height="wrap_content"--> 
        <!--android:id="@+id/Folders"--> 
        <!--android:layout_alignBaseline="@+id/toggleButtonFolders" />--> 

       <!--<ToggleButton--> 
        <!--android:text="Toggle"--> 
        <!--android:layout_width="wrap_content"--> 
        <!--android:layout_height="wrap_content"--> 
        <!--android:id="@+id/toggleButtonFolders"--> 
        <!--android:layout_alignParentRight="true" />--> 

      <!--</RelativeLayout>--> 

      <GridView 
       android:id="@+id/gvFolders" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:columnWidth="90dp" 
       android:numColumns="auto_fit" 
       android:verticalSpacing="10dp" 
       android:horizontalSpacing="10dp" 
       android:stretchMode="columnWidth" 
       android:gravity="center"/> 
     </LinearLayout> 

    </LinearLayout> 

</ScrollView> 

ので、特定のGridViewにスクロールすべてのGridViewに特定のscrollviewのように置きます。

0

私は解決策を見つけました。信号ビューで複数のGridviewを使用する必要はありません。

デフォルトのgridviewではなく、リストでカスタムグリッドビューを作成しています。 これが私のために便利ですgithubのリンクを参照してください。 https://github.com/velos/SectionedGrid

関連する問題