gpt4 book ai didi

android - tabMode ="scrollable"不工作

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:27:52 28 4
gpt4 key购买 nike

我正在使用 Android 设计支持库中的 TabLayout。我正在使用 Material 设计主题。下面是代码

activity_scrollable_Tab.xml

<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">

<android.support.design.widget.AppBarLayout

<android.support.design.widget.TabLayout
android:id="@+id/tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:tabMode="scrollable"/>

</android.support.design.widget.AppBarLayout>

<android.support.v4.view.ViewPager
android:id="@+id/viewpager"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior" />

</android.support.design.widget.CoordinatorLayout>

可滚动的TabActivity.java

public class ScrollableTabsActivity extends AppCompatActivity {

private Toolbar toolbar;
private TabLayout tabLayout;
private ViewPager viewPager;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_scrollable_tabs);

toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);

viewPager = (ViewPager) findViewById(R.id.viewpager);
setupViewPager(viewPager);

tabLayout = (TabLayout) findViewById(R.id.tabs);
tabLayout.setupWithViewPager(viewPager);
}

private void setupViewPager(ViewPager viewPager) {
ViewPagerAdapter adapter = new ViewPagerAdapter(getSupportFragmentManager());
adapter.addFrag(new OneFragment(), "ONE");
adapter.addFrag(new TwoFragment(), "TWO");
.....
adapter.addFrag(new TenFragment(), "TEN");
viewPager.setAdapter(adapter);
}

class ViewPagerAdapter extends FragmentPagerAdapter {
private final List<Fragment> mFragmentList = new ArrayList<>();
private final List<String> mFragmentTitleList = new ArrayList<>();

public ViewPagerAdapter(FragmentManager manager) {
super(manager);
}

@Override
public Fragment getItem(int position) {
return mFragmentList.get(position);
}

@Override
public int getCount() {
return mFragmentList.size();
}

public void addFrag(Fragment fragment, String title) {
mFragmentList.add(fragment);
mFragmentTitleList.add(title);
}

@Override
public CharSequence getPageTitle(int position) {
return mFragmentTitleList.get(position);
}
}
}

选项卡滚动在 Lollipop 中有效。但是相同的代码不适用于 Kitkat 和 Jelly bean 设备。在 Kitkat 和 Jelly bean 设备上我面临两个问题,

  1. 当我滚动 Tab 时,Tab 会随着 Jellybean 和 kitkat 设备中的页面导航一起滚动,但在 Lollipop 中,Tab 单独滚动并且它是工作文件。例如:如果 1,2,3..10 是选项卡并且如果我滚动选项卡,它会滚动并且每次滚动都会导航布局。如果我滚动,Tab 会导航到第二个选项卡,然后是第三个选项卡,依此类推。

  2. 向上导航在 Jellybean 和 Kitkat 设备中不起作用。如果我滑动工具栏,页面导航会发生 Tab 滚动(上述问题)。

任何人都可以告诉我可能是什么问题以及我需要在哪一部分进行检查和排序。如果提供电子邮件以便更好地了解问题,我可以发送 APK 文件。

我是 android 的新手,需要一些帮助来解决这个问题。

最佳答案

也许您应该以编程方式设置选项卡模式?尝试在 TabLayaut 实例上调用 setTabMode 方法tabLayout.setTabMode(TabLayout.MODE_SCROLLABLE);

我不知道为什么它对你不起作用,但几周前我测试了这些模式,对我来说可滚动模式适用于所有 Android 版本。

同时检查您是否使用了最新版本的设计支持库,也许您使用了一些有问题的旧版本?

关于android - tabMode ="scrollable"不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32925636/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com