Android中怎么使用viewpager滑动指示器
发表于:2025-11-08 作者:千家信息网编辑
千家信息网最后更新 2025年11月08日,这篇文章主要介绍"Android中怎么使用viewpager滑动指示器",在日常操作中,相信很多人在Android中怎么使用viewpager滑动指示器问题上存在疑惑,小编查阅了各式资料,整理出简单好
千家信息网最后更新 2025年11月08日Android中怎么使用viewpager滑动指示器
这篇文章主要介绍"Android中怎么使用viewpager滑动指示器",在日常操作中,相信很多人在Android中怎么使用viewpager滑动指示器问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"Android中怎么使用viewpager滑动指示器"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
工程目录:
1. MainActivity.java
public class MainActivity extends FragmentActivity { private ViewPagerFrameAdapter adapter; //适配器(标题和内容) private ViewPager mPager; private TabPageIndicator tabbPageIndicator; // private UnderlinePageIndicatorEx underlinePageIndicator; private int COUNT = 0; private List titles = new ArrayList(); //标题 @Override protected void onCreate(Bundle bundle) { super.onCreate(bundle); requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.activity_main); //标题,这里自己造的假数据 for (int j = 0; j < 3 ; j++){ titles.add( "第"+ j +"标签卡"); } mPager = (ViewPager)findViewById(R.id.pager); adapter = new ViewPagerFrameAdapter(getSupportFragmentManager(),titles); mPager.setAdapter(adapter); //得到指示器 tabbPageIndicator = (TabPageIndicator) findViewById(R.id.tab_indicator); tabbPageIndicator.setViewPager(mPager); //下标 underlinePageIndicator = (UnderlinePageIndicatorEx)findViewById(R.id.underline_indicator); underlinePageIndicator.setViewPager(mPager); underlinePageIndicator.setFades(false); //设置指示器 tabbPageIndicator.setOnPageChangeListener(underlinePageIndicator); } //adapter 没啥好说的 跟前面的一样 private class ViewPagerFrameAdapter extends FragmentStatePagerAdapter{ private List title; //页面标题头部数据 public ViewPagerFrameAdapter(FragmentManager fm, List title) { super(fm); this.title = title; } //根据position 返回 fragment @Override public Fragment getItem(int position) { return ArrayFragment.newInstance(position); } //size @Override public int getCount() { return title.size(); } //顶部的title @Override public CharSequence getPageTitle(int position) { if (titles != null){ return titles.get(position).toString(); } return super.getPageTitle(position); } } } UnderlinePageIndicatorEx.java
//继承这个然后重写 public class UnderlinePageIndicatorEx extends UnderlinePageIndicator{ public UnderlinePageIndicatorEx(Context context) { super(context, null); } public UnderlinePageIndicatorEx(Context context, AttributeSet attrs) { super(context, attrs, R.attr.vpiUnderlinePageIndicatorStyle); } public UnderlinePageIndicatorEx(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); } //自身的 ViewPage传递过去 @Override public void setViewPager(ViewPager viewPager) { if (mViewPager == viewPager){ return; } // if (mViewPager != null) { // mViewPager.setOnPageChangeListener(null); // } if (viewPager.getAdapter() == null) { throw new IllegalStateException(" pager 没有 加入 adapter"); } mViewPager = viewPager; // mViewPager.setOnPageChangeListener(this); invalidate(); post(new Runnable(){ @Override public void run() { if (mFades) { post(mFadeRunnable); } } }); } }ArrayFragment.java
public class ArrayFragment extends Fragment{ private int position; public ArrayFragment(int position){ this.position = position; } // 返回 viwePager 下面滑动的页面 public static ArrayFragment newInstance(int position){ return new ArrayFragment(position); } @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); } @Override public void onDestroy() { super.onDestroy(); } // 根据position 返回不同的view @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.layoutaa, null); return view; } }好了接下来是 布局xml了。
接下来设置 滑动指示器的style
selector_tab.xml 这个是 选择器 在style中引用的,是用来切换 被选中的背景色的
到此,关于"Android中怎么使用viewpager滑动指示器"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!
指示
指示器
标题
学习
接下来
数据
更多
页面
帮助
不同
好说
实用
下标
内容
头部
工程
布局
文章
方法
标签
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
前置机 数据库
我国网络安全和政治的联系
数据库改单用户后出错
我的世界如何在服务器里混
服务器的可管理性
数据库显示xml验证失败
坦克世界哪个服务器玩得好
网络安全生产工作的意义
python需要导入数据库
江苏通用软件开发价钱
没有专利申请权的软件开发
mvc4和数据库的交互最终结果
数据库表的设计步骤
常德互联网科技园招聘信息
手机系统服务器更新
作业辅导软件开发
pyqt5上位机软件开发
网络技术部活动创意
联想服务器r450新增硬盘
网络安全教育宣传活动目的
陕西创新网络技术服务信息中心
用友u8服务器越用越慢
sql设计一个员工数据库
软件开发师的市场前景
软件开发专业陕西大专排名
网络安全侦查局管辖案件
摩尔庄园的服务器怎么不一样
铜陵点餐系统软件开发外包公司
afinal数据库
计算机课程包括软件开发吗