横向listview,通过gridview实现
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="@dimen/_54px"
android:paddingLeft="@dimen/_18px"
android:orientation="horizontal">
<HorizontalScrollView
android:id="@+id/content_hslv"
android:layout_width="fill_parent"
android:layout_height="@dimen/_54px"
android:paddingLeft="@dimen/_18px"
android:scrollbars="none"
>
<LinearLayout
android:id="@+id/content_ll"
android:layout_width="fill_parent"
android:layout_height="@dimen/_54px"
android:orientation="horizontal" >
<GridView
android:id="@+id/content_gv"
android:layout_width="2000dp" //这个对方要超过屏幕的宽度。
android:layout_height="wrap_content"
android:background="@color/common_bg"
android:columnWidth="200dip"
android:horizontalSpacing="10dip"
android:verticalSpacing="10dip"
android:layout_gravity="center_vertical"
android:stretchMode="none"
android:numColumns="auto_fit" />
</LinearLayout>
</HorizontalScrollView>
</LinearLayout>
横向listview的实现需要注意点:
1)HorizontalScrollView 外面需要包含一层 LinearLayout
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="@dimen/_54px"
android:paddingLeft="@dimen/_18px"
android:orientation="horizontal">
2)HorizontalScrollView中需要 android:scrollbars="none"属性。
android:scrollbarStyle可以定义滚动条的样式和位置,用于Listview、scrollview等滚动view,可选值有insideOverlay、insideInset、outsideOverlay、outsideInset四种。
其中inside和outside分别表示是否在view的padding区域内,overlay和inset表示覆盖在view上或是插在view后面,所以四种值分别表示:
insideOverlay:默认值,表示在padding区域内并且覆盖在view上
insideInset:表示在padding区域内并且插入在view后面
outsideOverlay:表示在padding区域外并且覆盖在view上
outsideInset:表示在padding区域外并且插入在view后面
3)<GridView
android:id="@+id/content_gv"
android:layout_width="2000dp" //这个对方要超过屏幕的宽度。
android:layout_height="wrap_content"
android:background="@color/common_bg"
android:columnWidth="200dip"
android:horizontalSpacing="10dip"
android:verticalSpacing="10dip"
android:layout_gravity="center_vertical"
android:stretchMode="none"
android:numColumns="auto_fit" />
android:layout_width="2000dp" //这个对方要超过屏幕的宽度。
4)GridView的一些特殊属性:
1.android:numColumns=”auto_fit” //GridView的列数设置为自动
2.android:columnWidth=”90dp " //每列的宽度,也就是Item的宽度
3.android:stretchMode=”columnWidth"//缩放与列宽大小同步
4.android:verticalSpacing=”10dp” //两行之间的边距
5.android:horizontalSpacing=”10dp” //两列之间的边距
6.android:cacheColorHint="#00000000" //去除拖动时默认的黑色背景
7.android:listSelector="#00000000" //去除选中时的黄色底色
8.android:scrollbars="none" //隐藏GridView的滚动条
9.android:fadeScrollbars="true" //设置为true就可以实现滚动条的自动隐藏和显示
10.android:fastScrollEnabled="true" //GridView出现快速滚动的按钮(至少滚动4页才会显示)
11.android:fadingEdge="none" //GridView衰落(褪去)边缘颜色为空,缺省值是vertical。(可以理解为上下边缘的提示色)
12.android:fadingEdgeLength="10dip" //定义的衰落(褪去)边缘的长度
13.android:stackFromBottom="true" //设置为true时,你做好的列表就会显示你列表的最下面
14.android:transcriptMode="alwaysScroll" //当你动态添加数据时,列表将自动往下滚动最新的条目可以自动滚动到可视范围内
15.android:drawSelectorOnTop="false" //点击某条记录不放,颜色会在记录的后面成为背景色,内容的文字可见(缺省为false)