ViewPagerIndicator的使用
2016-02-12 16:18
465 查看
案例一:实现可滑动的标签栏
![](http://img.blog.csdn.net/20160216180248199?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
5. 相关细节
侧滑菜单拦截了indicator触摸事件
侧滑菜单拦截了ViewPager触摸事件
|-- 自定义ViewPager,复写dispatchTouchEvent,代码同上
//indicator和viewpager绑定,此时滑动监听需要设置给indicator,否则无效
2.想要改变样式,最简单的方式是via layout,可参考SampleCircleStyledLayout的布局文件(复制命名空间,使用其自定义属性)
命名空间
1. 添加布局
<com.viewpagerindicator.TabPageIndicator android:id="@+id/indicator" android:layout_width="match_parent" android:layout_height="wrap_content" /> <android.support.v4.view.ViewPager android:id="@+id/viewpager" />
2. 设置ViewPager(将indicator与ViewPager关联起来,ViewPager翻页,indicator也跟着变化,必须在setAdapter后关联)
mIndicator.setViewPager(mViewPager); //必须在ViewPager.setAdapter(adapter)之后调用
3. 设置主题
<activity android:theme="@style/Theme.PageIndicatorDefaults" />
4. 修改pager布局背景颜色,修改主题的字体颜色,背景图片等
5. 相关细节
侧滑菜单拦截了indicator触摸事件<span style="color:#009900;">//indicator, 请求父控件及祖宗控件不要拦截事件</span> @Override public boolean dispatchTouchEvent(MotionEvent ev) { getParent().requestDisallowInterceptTouchEvent(true);<span style="color:#009900;">//用getParent去请求,禁止父控件拦截</span> return super.dispatchTouchEvent(ev); }
侧滑菜单拦截了ViewPager触摸事件
|-- 自定义ViewPager,复写dispatchTouchEvent,代码同上
if( getCurrentItem > 0 ){ getParent().requestDisallowInterceptTouchEvent(true); }//除了第一页可以滑出菜单,其他页菜单不能拦截
//indicator和viewpager绑定,此时滑动监听需要设置给indicator,否则无效
mIndicator.setOnPageChangeListener(this);
案例二:实现滚动圆点
<img src="http://img.blog.csdn.net/20160216180857567?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" align="middle" alt="" />1.参考框架里的sample,默认样式default就是滚动圆点,不想滚动用snap;
2.想要改变样式,最简单的方式是via layout,可参考SampleCircleStyledLayout的布局文件(复制命名空间,使用其自定义属性)
命名空间
xmlns:app="http://schemas.android.com/apk/res-auto"属性
app:fillColor="#f00"<span style="color:#009900;"> //选中圆点颜色</span> app:pageColor="@android:color/darker_gray"<span style="color:#009900;"> //默认圆点颜色</span> app:radius="6dp"<span style="color:#009900;"> //圆点大小</span> app:strokeColor="#FF000000" <span style="color:#009900;">//边框颜色</span> app:strokeWidth="0dp" <span style="color:#009900;">//边框宽度</span>
相关文章推荐
- PHP 开源框架22个简单简介
- JavaScript跨平台的开源框架NativeScript
- Python六大开源框架对比
- 分享15个最受欢迎的Python开源框架
- 六款值得推荐的android(安卓)开源框架简介
- 2月27日FreeEast每日构建版、FreeEast稳定版本、FreeEastWeb同时更新
- 掌握主流框架的源码实现,理解框架背后的思想(续) 3ff0
- jeecg最新版本的环境搭建详解
- 关于网络请求的开源框架总结 (转)
- PHP中的__call()魔术方法2
- plain framework 1(简约框架)一款主要用于网络(游戏)开发的C/C++框架 即将开源
- 常用Android开源框架
- Android酷炫的UI开源框架(转)
- EGOTableViewPullRefresh个人理解代码原理和使用
- 【无限互联】浅析开源框架SDWebImage
- AngularJS 学习(1)
- liferay修改、去掉右上角控制面板等源码路径
- android ViewPagerIndicator使用心得
- 有关windows 64位下sphinx的配置,记录下来,以备自查