相关疑难解决方法(0)

如何通过在ViewPager中用手指滑动来禁用分页,但仍然能够以编程方式滑动?

我有ViewPager,在它下面我有10个按钮.通过单击按钮,例如#4,寻呼机立即转到第4页mPager.setCurrentItem(3);.但是,我想通过水平手指滑动来禁用分页.因此,寻呼完成通过点击按钮.那么,我怎么能用手指禁用滑动?

android android-viewpager

521
推荐指数
17
解决办法
29万
查看次数

是否可以禁用ViewPager上的滚动

我有一个ViewPager实例化a View.当搜索结果返回到视图时,我想暂时禁用viewpager和子按钮的滚动.我打电话viewPager.setEnabled(false)但这不会禁用它.

有人有任何想法吗?

android android-viewpager

132
推荐指数
7
解决办法
11万
查看次数

禁用TabLayout中的选项卡

TabLayout在我的应用程序中使用了最新的设计支持库.选项卡附加到viewpager,后者为每个选项卡加载片段.我想禁用所有选项卡,直到viewpager为用户选择的选项卡加载片段.我无法禁用tablayout或使其无法点击.我曾经使用过setEnabled(false),setClickable(false)但它没有用.我可以通过使用使其隐藏,setVisiblity(View.GONE)但我希望标签始终可见.

    tabLayout = (TabLayout) findViewById(R.id.tabLayout);
    tabLayout.setTabGravity(TabLayout.GRAVITY_FILL);
    tabLayout.setTabMode(TabLayout.MODE_FIXED);
    tabLayout.addTab(tabLayout.newTab().setIcon(R.drawable.near_me_hover).setTag(1));
    tabLayout.addTab(tabLayout.newTab().setIcon(R.drawable.all_hostels).setTag(2));
    tabLayout.addTab(tabLayout.newTab().setIcon(R.drawable.top_five).setTag(3));
    tabLayout.addTab(tabLayout.newTab().setIcon(R.drawable.advanced_search).setTag(4));
    tabLayout.setEnabled(false);
    tabLayout.setClickable(false);
Run Code Online (Sandbox Code Playgroud)

XML

android.support.design.widget.TabLayout
android:id ="@ + id/tabLayout"android:layout_width ="match_parent"
android:layout_height ="0dp"
android:layout_weight ="0.15"
android:scrollbars ="horizo​​ntal"
android: splitMotionEvents ="false">

        @Override
        public void onTabSelected(TabLayout.Tab tab) {
            switch (tab.getPosition()) {
                case 0:
                    viewPager.setCurrentItem(tab.getPosition());
                    tab.setIcon(R.drawable.near_me_hover);
                    break;
                case 1:
                    viewPager.setCurrentItem(tab.getPosition());
                    tab.setIcon(R.drawable.all_hostels_hover);
                    break;
                case 2:
                    viewPager.setCurrentItem(tab.getPosition());
                    tab.setIcon(R.drawable.top_five_hover);
                    break;
                case 3:
                    viewPager.setCurrentItem(tab.getPosition());
                    tab.setIcon(R.drawable.advanced_search_hover);
                    break;
            }
        }

        @Override
        public void onTabUnselected(TabLayout.Tab tab) {
            switch (tab.getPosition()) {
                case 0:
                    tab.setIcon(R.drawable.near_me); …
Run Code Online (Sandbox Code Playgroud)

tabs android android-fragments androiddesignsupport android-tablayout

7
推荐指数
1
解决办法
2万
查看次数

如何拦截ViewPager.OnPageChangeListener中的触摸事件

我试图禁止我的ViewPager在标签之间滚动.我有以下情况:

        public class MyClass extends ViewPager implements ViewPager.OnPageChangeListener, OnTouchListener {

             public MyClass() {
               setOnTouchListener(this);
             }

@Override
    public void onPageScrollStateChanged(int state) {
        Log.d("Testing", TAG + " onPageScrollStateChanged");
    }

    @Override
    public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
        Log.d("Testing", TAG + " onPageScrolled");
    }

    @Override
    public void onPageSelected(int position) {
        Log.d("Testing", TAG + " onPageSelected");
    }

        @Override
        public boolean onInterceptTouchEvent(MotionEvent event) {
            Log.d("Testing", "intercept");
                return false;
        }

            @Override
            public boolean onTouch(View v, MotionEvent event) {
                Log.d("Testing", "touch2");
                    return false;
            }

        } …
Run Code Online (Sandbox Code Playgroud)

tabs android scroll touch android-viewpager

6
推荐指数
1
解决办法
2万
查看次数