Android-将切换tabs的指示器合并到ActionBar上

     最近比较忙,好久没更新过博客。国庆第一天没回家,闲下来可以把之前就想贴上来的东西写一下。

  使用过Smooth和Fuubo这两个优秀的第三方微博客户端的同学应该见过他们的主页UI,如下图:

  

  

  他们把切换tabs的指示器放在了ActionBar上,这样子就把专门放tabs的那一行空间给节省下来了。我们可有更多的视觉空间来浏览主要的微博内容。

  ActionBar上的Tab切换器是一个自定义的组件TabBarView。

  声明一个TabBarView和设置一个ViewPaper,在onCreateOptionsMenu(Menu menu)方法中添加TabBarView才能在ActionBar的右边出现Tabs切换指示器

@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);View v = (View) menu.findItem(R.id.action_settings).getActionView();tabBarView = (TabBarView) v.findViewById(R.id.tab_bar);tabBarView.setStripHeight(10);mSectionsPagerAdapter = new SectionsPagerAdapter(getFragmentManager());// Set up the ViewPager with the sections adapter.mViewPager = (ViewPager) findViewById(R.id.pager);mViewPager.setAdapter(mSectionsPagerAdapter);tabBarView.setViewPager(mViewPager);return true;}

  menu.xml中添加TabBarView的组件: 

<menu xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"tools:context="com.example.demo.MainActivity" ><itemandroid:id="@+id/action_settings"android:orderInCategory="100"android:showAsAction="never"android:actionLayout="@layout/custom_ab"/></menu>

 

  效果:

  

  demo下载地址:https://github.com/Syun0929/TabBarView

 

 

  

转载于:https://www.cnblogs.com/Syun0929/p/4003184.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/432293.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

html5教学文档笔记,4.HTML 教程- (HTML5 基础)

HTML 教程- (HTML5 基础)1.HTML 标题HTML 标题(Heading)是通过- 标签来定义的.2.HTML 段落HTML 段落是通过标签 来定义的.3.HTML 链接HTML 链接是通过标签 来定义的.提示:在 href 属性中指定链接的地址。菜鸟教程(runoob.com)这是一个链接使用了 href 属性这是一个链接使用了 …

虚幻4渲染系统结构解析

本文根据小米互娱 VR 技术专家 房燕良在 MDCC 2016 移动开发者大会上的演讲整理而成&#xff0c;PPT 下载地址&#xff1a;http://download.csdn.net/detail/sinat_14921509/9639244。 小米互娱 VR 技术专家 房燕良 房燕良&#xff0c;从 2001 年开始&#xff0c;自主研发 3 代…

J2EE应用与移动互联网-写在前头

通过面向移动互联网的内容管理系统开发实践&#xff0c;积攒了一些J2EE应用和前端应用的知识&#xff0c;列出目录以供后期补充成册。 1.EJB的理解 1.1 EJB组件 1.2 数据库连接池 1.3 POJO 1.4 任务 1.5 容器 2.Spring生态 2.1 Spring Ioc 2.2 Spring AOP 2.3 Spring MVC 2.4 S…

【Modern OpenGL】前言

说明&#xff1a;跟着learnopengl的内容学习&#xff0c;不是纯翻译&#xff0c;只是自己整理记录。 强烈推荐原文&#xff0c;无论是内容还是排版。 原文链接 本文地址: http://blog.csdn.net/aganlengzi/article/details/50354140 欢迎来到OpenGL 欢迎来到OpenGL学习之旅&…

对象指针

向对象程序设计上机练习九&#xff08;对象指针&#xff09; Time Limit: 1000MS Memory limit: 65536K 题目描述 建立对象数组&#xff0c;内放5个学生数据&#xff08;学号是字符串类型、成绩是整型&#xff09;&#xff0c;设立max函数&#xff0c;用指向对象的指针作函数参…

如何利用计算机实现非线性转换,2013《数字信号处理》期末复习(填空选择判断)真题解析...

一、填空、选择、判断&#xff1a;1. 一线性时不变系统&#xff0c;输入为 x (n )时&#xff0c;输出为y (n ) &#xff1b;则输入为2x (n )时&#xff0c;输出为 2y(n) &#xff1b;输入为x (n-3)时&#xff0c;输出为 y(n-3) 。2. 线性时不变系统离散时间因果系统的系统函数为…

Windows FFMPEG开发环境配置

1.去FFMPEG网站上下载Dev版本的库&#xff0c;里面有我们需要的头文件和lib文件&#xff0c;然后下载Shared版本的库&#xff0c;里面有我们需要的dll文件 http://ffmpeg.zeranoe.com/builds/ 记得区分32位和64位的库&#xff0c;这里碰到一个大坑&#xff0c;就是我下载的是6…

Ant命令行操作

