ViewPager基本用法一

一、实现逻辑:

1、布局中加入ViewPager。2、加载要显示的页卡。3、设置适配器。

二、代码实现

1、布局中加入ViewPager,这个组件是用来显示左右滑动的界面的,如果不加载页卡,他是不显示内容的。

<android.support.v4.view.ViewPagerandroid:id="@+id/viewPager"android:layout_width="wrap_content"android:layout_height="wrap_content" />2、加载要显示的页卡

1)新建xml

<ImageViewandroid:id="@+id/iv"android:layout_width="wrap_content"android:layout_height="wrap_content"/>2)将xml加载到页卡,viewList中存放的是要在ViewPager中显示的内容。如果要改变每页的数据,可以在此处更改viewList=new ArrayList<View>();//加载viewView view1=LayoutInflater.from(this).inflate(R.layout.test, null);view1.findViewById(R.id.iv).setBackgroundResource(R.drawable.ic_launcher);View view2=LayoutInflater.from(this).inflate(R.layout.test, null);view2.findViewById(R.id.iv).setBackgroundResource(R.drawable.bestbang_head2);viewList.add(view1);viewList.add(view2);3)配置适配器。将数据、适配器和ViewPager关联。

谷歌建议ViewPager和Fragment一起使用。实现一个PagerAdapter,,必须至少覆盖以下方法:

①getCount()、②destroyItem(ViewGroup, int, Object)、③instantiateItem(ViewGroup, int)、④isViewFromObject(View, Object)

MyPagerAdapter adapter=new MyPagerAdapter();viewPager.setAdapter(adapter);class MyPagerAdapter extends PagerAdapter{@Overridepublic int getCount() {return viewList.size();}@Overridepublic boolean isViewFromObject(View arg0, Object arg1) {return arg0 == arg1;//官方提示这样写}@Overridepublic void destroyItem(ViewGroup container, int position, Object object) {container.removeView(viewList.get(position));//删除页卡}@Overridepublic Object instantiateItem(ViewGroup container, int position) {container.addView(viewList.get(position));//添加页卡return viewList.get(position);}}三、PagerTabStrip和PagerTitleStrip

他俩都是ViewPager的指示器。PagerTabStrip效果是一个横的粗的下划线(带标题),PagerTitleStrip是用来显示各个页卡的标题。用法:首先在xml中配置,然后在适配器里加载数据。

1) <android.support.v4.view.ViewPagerandroid:id="@+id/viewPager"android:layout_width="wrap_content"android:layout_height="wrap_content" ><android.support.v4.view.PagerTitleStripandroid:id="@+id/pagertitle"android:layout_width="wrap_content"android:layout_height="wrap_content"android:visibility="gone" /><android.support.v4.view.PagerTabStripandroid:id="@+id/pagertab"android:layout_width="wrap_content"android:layout_height="wrap_content"/></android.support.v4.view.ViewPager>2)@Overridepublic CharSequence getPageTitle(int position) {return titleList.get(position);//titleList=new ArrayList<String>();标题}//适配器里重写此方法

pagerTabStrip.setTabIndicatorColor(getResources().getColor(R.color.gold));//设置指示器的颜色

pagerTabStrip.setBackgroundColor(getResources().getColor(R.color.azure));//设置标题背景色

pagerTabStrip.setTextSpacing(50);//设置间距无效,不知道为什么。

此种方式优点:页卡随着标题移动。缺点:无法设置标题间距,标题随着页卡消失而消失,不能固定显示。

生命太过短暂,今天放弃了明天不一定能得到

ViewPager基本用法一

相关文章:

你感兴趣的文章:

标签云: