布局xml:
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/classify_bg"
android:paddingBottom="6dp"
android:paddingTop="6dp" >
<ImageView
android:id="@+id/left_iv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="10dp"
android:layout_marginRight="4dp"
android:layout_alignParentLeft="true"
android:clickable="true"
android:src="@drawable/category_left" />
<ImageView
android:id="@+id/right_iv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="10dp"
android:layout_marginLeft="4dp"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:clickable="true"
android:src="@drawable/category_right" />
<HorizontalScrollView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_toLeftOf="@+id/right_iv"
android:layout_toRightOf="@+id/left_iv"
android:layout_centerVertical="true"
android:overScrollMode="never"
android:fadingEdge="none"
android:scrollbars="none" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<GridView
android:id="@+id/top_classify"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:listSelector="#00000000"
android:fadingEdge="none" />
</LinearLayout>
</HorizontalScrollView>
</RelativeLayout>
关键代码:
private void setGridParamer(List<InfoCatModel> result) {
DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
LayoutParams params = new LayoutParams(result.size() * (120 + 6),
LayoutParams.WRAP_CONTENT);
gridView.setLayoutParams(params);
gridView.setColumnWidth(120);
gridView.setHorizontalSpacing(6);
gridView.setStretchMode(GridView.NO_STRETCH);
gridView.setNumColumns(result.size());
}