Ant命令行操作 Ant构建文件可以将项目编译&#xff0c;打包&#xff0c;測试&#xff0c;它是Apache软件基金会jakarta文件夹中的一个子项目&#xff0c;具有跨平台性&#xff0c;操作简单&#xff0c;并且非常easy上手。 关于Ant执行&#xff0c;能够在项目中找到build.xml直接…

如何用用计算机名访问共享打印机,局域网怎么连接共享打印机共享

在局域网内各个版本系统共存的时候&#xff0c;win7版本的计算机连接共享打印机的时候就无法调度网络资源&#xff0c;导致无法添加和使用共享打印机&#xff0c;给办公带来不便下面是小编为大家整理的关于&#xff0c;一起来看看吧!共享打印机之前的准备&#xff1a;1、确保跟…

FFmpeg - C++中使用ffmpeg库

ffmpeg库的接口都是c函数&#xff0c;其头文件也没有extern "C"的声明&#xff0c;所以在cpp文件里调用ffmpeg函数要注意了。 一般来说&#xff0c;一个用C写成的库如果想被C/C同时可以使用&#xff0c;那在头文件应该加上 #ifdef __cplusplus extern "C" …

LeetCode-Spiral Matrix-螺旋矩阵

https://oj.leetcode.com/problems/spiral-matrix/ 题目没难度&#xff0c;就是循环把每一层的螺旋打印出来即可。需要注意每次螺旋大小缩小2&#xff0c;计算相应的位置并考虑左边界等于右边界的情况。 class Solution { public:int n,m;int cn,cm;vector <int> tot;vec…

在vlan2用计算机名访问,计算机是如何访问一个网页的?vlan间如何实现通信?

昨天我们发布了关于一文讲弄懂什么是vlan、三层交换机、网关、子网掩码&#xff0c;有很多朋友问到关于网络通信的原理&#xff0c;今天我们这一篇文章&#xff0c;算是对昨天文章进行一个补充。首先我们要访问互联网&#xff0c;必须自己电脑上面有ip地址、子网掩码、网关、dn…

可变參数

C中传递參数时&#xff0c;有时候不确定參数的数量&#xff0c;这时候能够使用可变參数。例如以下&#xff1a; 1、std::initializer_list C11标准&#xff0c;使用方法类似vector&#xff0c;參数类型需同样。使用方法例如以下&#xff1a; #include <initializer_list>…

使用ffmpeg将BMP图片编码为x264视频文件,将H264视频保存为BMP图片,yuv视频文件保存为图片的代码

ffmpeg开源库&#xff0c;实现将bmp格式的图片编码成x264文件&#xff0c;并将编码好的H264文件解码保存为BMP文件。 实现将视频文件yuv格式保存的图片格式的测试&#xff0c;图像格式png,jpg, gif等等测试均OK 自己根据博客的代码&#xff0c;vs2010搭建的测试环境。资源下载…

川职院单招计算机考什么专业,四川单招考什么科目

2021年高职单招升学一对一咨询小艺老师:18290437291(微信)四川单招考什么科目2019年四川单招考试科目是什么&#xff0c;四川单招考试大概在几月份&#xff1f;四川单招考试都考什么内容&#xff0c;考试会不会很难&#xff1f;不同高校四川单招时间是不同的&#xff0c;一般都…

sqlserver检索函数、存储过程、视图 中的关键字

select a.name,a.[type],b.[definition] from sys.all_objects a,sys.sql_modules b where a.is_ms_shipped0 and a.object_id b.object_id--and a.[type] V and [definition] like %检索内容%order by a.name转载于:https://www.cnblogs.com/zspbolg/p/4012695.html

OpenGL 库 简介

OpenGL 库 简介 OpenGL库函数的命名方式为&#xff1a;<库前缀><根命令><可选的参数个数><可选的参数类型>。 库前缀有gl、glu、aux、glut、wgl、glx、agl等等&#xff0c;表示该函数属于OpenGL哪个库。参数的类型&#xff1a;I代表int型&#xff0c;…

figcaption html5,HTML5 figcaption 标签

实例html>html(html.cn)The Pulpit Rock is a massive cliff 604 metres (1982 feet) above Lysefjorden, opposite the Kjerag plateau, in Forsand, Ryfylke, Norway. The top of the cliff is approximately 25 by 25 metres (82 by 82 feet) square and almost flat, an…

svn代码版本管理总结

在本篇文章中, 我将会详细说明我是如何应用SVN trunk(树干)、branches(分支)和tags(标记)。这种方法同样被称为“branch always”&#xff0c;两者非常接近。可能我所介绍的并不是最好的方法&#xff0c;但是它会给新手一些解释说明&#xff0c;告诉他们trunk、branches和tags是…

C++11中enum class的使用

枚举类型(enumeration)使我们可以将一组整型常量组织在一起。和类一样&#xff0c;每个枚举类型定义了一种新的类型。枚举属于字面值常量类型。 C包含两种枚举&#xff1a;限定作用域的和不限定作用域的。这里主要介绍限定作用域的。不限定作用域的使用可以参考&#xff1a; h…