【问题标题】:Extra tab in the scrollable tablayout可滚动标签布局中的额外标签
【发布时间】:2017-08-22 19:59:41
【问题描述】:

我在 tablayout 部分有问题。我创建了一个带有视图寻呼机的可滚动标签布局,如 http://www.androidhive.info/2015/09/android-material-design-working-with-tabs/ 我在最后看到了一个空标签。我可以单击该选项卡,但没有显示。但是当我滑动视图寻呼机时,它永远不会进入该选项卡。

如果这个问题已经解决,请在评论中给我一个链接... 提前谢谢...

这是我的代码

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.event_home);
    final Loading loading = new Loading(this);
    loading.show();
    new Handler().postDelayed(new Runnable() {
        @Override
        public void run() {
            loading.cancel();
        }
    }, Constants.WAIT_TIME);
    toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);
    getSupportActionBar().setDisplayHomeAsUpEnabled(true);

    viewPager = (ViewPager) findViewById(R.id.viewpager);
    viewPager.setOffscreenPageLimit(7);
    Interpolator sInterpolator = new AccelerateInterpolator();
    try {
        Field mScroller;
        mScroller = ViewPager.class.getDeclaredField("mScroller");
        mScroller.setAccessible(true);
        DecelerateInterpolator decelerateInterpolator = new DecelerateInterpolator();
        FixedSpeedScroller scroller = new FixedSpeedScroller(viewPager.getContext(), decelerateInterpolator);
        scroller.SetDuration(500);
        mScroller.set(viewPager, scroller);
    } catch (NoSuchFieldException e) {
    } catch (IllegalArgumentException e) {
    } catch (IllegalAccessException e) {
    }
    setupViewPager(viewPager);
    tabLayout = (TabLayout) findViewById(R.id.tabs);
    tabLayout.setupWithViewPager(viewPager);
    setupTabIcons();

  private void setupTabIcons() {
    tabLayout.addTab(tabLayout.newTab());
    tabLayout.getTabAt(0).setCustomView(R.layout.event_tablayout);
    tabLayout.getTabAt(1).setCustomView(R.layout.event_tablayout);
    tabLayout.getTabAt(2).setCustomView(R.layout.event_tablayout);
    tabLayout.getTabAt(3).setCustomView(R.layout.event_tablayout);
    tabLayout.getTabAt(4).setCustomView(R.layout.event_tablayout);
    tabLayout.getTabAt(5).setCustomView(R.layout.event_tablayout);
    tabLayout.getTabAt(6).setCustomView(R.layout.event_tablayout);
    View tab1_view = tabLayout.getTabAt(0).getCustomView();
    View tab2_view = tabLayout.getTabAt(1).getCustomView();
    View tab3_view = tabLayout.getTabAt(2).getCustomView();
    View tab4_view = tabLayout.getTabAt(3).getCustomView();
    View tab5_view = tabLayout.getTabAt(4).getCustomView();
    View tab6_view = tabLayout.getTabAt(5).getCustomView();
    View tab7_view = tabLayout.getTabAt(6).getCustomView();
    TextView tab1_title = (TextView) tab1_view.findViewById(R.id.tabtitle);
    ImageView img1 = (ImageView) tab1_view.findViewById(R.id.tabicon);
    TextView tab2_title = (TextView) tab2_view.findViewById(R.id.tabtitle);
    ImageView img2 = (ImageView) tab2_view.findViewById(R.id.tabicon);
    TextView tab3_title = (TextView) tab3_view.findViewById(R.id.tabtitle);
    ImageView img3 = (ImageView) tab3_view.findViewById(R.id.tabicon);
    TextView tab4_title = (TextView) tab4_view.findViewById(R.id.tabtitle);
    ImageView img4 = (ImageView) tab4_view.findViewById(R.id.tabicon);
    TextView tab5_title = (TextView) tab5_view.findViewById(R.id.tabtitle);
    ImageView img5 = (ImageView) tab5_view.findViewById(R.id.tabicon);
    TextView tab6_title = (TextView) tab6_view.findViewById(R.id.tabtitle);
    ImageView img6 = (ImageView) tab6_view.findViewById(R.id.tabicon);
    TextView tab7_title = (TextView) tab7_view.findViewById(R.id.tabtitle);
    ImageView img7 = (ImageView) tab7_view.findViewById(R.id.tabicon);
    tab1_title.setText("DASHBOARD");
    img1.setImageResource(R.drawable.ic_home);
    tab2_title.setText("ABOUT");
    img2.setImageResource(R.drawable.ic_information);
    tab3_title.setText("QR CODE");
    img3.setImageResource(R.drawable.ic_qrcode);
    tab4_title.setText("UPDATES");
    img4.setImageResource(R.drawable.ic_announcement);
    tab5_title.setText("TEAM");
    img5.setImageResource(R.drawable.ic_team);
    tab6_title.setText(" CONTACT US");
    img6.setImageResource(R.drawable.ic_mobile_phone);
    tab7_title.setText("REGISTER");
    img7.setImageResource(R.drawable.ic_register);
}


public void setupViewPager(ViewPager viewPager) {
    Adapter_pager adapter = new Adapter_pager(getSupportFragmentManager());
    adapter.addFrag(new Dashboard(), "Dashboard");
    adapter.addFrag(new Details(), "Details");
    adapter.addFrag(new Qrcodedisplay(), "Qr codes");
    adapter.addFrag(new Update(), "Update");
    adapter.addFrag(new Teams(), "Team");
    adapter.addFrag(new Contact_Us(), "Contact");
    adapter.addFrag(new Event_register(), "Register");
    viewPager.setAdapter(adapter);
}

【问题讨论】:

    标签: android android-viewpager android-tablayout


    【解决方案1】:

    您可以尝试将其添加到您的 tabLayout

    tabLayout.setTabMode(TabLayout.MODE_FIXED); 
    

    如果这不起作用,请发布该活动的您的 xml,并确保您已将宽度设置为 tabLayout 以匹配_parent。

    我不确定,但请在您的代码中尝试一下

     private void setupTabIcons() {
        tabLayout.addTab(tabLayout.newTab());
    .....
    }
    

    删除该行,因为它看起来像你正在添加一个空标签

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-09-29
      • 2017-11-05
      • 1970-01-01
      • 1970-01-01
      • 2011-12-05
      • 1970-01-01
      • 2021-05-13
      相关资源
      最近更新 更多