標籤:android gridview
關鍵代碼
/** * 設定GridView的寬度 * * @param defaultColumns 設定列數 4 * @param defaultRows 設定行數 2 */ private void setGridViewValue(GridView gridView, int postion, int defaultColumns, int defaultRows) { int count = recomGameAdapter.getCount(); gridView.setAdapter(recomGameAdapterList.get(postion)); int columns = 0; if (count >= 8) { //當count大於8時 如下排列 //| 1 | 3 | 5 | 7 | //| 2 | 4 | 6 | 8 | columns = (count % 2 == 0) ? count / 2 : count / 2 + 1; } else { //當count小于于8時 如下排列 //| 1 | 2 | 3 | 4 | //| 5 | 6 | 7 | 8 | columns = (count % defaultRows == 0) ? count / defaultRows : count / defaultRows + 1; if (columns < defaultColumns) { columns = defaultColumns; } } int columnWidth = (dm.widthPixels - mContext.getResources().getDimensionPixelOffset(R.dimen.home_common_margin) * 2) / defaultColumns; RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams (columns * columnWidth, RelativeLayout.LayoutParams.WRAP_CONTENT); gridView.setLayoutParams(params); gridView.setColumnWidth(columnWidth); // gridView.setHorizontalSpacing(hSpacing); gridView.setStretchMode(GridView.NO_STRETCH); gridView.setNumColumns(columns); }
布局檔案
<?xml version="1.0" encoding="utf-8"?><HorizontalScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/scrollView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:fillViewport="true" android:scrollbars="none"> <GridView android:id="@+id/recom_game_gv" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/day_recom_rl" android:numColumns="4" android:scrollbars="none" android:stretchMode="columnWidth"></GridView> <</HorizontalScrollView>
著作權聲明:本文為博主原創文章,未經博主允許不得轉載。
Android多行gridview橫向滑動的實現