简体   繁体   中英

android: simultaneously scrolling horizontal listView

Consider I have two Horizontal ListView as shown below:


list1


list2

I want to know if it is possible to make the second list (list2) view scroll horizontally simultaneously along with the scroll of first list (list1).....

That is when I scroll list1 (horizontal), even list2 must scroll by the same offset...

Is this possible, if yes, please do help...

![link to image]: https://picasaweb.google.com/109389839906668906213/January132012#5697019272538269218

You can do that - just create such layout and use scroll events:

list1.setOnScrollListener(new OnScrollListener() {
                public void onScrollStateChanged(AbsListView view, int scrollState) {
                    // TODO Auto-generated method stub

                }

                public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
                    list2.setSelectionFromTop(firstVisibleItem, list1.getChildAt(0).getTop());
                }
            });

Some explanation:

Better use list.setSelectionFromTop() than list.scrollTo() - because first visible item of first list can be shown partially.

list1.getChildAt(0).getTop() - is construction for getting value of X coordinate of first visible item.

As There is no HorizontalListView in Android, you must having another adapter view, anyway implement following:

list1.setOnItemSelectedListener(new OnItemSelectedListener()
{
   public void onItemSelected(AdapterView adapterView adapterView, View view, int position, long id){
       list2.setSelection(position);
   }
});

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM