PagerSlidingTab的基本使用
来源:互联网 发布:酷玩实验室 知乎 编辑:程序博客网 时间:2024/06/06 05:41
csdn下载地址:http://download.csdn.net/download/android_zhengyongbo/9980976
因为TabLayout无法更改TabItem的行间距所以记录了一下PagerSlidingTab的基本使用
<?xml version="1.0" encoding="utf-8"?><resources> <declare-styleable name="PagerSlidingTabStrip"> <!--底部滑动指示器的颜色--> <attr name="pstsIndicatorColor" format="color" /> <!--底部用于给指示器滑动的区域的颜色--> <attr name="pstsUnderlineColor" format="color" /> <!--分割线的颜色--> <attr name="pstsDividerColor" format="color" /> <!--指示器的高度--> <attr name="pstsIndicatorHeight" format="dimension" /> <!--底部区域的高度--> <attr name="pstsUnderlineHeight" format="dimension" /> <!--分割线与上下的间距--> <attr name="pstsDividerPadding" format="dimension" /> <!--每个Tab的左右边距--> <attr name="pstsTabPaddingLeftRight" format="dimension" /> <!--选中tab的滚动偏移量,个人基本没有用到过--> <attr name="pstsScrollOffset" format="dimension" /> <!--每个Tab的背景图,StateListDrawable--> <attr name="pstsTabBackground" format="reference" /> <!--是否根据tab均为位置,true的时候均分,默认为false,一般都是使用默认值--> <attr name="pstsShouldExpand" format="boolean" /> <!--标题文本是否大写,默认为true--> <attr name="pstsTextAllCaps" format="boolean" /> </declare-styleable></resources>
> 使用之后才发现PagerSlidingTab有一个bug,那就是Tab点击position不准,自己可以试一试,没问题则不用管下面代码
解决办法:
1.新建类CurrentIndexListener
public interface CurrentIndexListener { public int getCurrentIndex();}
2.在初始化viewpager的类中实现CurrentIndexListener接口
@Override public int getCurrentIndex() { if (viewPager != null) { return viewPager.getCurrentItem(); } return 0; }
3.在viewPager的子视图中重写onResume,(index是选中tab的位置)
@Override public void onResume() { super.onResume(); if (getParentFragment() != null && getParentFragment() instanceof CurrentIndexListener) { if (((CurrentIndexListener) getParentFragment()).getCurrentIndex() == index) { setVisibleHint(true); } } else { setVisibleHint(true); } }
阅读全文
0 0
- PagerSlidingTab的基本使用
- Ant 的基本使用
- Ant 的基本使用
- Eclipse的基本使用
- Eclipse的基本使用
- JBuilder的基本使用
- JavaDB的基本使用
- Eclipse的基本使用
- Eclipse的基本使用
- JTable的基本使用
- cscope的基本使用
- gdb的基本使用
- DWR的基本使用
- svn的基本使用
- sqlite3的基本使用
- ssh的基本使用
- Cacti的基本使用
- vi的基本使用
- nginx-rtmp配置
- 一位资深程序员大牛给予Java初学者的学习建议
- 二叉搜索树的创建
- 数据挖掘之关联规则
- vi 翻页, 行首,行末命令
- PagerSlidingTab的基本使用
- redis删除key命令
- [Java]Javassist基本用法
- Jenkins 邮件配置 (使用 Jenkins Email Extension Plugin)
- USB
- linux查看日志文件内容命令tail、cat、tac、head、echo
- expected <block end>, but found BlockMappingStart
- 设计模式--装饰(者)模式的实际开发实践
- 事务与分布式事务