最近做一個類似滑動功能表列的title,綁定資料來源用的是GrildView,想要實現橫著滑動並且GrildView只顯示一行。最終採用代碼形式在Activity中動態添加布局實現。
ViewGroup.LayoutParams params = dishtype.getLayoutParams(); // dishtype,welist為ArrayList
int dishtypes = welist.size(); params.width = 115 * dishtypes; Log.d("看看這個寬度", params.width+""+welist.size()); dishtype.setLayoutParams(params); //設定列數為得到的list長度
dishtype.setNumColumns(welist.size());
布局檔案採用了HorizontalScrollView 這個控制項來控制左右滑動。
<HorizontalScrollView android:layout_width="match_parent" android:layout_height="wrap_content" android:scrollbars="none" > <FrameLayout android:layout_width="match_parent" android:layout_height="80dp" > <LinearLayout android:id="@+id/liear" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" > <GridView android:id="@+id/dishtype" android:layout_width="match_parent" android:layout_height="80dip" android:cacheColorHint="#00000000" android:columnWidth="108dip" android:gravity="center" android:horizontalSpacing="1.0dip" android:listSelector="#00000000" android:numColumns="auto_fit" android:stretchMode="spacingWidthUniform" android:verticalSpacing="1.0dip" > </GridView> </LinearLayout> </FrameLayout> </HorizontalScrollView>