如何在listview中使用水平滚动?

时间:2013-01-18 04:36:54

标签: android listview horizontalscrollview

我正在开发一个Android应用程序。创建Layout,其中包含不同的布局。

还有一个listview。我将custom adapter用于listview。我想在listview中显示水平滚动。但是当我在其中应用水平滚动时,它会显示每个项目。但不是最后一次。

请建议我如何申请。

代码如下: -

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/bg" >

<include
    android:id="@+id/mainScreenHeader"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    layout="@layout/main_screen_header" />

<include
    android:id="@+id/mainScreenListHeader"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_below="@+id/mainScreenHeader"
    layout="@layout/main_screen_list_header" >
</include>

<ListView
    android:id="@+id/list"
    android:layout_width="fill_parent"
    android:layout_height="270dp"
    android:layout_below="@+id/mainScreenListHeader"
    android:cacheColorHint="#00000000"
    android:drawSelectorOnTop="false" />

<include
    android:id="@+id/mainScreenFilterClient"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_below="@+id/list"
    android:layout_marginTop="10dp"
    layout="@layout/main_screen_filter_client" >
</include>

<include
    android:id="@+id/footer"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_below="@+id/mainScreenFilterClient"
    android:layout_marginTop="10dp"
    layout="@layout/footer" >
</include>

5 个答案:

答案 0 :(得分:2)

我正在使用这个库你可以尝试这个:

https://github.com/sephiroth74/HorizontalVariableListView

答案 1 :(得分:1)

在dev-smart

上有一篇关于此的优秀文章

Horizontal Scroll in ListView

检查这个

答案 2 :(得分:0)

HorizontalListView文件中声明xml

    HorizontalScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:fillViewport="true" 

答案 3 :(得分:0)

这会帮助你..

<com.devsmart.android.ui.horizontiallistview 
android:id="@+id/listview" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content"
android:background="#ddd"> 

android:orientation="horizontal"

答案 4 :(得分:0)

您应该通过声明几种类型的视图在适配器中执行此操作。然后,对于每个元素,您返回第一种类型的视图,最后一个 - 也就是Horizo​​ntalScrollView。:

@Override
public int getViewTypeCount() {
    return 2;
}

@Override
public int getItemViewType(int position) {
    return isLastPositionInList ? 1 : 0;
}

然后

@Override
public View getView(int position, View convertView, ViewGroup parent) {

    final int itemViewType = getItemViewType(position);

    switch(itemViewType) {
        case 0:
           // prepare here your usual view
        case 1:
           // prepare here the horizontal view