ListView与ViewPager组合(一)
来源:互联网 发布:java关键字 false 编辑:程序博客网 时间:2024/06/14 11:52
listview与viewpager组合常用的有两种方式,第一种为listview添加header,我们把viewpager设置为listview的header便可以实现,第二种是把viewpager设置为listview的第一个选项。两种方式实现的效果是一样的,但是第一种方式结构比较清晰,在后续我们设置监听的时候也比较简单,个人不推荐使用第二种方式。这里我们用第一种方式,下一篇我们再介绍第二种。
实现效果我就不截图了,就是viewpager能跟着listview上下滑动,而viewpager可以左右滑动。
onCreate方法
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); context = getApplicationContext(); initView(); initData(); }
第一步:加载布局
private void initView() { setContentView(R.layout.activity_main); listView = (ListView) findViewById(R.id.lv_main); View header = View.inflate(context, R.layout.listview_header, null); viewPager = (ViewPager) header.findViewById(R.id.viewpager_main); listView.addHeaderView(header);//在setAdapter前 }
第二步:加载数据并设置adapter
private void initData() { String[] viewPagerData = new String[]{"第一页", "第二页", "第三页", "第四页", "第五页"}; String[] listViewData = new String[15]; for (int i = 0; i < listViewData.length; i++) { listViewData[i] = "item" + i; } listViewAdapter = new ListViewAdapter(context, listViewData); viewPagerAdapter = new ViewPagerAdapter(context, viewPagerData); listView.setAdapter(listViewAdapter); viewPager.setAdapter(viewPagerAdapter); }
好了,实现了这两步,基本就大功告成了。下面是布局文件,比较简单,也就贴上来了
activity_main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@color/main_bg" tools:context=".MainActivity"> <ListView android:id="@+id/lv_main" android:layout_width="match_parent" android:layout_height="match_parent"></ListView></RelativeLayout>
listview_header.xml
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <android.support.v4.view.ViewPager android:id="@+id/viewpager_main" android:layout_width="match_parent" android:layout_height="300dp"></android.support.v4.view.ViewPager></LinearLayout>
viewpager_item.xml
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <TextView android:id="@+id/tv_viewpager_item" android:layout_width="match_parent" android:layout_height="wrap_content" android:textColor="@color/black" android:textSize="24sp" /></LinearLayout>
listview_item.xml
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <TextView android:id="@+id/tv_listview_item" android:layout_width="match_parent" android:layout_height="match_parent" android:padding="30dp" android:textColor="@color/black" android:textSize="20sp" /></LinearLayout>
下篇我们将接着介绍第二种方式,viewpager设置为listview的第一个选项。
ListView与ViewPager组合(二)
源码下载
0 1
- ListView与ViewPager组合(一)
- ListView与ViewPager组合(二)
- TabLayout与ViewPager组合
- ViewPager+下拉刷新ListView超强组合
- ViewPager组合其他View的简单使用(一)
- Android基础:ListView + ViewPager ( 一 )
- listview与viewpager焦点冲突
- listview与viewpager结合使用
- ViewPager+下拉刷新ListView超强组合(实现360手机助手首页的效果)
- TabLayout与ViewPager组合实现tab导航
- TabLayout与ViewPager的组合使用
- 位运算与组合搜索(一)
- ListView与ViewPager的滑动冲突
- Scrollview和listview 与VIewpager冲突问题
- ViewPager + ListView
- ListView与CheckBox组合实现单选
- 王学岗Viewpager(一)
- ViewPager使用(一)
- 网站推荐大全
- 随笔分类 - 无废话ExtJs系列教程
- JAVA注解
- ZOJ-3826-Hierarchical Notation【哈希】
- linux 技巧:使用 screen 管理你的远程会话http://www.ibm.com/developerworks/cn/linux/l-cn-screen/
- ListView与ViewPager组合(一)
- spring boot实战(第六篇)加载application资源文件源码分析
- SSH的一些面试题
- 项目32.2 输出小星星
- android中context的详解
- POJ 1469 COURSES(二分图匹配)
- 弱校联萌十一大决战之强力热身 E. Rectangle (规律)
- php __set() __get() 方法访问属性
- poj2142