android - 我有一个选项卡式活动,它在纵向模式下工作正常,但在横向模式下停止显示数据。并且滑动也不会在标签中完美运行
问题描述
将方向更改回纵向也不起作用。我必须关闭并再次打开应用程序。
这是我的主要活动布局
<android.support.design.widget.AppBarLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"> <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" android:background="?attr/colorPrimary" app:layout_scrollFlags="scroll|enterAlways" app:popupTheme="@style/ThemeOverlay.AppCompat.Light" /> <android.support.design.widget.TabLayout android:id="@+id/tabs" android:layout_width="match_parent" android:layout_height="wrap_content" app:tabGravity="fill" app:tabMaxWidth="0dp" app:tabMode="fixed" /> </android.support.design.widget.AppBarLayout>
我用过 app:tabGravity="fill" app:tabMaxWidth="0dp" app:tabMode="fixed"
<android.support.v4.view.ViewPager android:id="@+id/view_pager" android:layout_width="match_parent" android:layout_height="match_parent" app:layout_behavior="@string/appbar_scrolling_view_behavior" /> </android.support.design.widget.CoordinatorLayout>
我正在使用 2 个标签。一个包含列表视图,另一个包含网格视图。
主要活动
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
toolbar = findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
prefManager = new PrefManager(this);
prefManager.setFromActivity(false);
commonMethods = new CommonMethods();
sqLiteHelper = new SQLiteHelper(this);
viewPager = findViewById(R.id.view_pager);
viewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
}
@Override
public void onPageSelected(int position) {
}
@Override
public void onPageScrollStateChanged(int state) {
}
});
tabLayout = findViewById(R.id.tabs);
tabLayout.setupWithViewPager(viewPager);
setUpFrag();
}
private void setupViewPager(ViewPager viewPager) {
ViewPagerAdapter adapter = new ViewPagerAdapter(getSupportFragmentManager());
adapter.addFragment(new Fragment1(), "F1");
adapter.addFragment(new Fragment2(), "F2");
viewPager.setAdapter(adapter);
}
public void setUpFrag() {
setupViewPager(viewPager);
}
这里 fragment1 显示列表, fragment2 显示专辑网格。
在纵向模式下完美运行。
解决方案
推荐阅读
- python - 有没有办法在相似图像之间转移颜色?
- javascript - 如何传递对象列表以在输入字段中动态查看和填充它们
- wordpress - 带有自定义帖子的多个图像/滑块 [single.php]
- c++ - 用标准 C++ 从文件中读取的最快方法是什么?
- git - git revert 引发冲突并且它不固定(不断显示(master|reverting))
- javascript - 我正在尝试制作汉堡菜单,但单击它时它不会显示
- javascript - 如何在 PDF javascript 中获取现有的邮票注释?
- python - 如何保存登录会话和其他 cookie 以便稍后访问网站?
- meshlab - Meshlab:更新到新版本并得到“错误打开文件写入”
- r-exams - Exams2openolat:shufflesections 和导航不起作用