【问题标题】:seekBar or progressBar to fast scroll a viewPagerseekBar 或 progressBar 快速滚动 viewPager
【发布时间】:2014-10-16 07:02:57
【问题描述】:

我已经实现了一个包含大约 1000 个片段的 ViewPager。 viewpager 中是否有允许在页面之间快速滚动的组件?或者我是否需要使用 Listener 实现 seekBar 或 progressBar 以允许在片段之间快速滚动?

我一直在做一些搜索,我发现了这段代码:http://www.androidzeitgeist.com/2012/11/examining-viewpager-3.html,它允许使用 seekBar 一次滑动 1 个片段/页面

PS:ViewPager 和 seekBar 或任何其他组件都需要同步,因此当一个组件发生变化时,另一个组件也会发生变化

【问题讨论】:

    标签: android android-viewpager android-progressbar viewpagerindicator android-seekbar


    【解决方案1】:

    您可以实现搜索栏。重要的是,您的片段必须是精简版.. 因为它可能很慢。

    final SeekBar sk=(SeekBar) findViewById(R.id.seekBar1);     
        sk.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {       
    
        @Override       
        public void onStopTrackingTouch(SeekBar seekBar) {      
            // TODO Auto-generated method stub      
        }       
    
        @Override       
        public void onStartTrackingTouch(SeekBar seekBar) {     
            // TODO Auto-generated method stub      
        }       
    
        @Override       
        public void onProgressChanged(SeekBar seekBar, int progress,boolean fromUser) {     
            // TODO Auto-generated method stub      
    
           pager.setCurrentItem(progress);
    
        }       
    });      
    

    【讨论】:

    • 我已经实现了这个解决方案。这里的问题是寻呼机和 seekBar 不同步,所以当你移动 seekBar 时,片段会发生变化,但是当你改变寻呼机时,seekbar 不会改变
    • 为此,您需要实现 ViewPager.OnPageChangeListener Im 方法 @Override public void onPageSelected(int position) { seekBar.setProgress(position); } 并忽略它在 seekbar 侦听器中。
    • 我也尝试过添加该部分,但这不是一个优化的解决方案
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-02-23
    • 2012-09-29
    • 2018-09-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-30
    相关资源
    最近更新 更多