`
huiji232
  • 浏览: 11825 次
社区版块
存档分类
最新评论

ListView添加ViewPager

阅读更多
引用
  ListView添加ViewPager  listView.addHeaderView(viewPager);

引用
viewpager_layout1.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.support.v4.view.ViewPager
        android:id="@+id/viewpager1"
        android:layout_width="match_parent"
        android:layout_height="300dp"
        />

</LinearLayout>

引用
viewpager_layout2.xml
  下面布局中
android:layout_width="match_parent"
android:layout_height="300dp"
属性无效
必须用代码方式设置宽和高
viewPager.setLayoutParams(new ListView.LayoutParams(
ListView.LayoutParams.MATCH_PARENT, 300)); 设置宽高

引用
viewpager_layout2.xml

<?xml version="1.0" encoding="utf-8"?>

    <android.support.v4.view.ViewPager
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/viewpager1"
        android:layout_width="match_parent"
        android:layout_height="300dp"
        />

import java.util.ArrayList;
import java.util.ArrayList;

import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.ViewPager;
import android.widget.ArrayAdapter;
import android.widget.ListView;
//因为import android.support.v4.app.Fragment;

//所以MainActivity继承自FragmentActivity
public class MainActivity extends FragmentActivity {
	private ArrayList<Fragment> fragmentList;
	private Fragment1 mfragment1;
	private Fragment2 mfragment2;
	private Fragment3 mfragment3;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		// 找到ListView
		ListView listView = (ListView) findViewById(R.id.listView1);
		ArrayList<String> list1 = new ArrayList<String>();
		list1.add("pfg");
		list1.add("124");
		list1.add("234");
		list1.add("456");
		list1.add("567");
		list1.add("567");
		// Fragment数组,为FragmentPagerAdapter准备
		mfragment1 = new Fragment1();
		mfragment2 = new Fragment2();
		mfragment3 = new Fragment3();
		fragmentList = new ArrayList<Fragment>();
		fragmentList.add(mfragment1);
		fragmentList.add(mfragment2);
		fragmentList.add(mfragment3);
		// 找到ViewPager
		ViewPager viewPager = (ViewPager) getLayoutInflater().inflate(
				R.layout.viewpager_layout2, null);
		// 设置 ViewPager的宽和高(重要)
		viewPager.setLayoutParams(new ListView.LayoutParams(
				ListView.LayoutParams.MATCH_PARENT, 300));
		// 设置ViewPager适配器
		viewPager
				.setAdapter(new MyViewPagerAdapter(getSupportFragmentManager()));

		// 布局viewpager_layout1 LinearLayout 中ViewPager
		// View view = getLayoutInflater().inflate(R.layout.viewpager_layout1,
		// null);
		// ViewPager viewPager = (ViewPager) view.findViewById(R.id.viewpager1);

		// viewPager.setLayoutParams(new LinearLayout.LayoutParams(
		// LinearLayout.LayoutParams.MATCH_PARENT, 300));

		viewPager
				.setAdapter(new MyViewPagerAdapter(getSupportFragmentManager()));
		// listView.addHeaderView(view);
		listView.addHeaderView(viewPager);
		listView.setAdapter(new ArrayAdapter<String>(this,
				android.R.layout.simple_list_item_1, list1));

	}

	// ViewPager适配器
	class MyViewPagerAdapter extends FragmentPagerAdapter {

		public MyViewPagerAdapter(FragmentManager fm) {
			super(fm);
			// TODO Auto-generated constructor stub
		}

		@Override
		public Fragment getItem(int arg0) {
			// TODO Auto-generated method stub
			return fragmentList.get(arg0);
		}

		@Override
		public int getCount() {
			// TODO Auto-generated method stub
			return fragmentList.size();
		}

	}

}

引用
源码地址http://pan.baidu.com/share/link?shareid=1731088090&uk=2099615464
分享到:
评论

相关推荐

    listView添加ViewPager实现同时滑动

    在Android开发中,ListView和ViewPager是两种非常常用的控件,分别用于展示长列表和实现页面间的滑动切换。当我们需要在一个列表项中嵌入多个页面视图时,将ListView与ViewPager结合使用就能达到同时滑动的效果。这...

    listview添加头部viewpager

    标题"listview添加头部viewpager"所指的就是在ListView中添加一个由ViewPager构成的头部视图,这样用户可以在浏览列表时,通过滑动头部的ViewPager查看更多的相关内容。下面将详细讲解如何实现这一功能。 首先,...

    listview与viewpager组合2

    1. 创建自定义的ListView Item布局:在这个布局中,我们需要添加一个ViewPager来承载每条新闻的详细内容。 2. 在ListView的Adapter中,为每个Item实例化一个ViewPager,并为其设置PagerAdapter。PagerAdapter可以是...

    ListView嵌入ViewPager等横向滚动控件冲突的终究解决方案

    - 在`onInterceptTouchEvent`中,添加判断逻辑,如果检测到的滑动方向是垂直的,则返回false,让事件传递给ListView处理。 2. **设置滚动监听器**: - 使用`OnTouchListener`为ListView设置监听器,捕获滑动事件...

    listview与viewpager组合

    将ListView与ViewPager结合使用,可以创建出更丰富的用户界面,比如在列表顶部添加一个可滑动的头部区域。下面我们将详细探讨如何将ViewPager作为ListView的Header来实现这一功能。 首先,我们需要理解ListView的...

    ListView_ViewPager01

    同时,可能还需要在ListView的点击事件中添加逻辑,以便在列表项展开时初始化和显示ViewPager,收缩时隐藏或销毁ViewPager。 此外,考虑到"ListView_ViewPager01"的项目名,可能还有其他的特性或功能,比如自定义...

    ListViewPager_完美解决ListView和ViewPager的滑动冲突

    例如,为ListView和ViewPager添加一个共同的父布局,然后在父布局中判断滑动手势,根据滑动方向决定将事件分发给哪个子视图。 4. **使用第三方库**:“ListViewPager”可能引用了一些第三方库,如`androidx....

    listView加viewPager 下拉刷新,上拉加载

    标题"listView加viewPager 下拉刷新,上拉加载"表明我们要讨论的是如何在这样一个组合视图中添加下拉刷新和上拉加载的功能。下面将详细讲解这两个功能的实现方法以及相关的技术点。 首先,ListView是Android中常用...

    listview嵌套viewpager(每行都是viewpager),并添加小圆点,及点击事件

    然而,有时我们需要在每个列表项中展示更丰富的信息,这时可以使用ListView嵌套ViewPager的布局方式。这个设计允许用户在每个ListView条目内滑动浏览多个子页面,就像在主页面中使用ViewPager一样。以下是对这个主题...

    ListView头视图为自动播放的ViewPager

    在布局XML文件中,添加ViewPager标签,并配置相应的属性。 2. 自定义Adapter:为了使ViewPager自动播放,我们需要创建一个自定义PagerAdapter,继承PagerAdapter并重写`instantiateItem()`和`destroyItem()`方法。...

    ListView嵌套Viewpager实现左滑打电话,右滑发短信

    在我们的场景中,每个ListView的列表项需要包含一个Viewpager,这意味着我们需要创建一个自定义的ListView适配器,其中的getView()方法会返回一个包含了Viewpager的布局。 Viewpager通常用于展示多个页面,如图片...

    ListView ViewPager ScrollView 修改边界色

    ListView、ViewPager和ScrollView是常见的视图组件,用于展示大量的数据或实现滚动效果。为了使界面更具吸引力和专业性,开发者经常需要自定义这些组件的外观,包括修改其边界颜色和添加边界阴影。本篇文章将深入...

    ListViewDemo:listview与viewpager结合,实现顶部轮播图

    1. **嵌套布局**:在ListView的顶部添加一个包含ViewPager的ViewGroup,如LinearLayout或RelativeLayout。这种方式需要手动处理ListView的滚动和ViewPager的联动,例如,当ListView向上滑动时,隐藏ViewPager;当...

    Android ViewPager实现画廊效果ListView Item添加动画集合

    在这个项目中,“AndroidViewPager实现画廊效果ListView Item添加动画集合”显然是为了创建一个包含动态效果的画廊应用,用户可以在`ListView`的每个Item中通过`ViewPager`浏览多个图片,同时每个Item还有相应的动画...

    viewpage嵌套listview,效果:滑动listview删除,滑动非listview区域viewpage翻页

    4. 动画效果:为了提供更好的用户体验,可以添加滑动删除动画和ViewPager翻页动画。 总的来说,实现这样的功能需要对Android的UI组件有深入的理解,以及对触摸事件处理、自定义Adapter和手势识别的熟悉。通过合理的...

    Android二级分类列表ListView GirdView in ViewPager

    在这种情况下,"Android二级分类列表ListView GridView in ViewPager" 的实现方式是一个重要的知识点。这个主题主要涉及如何在一个ViewPager中嵌套ListView和GridView,以便用户可以水平滑动切换不同的分类,同时每...

    Android viewpager+listview例子

    在Android开发中,`ViewPager`和`ListView`是两种非常重要的组件,它们分别用于实现页面滑动和列表显示。在本示例中,我们将探讨如何将`ViewPager`和`ListView`结合起来,创建一个动态滚屏并展示数据的交互式应用。 ...

    ViewPager+Listview上拉刷新下拉加载

    然而,在实际开发中,当`ViewPager`与`ListView`结合使用时,可能会遇到一些问题,比如如何实现在`ListView`中添加上拉刷新和下拉加载更多功能,同时解决两者之间的交互冲突。本篇将详细介绍如何解决这些问题。 ...

    最简单的viewpager + listview

    要实现这个效果,首先需要在布局文件中设置ViewPager,并为每个页面添加一个包含ListView的布局。然后创建一个自定义的PagerAdapter,继承自FragmentPagerAdapter或FragmentStatePagerAdapter,根据需要创建并返回每...

    ViewPager与listview的横向滚动

    在Android开发中,`ViewPager`和`ListView`是两种非常重要的视图组件,它们各自有着独特的功能和用途。`ViewPager`通常用于实现页面间的左右滑动切换,而`ListView`则用于显示大量的列表数据,支持垂直滚动。当需要...

Global site tag (gtag.js) - Google Analytics