博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ViewPage+Fragment+indicator+Tabhost效果
阅读量:4611 次
发布时间:2019-06-09

本文共 2308 字,大约阅读时间需要 7 分钟。

先看下效果:

我 也是这种滑动的效果,但是那个不是我想要的效果,我要的是这种滑动的时候游标跟着滑动的效果,而不是滑动结束后才动的。

demo需要引入一个libraries :ListSamples-library

需要注意的是libraries和demo 的android-support-v4.jar 需要是一致的(为了省去不必要的麻烦,建议是同一个jar包)

 

代码也不是很多

先看看布局吧

v4自带有指示器 

这种。

这里面是自定义的一个指示器

com.viewpagerindicator.UnderlinePageIndicator

在libraries里面实现的。

MainActivity 里面的代码也是比较简便的

@Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        //初始化textview        initTextView();                mAdapter = new MyFragmentAdapter(getSupportFragmentManager());        mPager = (ViewPager)findViewById(R.id.pager);        mPager.setAdapter(mAdapter);        //指示器        UnderlinePageIndicator indicator = (UnderlinePageIndicator)findViewById(R.id.indicator);        indicator.setViewPager(mPager);        //设置静止时不消失        indicator.setFades(false);    }    private void initTextView() {        //每个fragment(view) 对应的 textview        view1=(TextView) findViewById(R.id.tv_guid1);        view2=(TextView) findViewById(R.id.tv_guid2);        view3=(TextView) findViewById(R.id.tv_guid3);        view4=(TextView) findViewById(R.id.tv_guid4);        //设置监听        view1.setOnClickListener(new TxListener(0));        view2.setOnClickListener(new TxListener(1));        view3.setOnClickListener(new TxListener(2));        view4.setOnClickListener(new TxListener(3));    }        public class TxListener implements View.OnClickListener{        private int index=0;                public TxListener (int i){            index=i;        }        @Override        public void onClick(View view) {            mPager.setCurrentItem(index);        }            }
//指示器        UnderlinePageIndicator indicator = (UnderlinePageIndicator)findViewById(R.id.indicator);        indicator.setViewPager(mPager);        //设置静止时不消失        indicator.setFades(false);

可以在这里设置指示器的动画效果,背景什么的。也可以在xml布局里面设置。

那个同步的游标的颜色设置在这里 UnderlinePageIndicator类里面的

  final int defaultSelectedColor = res.getColor(R.color.default_underline_indicator_selected_color);

这个libraries 还支持 游标样式的改变,比如 圆型,线型,自定义的等等

有兴趣的可以看下这个源码。

转载于:https://www.cnblogs.com/asijack/p/4241165.html

你可能感兴趣的文章
IaaS,PaaS,SaaS 的区别
查看>>
Python复习基础篇
查看>>
关于Cocos2d-x中背景音乐和音效的添加
查看>>
checkbox和文字对齐
查看>>
%s的用法
查看>>
java中==和equals
查看>>
CCActionPageTurn3D
查看>>
python random
查看>>
esp32-智能语音-cli(调试交互命令)
查看>>
netty与MQ使用心得
查看>>
关于dl dt dd 文字过长换行在移动端显示对齐的探讨总结
查看>>
swoolefy PHP的异步、并行、高性能网络通信引擎内置了Http/WebSocket服务器端/客户端...
查看>>
Python学习笔记
查看>>
unshift()与shift()
查看>>
使用 NPOI 、aspose实现execl模板公式计算
查看>>
行为型模式:中介者模式
查看>>
How to Notify Command to evaluate in mvvmlight
查看>>
33. Search in Rotated Sorted Array
查看>>
461. Hamming Distance
查看>>
Python垃圾回收机制详解
查看>>