热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

ViewPager顶部导航栏联动效果(标题栏条目多)

这篇文章主要介绍了ViewPager顶部导航栏联动效果,代码简单易懂,感兴趣的朋友参考下吧

如果标题栏过多,超过屏幕的宽度,该怎么弄,下面我们就来解决一下,效果如下:

其实和之前写的也差不多,我就是在哪个demo里面添加和修改了一下,就加了几个title标题,加了几个图片,最重要的是给TableLayout添加了一个属性:

app:tabMode="scrollable"

这个属性就是设置设置TableLayout可以滚动,看我滚动上面的标题栏:

这里我还给标题栏设置了几个附加的属性,让它显得更好看:

 
app:tabTextColor="#f5eef5" 
app:tabSelectedTextColor="#ec4213" 
app:tabIndicatorColor="#aaff00"
app:tabTextColor="#f5eef5" //这个是设置标题的字体颜色
app:tabSelectedTextColor="#ec4213" 
//这个是设置标题被选中时的颜色
app:tabIndicatorColor="#aaff00" 
//这个是设置下面跟着联动的长方形的颜色
具体布局文件代码是:

<&#63;xml version="1.0" encoding="utf-8"&#63;> 
 
 
 
 

Avtivity里面就是把之前写的TableLayout的mode给注释了:

// //设置tab的模式 
// mTab.setTabMode(TabLayout.MODE_FIXED);不可滚动的tab 
//app:tabMode="scrollable"可以滑动的tab

然后其他照常加图片和标题,全部代码是:

