ViewPagerIndicator(ViewPager指示器)
2016-06-21 21:03
211 查看
ViewPager划动时下滑线跟随并且显示不同内容
(仿今日头条上面的标签)效果如图:要想实现以上效果可根据项目中提供的字段名进行变更,以下只是个人学习时总结的一小部分,如有不妥可留言,互相学习共同进步。
1、首先下载PagerSlidingTabStripLib库包(第三方)
2、创建自己的项目并与以上库包关联
3、在activity_main.xml中设置
<LinearLayout 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:orientation="vertical" xmlns:app="http://schemas.android.com/apk/res/com.bwie.viewpagerindection"> <!-- 17731775956 --> <LinearLayout android:layout_width="match_parent" android:layout_height="40dp" android:orientation="horizontal" > <com.astuetz.PagerSlidingTabStrip android:layout_width="0dp" android:layout_weight="1" android:layout_height="40dp" android:id="@+id/psts" app:pstsIndicatorColor="#ff08" app:pstsIndicatorHeight="3dp" ></com.astuetz.PagerSlidingTabStrip> <ImageView android:layout_width="40dp" android:layout_height="match_parent" android:id="@+id/iv" android:background="@drawable/ic_launcher" /> </LinearLayout> <android.support.v4.view.ViewPager android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/vp" ></android.support.v4.view.ViewPager> </LinearLayout>
4、代码中实现部分
package com.bwie.viewpagerindection; import com.astuetz.PagerSlidingTabStrip; import com.bwie.viewpagerindection.fragment.ErrorFrag; import com.bwie.viewpagerindection.fragment.Frag1; import com.bwie.viewpagerindection.fragment.Frag2; import com.bwie.viewpagerindection.fragment.Frag3; 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; public class MainActivity extends FragmentActivity { // 标签栏 String arr[]={"推荐","热点","北京","视频","社会","科技","汽车","体育","财经","娱乐"}; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //找控件 PagerSlidingTabStrip psts = (PagerSlidingTabStrip) findViewById(R.id.psts); ViewPager vp = (ViewPager) findViewById(R.id.vp); //为viewPager设置适配器 vp.setAdapter(new MyPagerAdapter(getSupportFragmentManager())); //与ViewPager设置关联 psts.setViewPager(vp); } //定义MyPagerAdapter类继承FragmentPagerAdapter并实现方式 class MyPagerAdapter extends FragmentPagerAdapter { //构造方法 public MyPagerAdapter(FragmentManager fm) { super(fm); } //得到Fragment @Override public Fragment getItem(int position) { //根据滑动得到不同fragment switch (position) { case 0: return new Frag1(); case 1: return new Frag2(); case 2: return new Frag3(); default: return new ErrorFrag(); } } @Override public int getCount() { return arr.length; } //返回字段(必填) @Override public CharSequence getPageTitle(int position) { return arr[position]; } } }
5、每个Fragment中填写具体的内容此处不一一列举。
package com.bwie.viewpagerindection.fragment; import android.os.Bundle; import android.support.v4.app.Fragment; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.TextView; public class Frag1 extends Fragment { @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { TextView tv=new TextView(getActivity()); tv.setText("推荐"); return tv; } }
相关文章推荐
- Android App开发中ViewPager组件的入门使用教程
- 使用ViewPager实现高仿launcher左右拖动效果
- Android App中用Handler实现ViewPager页面的自动切换
- Android应用中使用ViewPager实现类似QQ的界面切换效果
- Android中ViewPager组件的基本用法及实现图片切换的示例
- 灵活使用Android中ActionBar和ViewPager切换页面
- Android实现千变万化的ViewPager切换动画
- Android中viewPager使用指南
- Android 使用 ViewPager循环广告位的实现
- Android中ViewPager实现滑动指示条及与Fragment的配合
- 详解Android App中ViewPager使用PagerAdapter的方法
- Android viewpager中动态添加view并实现伪无限循环的方法
- Android应用中使用ViewPager和ViewPager指示器来制作Tab标签
- Android ViewPager制作新手导航页(动态加载)
- 详解Android App中创建ViewPager组件的方法
- Android App中ViewPager与Fragment结合的一些问题解决
- 实现轮转广告带底部指示的自定义ViewPager控件
- 自定义RadioButton和ViewPager实现TabHost带滑动的页卡效果
- 实例讲解Android中ViewPager组件的一些进阶使用技巧
- Android 开发之BottomBar+ViewPager+Fragment实现炫酷的底部导航效果