Android自定义GridView显示一行,并且可以左右滑动

最近做一个类似滑动菜单栏的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>

 

posted @ 2013-03-21 16:15  有梦想的小人物  阅读(17408)  评论(1编辑  收藏  举报