package com.duanlian.tablayoutdemo; 
import android.support.design.widget.TabLayout; 
import android.support.v4.view.ViewPager; 
import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.view.Window; 
import android.widget.ImageView; 
import com.duanlian.tablayoutdemo.adapter.MyViewPagerAdapter; 
import java.util.ArrayList; 
import java.util.List; 
public class MainActivity extends AppCompatActivity { 
private ViewPager mViewPager; 
private TabLayout mTab; 
private MyViewPagerAdapter mAdapter; 
private List mList; 
private List titleList; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 
setContentView(R.layout.activity_main); 
initView(); 
} 
/** 
* 实例化控件 
*/ 
private void initView() { 
mViewPager = (ViewPager) findViewById(R.id.main_viewpager); 
//设置ViewPager里面也要显示的图片 
mList = new ArrayList<>(); 
ImageView yuanYuan = new ImageView(this); 
ImageView yiYan = new ImageView(this); 
ImageView liYa = new ImageView(this); 
ImageView yixuan = new ImageView(this); 
ImageView yifei = new ImageView(this); 
ImageView zhuxian = new ImageView(this); 
ImageView tianai = new ImageView(this); 
yuanYuan.setImageResource(R.mipmap.gaoyuanyuan); 
yiYan.setImageResource(R.mipmap.jiangyiyan); 
liYa.setImageResource(R.mipmap.tongliya); 
yixuan.setImageResource(R.mipmap.anyixuan); 
yifei.setImageResource(R.mipmap.liuyifei); 
zhuxian.setImageResource(R.mipmap.wangzhuxian); 
tianai.setImageResource(R.mipmap.zhangtianai); 
//设置图片显示全屏 
yuanYuan.setScaleType(ImageView.ScaleType.FIT_XY); 
yiYan.setScaleType(ImageView.ScaleType.FIT_XY); 
liYa.setScaleType(ImageView.ScaleType.FIT_XY); 
yixuan.setScaleType(ImageView.ScaleType.FIT_XY); 
yifei.setScaleType(ImageView.ScaleType.FIT_XY); 
zhuxian.setScaleType(ImageView.ScaleType.FIT_XY); 
tianai.setScaleType(ImageView.ScaleType.FIT_XY); 
mList.add(yuanYuan); 
mList.add(yiYan); 
mList.add(liYa); 
mList.add(yixuan); 
mList.add(yifei); 
mList.add(zhuxian); 
mList.add(tianai); 
//设置标题 
titleList = new ArrayList<>(); 
titleList.add("高圆圆"); 
titleList.add("江一燕"); 
titleList.add("佟丽娅"); 
titleList.add("安以轩"); 
titleList.add("刘亦菲"); 
titleList.add("王祖贤"); 
titleList.add("张天爱"); 
mTab = (TabLayout) findViewById(R.id.main_tab); 
// //设置tab的模式 
// mTab.setTabMode(TabLayout.MODE_FIXED);不可滚动的tab 
//app:tabMode="scrollable"可以滑动的tab 
//添加tab选项卡 
for (int i = 0; i 

Adapter里面什么都没变,依旧是:

package com.duanlian.tablayoutdemo.adapter; 
import android.support.v4.view.PagerAdapter; 
import android.view.View; 
import android.view.ViewGroup; 
import android.widget.ImageView; 
import java.util.List; 
public class MyViewPagerAdapter extends PagerAdapter { 
private List list; 
private List titleList; 
public MyViewPagerAdapter(List mList,List titleList) { 
this.list = mList; 
this.titleList = titleList; 
} 
@Override 
public int getCount() { 
return list.size(); 
} 
@Override 
public boolean isViewFromObject(View view, Object object) { 
return view==object; 
} 
@Override 
public Object instantiateItem(ViewGroup container, int position) { 
container.addView(list.get(position));//添加页卡 
return list.get(position); 
} 
@Override 
public void destroyItem(ViewGroup container, int position, Object object) { 
container.removeView(list.get(position));//删除页卡 
} 
@Override 
public CharSequence getPageTitle(int position) { 
return titleList.get(position);//页卡标题 
} 
}

以上所述是小编给大家介绍的ViewPager顶部导航栏联动效果(标题栏条目多),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!


推荐阅读
  • 解决JAX-WS动态客户端工厂弃用问题并迁移到XFire
    在处理Java项目中的JAR包冲突时,我们遇到了JaxWsDynamicClientFactory被弃用的问题,并成功将其迁移到org.codehaus.xfire.client。本文详细介绍了这一过程及解决方案。 ... [详细]
  • 深入理解OAuth认证机制
    本文介绍了OAuth认证协议的核心概念及其工作原理。OAuth是一种开放标准,旨在为第三方应用提供安全的用户资源访问授权,同时确保用户的账户信息(如用户名和密码)不会暴露给第三方。 ... [详细]
  • 2023 ARM嵌入式系统全国技术巡讲旨在分享ARM公司在半导体知识产权(IP)领域的最新进展。作为全球领先的IP提供商,ARM在嵌入式处理器市场占据主导地位,其产品广泛应用于90%以上的嵌入式设备中。此次巡讲将邀请来自ARM、飞思卡尔以及华清远见教育集团的行业专家,共同探讨当前嵌入式系统的前沿技术和应用。 ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • 深入理解Cookie与Session会话管理
    本文详细介绍了如何通过HTTP响应和请求处理浏览器的Cookie信息,以及如何创建、设置和管理Cookie。同时探讨了会话跟踪技术中的Session机制,解释其原理及应用场景。 ... [详细]
  • 本文介绍如何在 Xcode 中使用快捷键和菜单命令对多行代码进行缩进,包括右缩进和左缩进的具体操作方法。 ... [详细]
  • 本文介绍了一款用于自动化部署 Linux 服务的 Bash 脚本。该脚本不仅涵盖了基本的文件复制和目录创建,还处理了系统服务的配置和启动,确保在多种 Linux 发行版上都能顺利运行。 ... [详细]
  • 在Linux系统中配置并启动ActiveMQ
    本文详细介绍了如何在Linux环境中安装和配置ActiveMQ,包括端口开放及防火墙设置。通过本文,您可以掌握完整的ActiveMQ部署流程,确保其在网络环境中正常运行。 ... [详细]
  • 如何在WPS Office for Mac中调整Word文档的文字排列方向
    本文将详细介绍如何使用最新版WPS Office for Mac调整Word文档中的文字排列方向。通过这些步骤,用户可以轻松更改文本的水平或垂直排列方式,以满足不同的排版需求。 ... [详细]
  • 理解存储器的层次结构有助于程序员优化程序性能,通过合理安排数据在不同层级的存储位置,提升CPU的数据访问速度。本文详细探讨了静态随机访问存储器(SRAM)和动态随机访问存储器(DRAM)的工作原理及其应用场景,并介绍了存储器模块中的数据存取过程及局部性原理。 ... [详细]
  • XNA 3.0 游戏编程:从 XML 文件加载数据
    本文介绍如何在 XNA 3.0 游戏项目中从 XML 文件加载数据。我们将探讨如何将 XML 数据序列化为二进制文件,并通过内容管道加载到游戏中。此外,还会涉及自定义类型读取器和写入器的实现。 ... [详细]
  • 360SRC安全应急响应:从漏洞提交到修复的全过程
    本文详细介绍了360SRC平台处理一起关键安全事件的过程,涵盖从漏洞提交、验证、排查到最终修复的各个环节。通过这一案例,展示了360在安全应急响应方面的专业能力和严谨态度。 ... [详细]
  • RecyclerView初步学习(一)
    RecyclerView初步学习(一)ReCyclerView提供了一种插件式的编程模式,除了提供ViewHolder缓存模式,还可以自定义动画,分割符,布局样式,相比于传统的ListVi ... [详细]
  • 基于KVM的SRIOV直通配置及性能测试
    SRIOV介绍、VF直通配置,以及包转发率性能测试小慢哥的原创文章,欢迎转载目录?1.SRIOV介绍?2.环境说明?3.开启SRIOV?4.生成VF?5.VF ... [详细]
  • 探讨如何真正掌握Java EE,包括所需技能、工具和实践经验。资深软件教学总监李刚分享了对毕业生简历中常见问题的看法,并提供了详尽的标准。 ... [详细]
author-avatar
一线天24_226
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有