android – 禁用TabLayout中的Tabs

android – 禁用TabLayout中的Tabs,第1张

概述我在我的应用程序中使用了最新设计支持库中的TabLayout.选项卡附加到viewpager,后者为每个选项卡加载片段.我想禁用所有选项卡,直到viewpager为用户选择的选项卡加载片段.我无法禁用tablayout或使其无法点击.我曾经使用过setEnabled(false)和setClickable(false),但是它没有用.我可以通过使用setVisiblity(View.GONE)使其 我在我的应用程序中使用了最新设计支持库中的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);

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=”horizontal”
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);                    break;                case 1:                    tab.setIcon(R.drawable.all_hostels);                    break;                case 2:                    tab.setIcon(R.drawable.top_five);                    break;                case 3:                    tab.setIcon(R.drawable.advanced_search);                    break;            }        }        @OverrIDe        public voID onTabReselected(TabLayout.Tab tab) {        }    });    vIEwPager.addOnPagechangelistener(new VIEwPager.OnPagechangelistener() {        @OverrIDe        public voID onPageScrolled(int position,float positionOffset,int positionOffsetPixels) {        }        @OverrIDe        public voID onPageSelected(int position) {            tabLayout.getTabAt(position).select();        }        @OverrIDe        public voID onPageScrollStateChanged(int state) {        }    });
解决方法 选项卡单击侦听器实现了3种方法,其中一种是onTabSelected()放置一个布尔条件来检查您的片段是否已初始化.然后,如果满足该条件,则允许进行交易. 还要在片段代码之后初始化选项卡 总结

以上是内存溢出为你收集整理的android – 禁用TabLayout中的Tabs全部内容,希望文章能够帮你解决android – 禁用TabLayout中的Tabs所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1135623.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存