Android 制作一个类似谷歌的布局';s游戏商店

Android 制作一个类似谷歌的布局';s游戏商店,android,xamarin,xamarin.android,Android,Xamarin,Xamarin.android,我正在尝试做一个类似谷歌Play商店的布局。我在识别以下视图时遇到了一点困难 黄色-这是一个ActionBar.Tab还是一个ViewPager或其他东西 红色-这只是水平滚动视图中带有单选按钮的放射组吗 用黄色突出显示的视图是来自支持库的表格布局,红色视图是带有芯片视图的水平列表视图 或者,您也可以使用文本视图将圆角形状作为背景进行绘制 编辑:然后您应该使用FrameLayout而不是ViewPager,并在TabLayout上使用addOnTabSelectedListenerget

我正在尝试做一个类似谷歌Play商店的布局。我在识别以下视图时遇到了一点困难

  • 黄色-这是一个ActionBar.Tab还是一个ViewPager或其他东西
  • 红色-这只是水平滚动视图中带有单选按钮的放射组吗

用黄色突出显示的视图是来自支持库的表格布局,红色视图是带有芯片视图的水平列表视图

或者,您也可以使用
文本视图
将圆角形状作为背景进行绘制

编辑:然后您应该使用
FrameLayout
而不是
ViewPager
,并在
TabLayout
上使用
addOnTabSelectedListener
get selected选项卡,并在
FrameLayout
中显示相应的片段

tabLayout.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
        @Override
        public void onTabSelected(TabLayout.Tab tab) {
            page = tabLayout.getSelectedTabPosition();
            switch (page) {
                case 0:
                    fragmentManager.beginTransaction().replace(R.id.container, fragment1).commitAllowingStateLoss();
                    break;
                case 1:
                    fragmentManager.beginTransaction().replace(R.id.container, fragment2).commitAllowingStateLoss();
                    break;
                default:
                    fragmentManager.beginTransaction().replace(R.id.container, fragment3).commitAllowingStateLoss();
            }
        }

        @Override
        public void onTabUnselected(TabLayout.Tab tab) {

        }

        @Override
        public void onTabReselected(TabLayout.Tab tab) {

        }
    });

用黄色突出显示的视图是来自支持库的表格布局,红色视图是带有芯片视图的水平列表视图

或者,您也可以使用
文本视图
将圆角形状作为背景进行绘制

编辑:然后您应该使用
FrameLayout
而不是
ViewPager
,并在
TabLayout
上使用
addOnTabSelectedListener
get selected选项卡,并在
FrameLayout
中显示相应的片段

tabLayout.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
        @Override
        public void onTabSelected(TabLayout.Tab tab) {
            page = tabLayout.getSelectedTabPosition();
            switch (page) {
                case 0:
                    fragmentManager.beginTransaction().replace(R.id.container, fragment1).commitAllowingStateLoss();
                    break;
                case 1:
                    fragmentManager.beginTransaction().replace(R.id.container, fragment2).commitAllowingStateLoss();
                    break;
                default:
                    fragmentManager.beginTransaction().replace(R.id.container, fragment3).commitAllowingStateLoss();
            }
        }

        @Override
        public void onTabUnselected(TabLayout.Tab tab) {

        }

        @Override
        public void onTabReselected(TabLayout.Tab tab) {

        }
    });

谢谢你的回答。关于TabLayout,我看到几乎每次它都与ViewPager一起使用。我已经在我的应用程序中实现了一个ViewPager,但是ViewPager是可滑动的,在Play Store布局中,你不能通过滑动从一个选项卡切换到另一个选项卡。有什么解决办法吗?(除了创建从ViewPager类-PS派生的自定义ViewPager之外。我已经寻找了解决方案,这就是为什么我知道这一点)检查这个:@Amir\P我刚刚在我的应用程序中实现了它。这正是我需要的。谢谢谢谢你的回答。关于TabLayout,我看到几乎每次它都与ViewPager一起使用。我已经在我的应用程序中实现了一个ViewPager,但是ViewPager是可滑动的,在Play Store布局中,你不能通过滑动从一个选项卡切换到另一个选项卡。有什么解决办法吗?(除了创建从ViewPager类-PS派生的自定义ViewPager之外。我已经寻找了解决方案,这就是为什么我知道这一点)检查这个:@Amir\P我刚刚在我的应用程序中实现了它。这正是我需要的。谢谢