`
iamzhaozheng
  • 浏览: 159328 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Android下的横向ListView源代码下载

阅读更多

Android中,默认ListView都是纵向拖动的,横向拖动常用的有两种方式:

1.使用Gallery控件,但该控件限制较多,很多时候难以满足我们的要求。比如:用该控件选中其中一项时,该项会自动居中,这样的功能有时是不需要的。因此,该控件灵活性很小。

2.使用HorizentalScrollView,该控件可以支持横向滑动,但是并非使用AdapterView实现,不能管理内存。因此在内容较大较多时,会有内存问题。

因此,在一些情况下,我们需要像ListView一样的横向拖动控件,既能很灵活的使用,又有合适的内存管理功能。

推荐Paul Soucy写的HorizentalListView控件,使用时,仅需要将该类(HorizentalListView)加入工程,作为自定义控件调用即可,用法和ListView基本相同。


 

 

 

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

 

 

		HorizontalListView listview = (HorizontalListView) findViewById(R.id.listview);
		listview.setAdapter(mAdapter);
 

 

 

6
0
分享到:
评论
24 楼 z201008060102 2013-06-24  
- -!这个为啥不能用在片段里,都试过好多遍了
23 楼 mejonzhan 2013-04-09  
chx230861 写道
public void setSelection(int position) {}方法有实现的吗?急用,非常感谢

同问,有实现的吗????
22 楼 chx230861 2013-01-17  
public void setSelection(int position) {}方法有实现的吗?急用,非常感谢
21 楼 quda 2012-10-17  
Jasper_Success 写道
请问楼主,里面的demo为何不可用啊?
每次启动都显示ClassNotFoundException


xml里配置的自定义view地址不正确
20 楼 gangbener 2012-08-22  
zw_lovec 写道
不知道17楼的楼主到底改了HorizontalListView里面的哪一行,但是就是解决问题了,能晒一下吗?


哈哈!不是我,是写这个类的原作者更新了他的代码,解决了这个bug。

具体解决方式是在private void fillListRight(int rightEdge, final int dx)方法中增加了如下语句:
                        if (mMaxX < 0) {
mMaxX = 0;
}
原理请参看此处文章的评论部分:http://www.dev-smart.com/archives/34
19 楼 zw_lovec 2012-08-20  
不知道17楼的楼主到底改了HorizontalListView里面的哪一行,但是就是解决问题了,能晒一下吗?
18 楼 zw_lovec 2012-08-20  
好文要顶, 楼主真给力!!!!!
17 楼 gangbener 2012-08-14  
“求靠左”的同学们,我发现了解决方式,请看该链:https://github.com/dinocore1/DevsmartLib-Android,这里有作者最新更新的代码,已消除该问题。:)
16 楼 yeyuweiliang 2012-08-13  
楼主好~你的代码很好~
但是能不能一行显示一项呢?现在每一项全部在一行?
看到的话给我说下好吧?
麻烦之处~感激不禁
15 楼 gangbener 2012-08-09  
gangbener 写道
呃……,“求靠左”是怎么回事?我运行的结果是:本来就是靠左的啊~~,左边是第一个元素,右边是最后一个元素 。还是我没弄明白你们的问题??

明白了是什么问题。该问题我用了偷懒的方法解决:导致该问题的缘故是因为执行了new GestureDetector.SimpleOnGestureListener()的onFling和onScroll()方法中的代码,因此,定义一个变量,由该变量判断该ListView中的元素是否多到需要横向滑动显示,如果是,则照常执行onFling和onScroll()中的代码,如果否,则可直接返回true。

若有更好的方法敬请指教,:)
14 楼 gangbener 2012-08-09  
呃……,“求靠左”是怎么回事?我运行的结果是:本来就是靠左的啊~~,左边是第一个元素,右边是最后一个元素 。还是我没弄明白你们的问题??
13 楼 jscoolstar 2012-08-01  
求靠左。。。
12 楼 cgw0827 2012-07-31  
没有实现 public void setSelection(int position) {}方法  有很多地方不是很灵活。有哪位大侠实现了这个方法吗?
11 楼 说不出再见 2012-07-12  
马上实验一下啊
10 楼 xdxiaotao 2012-06-27  
谢了,正急着用呢
9 楼 liu321jie 2012-06-01  
    
8 楼 cgw0827 2012-05-21  
dinjone 写道
我X,怎么是靠右的呢?有什么方法可以靠左?

同问呀,我想要的是靠左的,怎么办啊?
7 楼 dinjone 2012-04-12  
我X,怎么是靠右的呢?有什么方法可以靠左?
6 楼 iamzhaozheng 2012-03-04  
Jasper_Success 写道
我这样试了,android:focusable="false"还是不行啊

sorry,我现在也不太能确定是什么问题
5 楼 Jasper_Success 2012-03-03  
我这样试了,android:focusable="false"还是不行啊

相关推荐

Global site tag (gtag.js) - Google Analytics