Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/218.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何修复android操作栏下方的可滚动标签_Android_Tabs_Android Actionbar_Android Viewpager - Fatal编程技术网

如何修复android操作栏下方的可滚动标签

如何修复android操作栏下方的可滚动标签,android,tabs,android-actionbar,android-viewpager,Android,Tabs,Android Actionbar,Android Viewpager,在选项卡中,它如下所示 public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.my_directory_activity); final ActionBar actionBar = getSupportActionBar();

在选项卡中,它如下所示

         public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
                 setContentView(R.layout.my_directory_activity);
         final ActionBar actionBar = getSupportActionBar();
         actionBar.setIcon(R.drawable.logo);
         actionBar.setDisplayHomeAsUpEnabled(true);
         actionBar.setDisplayShowTitleEnabled(false);
         actionBar.setDisplayShowHomeEnabled(true);

         myDirectoryPagerAdapter = new MyDirectoryAdapter(
                getSupportFragmentManager());

          mViewPager = (ViewPager) findViewById(R.id.pager);
          mViewPager.setAdapter(myDirectoryPagerAdapter);

          mViewPager.setOnPageChangeListener(new 
                            ViewPager.SimpleOnPageChangeListener() {
                    @Override
                    public void onPageSelected(int position) {

                     actionBar.setSelectedNavigationItem(position);
                    }
                });

          for (int i = 0; i < myDirectoryPagerAdapter.getCount(); i++) {

                actionBar.addTab(actionBar.newTab()
                    .setText(myDirectoryPagerAdapter.getPageTitle(i))
                    .setTabListener(this));
            }

           actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);

           }

         public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
                 setContentView(R.layout.my_directory_activity);
         final ActionBar actionBar = getSupportActionBar();
         actionBar.setIcon(R.drawable.logo);
         actionBar.setDisplayHomeAsUpEnabled(true);
         actionBar.setDisplayShowTitleEnabled(false);
         actionBar.setDisplayShowHomeEnabled(true);

         myDirectoryPagerAdapter = new MyDirectoryAdapter(
                getSupportFragmentManager());

          mViewPager = (ViewPager) findViewById(R.id.pager);
          mViewPager.setAdapter(myDirectoryPagerAdapter);

          mViewPager.setOnPageChangeListener(new 
                            ViewPager.SimpleOnPageChangeListener() {
                    @Override
                    public void onPageSelected(int position) {

                     actionBar.setSelectedNavigationItem(position);
                    }
                });

          for (int i = 0; i < myDirectoryPagerAdapter.getCount(); i++) {

                actionBar.addTab(actionBar.newTab()
                    .setText(myDirectoryPagerAdapter.getPageTitle(i))
                    .setTabListener(this));
            }

           actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);

           }
但在这个设备上看起来不错

         public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
                 setContentView(R.layout.my_directory_activity);
         final ActionBar actionBar = getSupportActionBar();
         actionBar.setIcon(R.drawable.logo);
         actionBar.setDisplayHomeAsUpEnabled(true);
         actionBar.setDisplayShowTitleEnabled(false);
         actionBar.setDisplayShowHomeEnabled(true);

         myDirectoryPagerAdapter = new MyDirectoryAdapter(
                getSupportFragmentManager());

          mViewPager = (ViewPager) findViewById(R.id.pager);
          mViewPager.setAdapter(myDirectoryPagerAdapter);

          mViewPager.setOnPageChangeListener(new 
                            ViewPager.SimpleOnPageChangeListener() {
                    @Override
                    public void onPageSelected(int position) {

                     actionBar.setSelectedNavigationItem(position);
                    }
                });

          for (int i = 0; i < myDirectoryPagerAdapter.getCount(); i++) {

                actionBar.addTab(actionBar.newTab()
                    .setText(myDirectoryPagerAdapter.getPageTitle(i))
                    .setTabListener(this));
            }

           actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);

           }

         public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
                 setContentView(R.layout.my_directory_activity);
         final ActionBar actionBar = getSupportActionBar();
         actionBar.setIcon(R.drawable.logo);
         actionBar.setDisplayHomeAsUpEnabled(true);
         actionBar.setDisplayShowTitleEnabled(false);
         actionBar.setDisplayShowHomeEnabled(true);

         myDirectoryPagerAdapter = new MyDirectoryAdapter(
                getSupportFragmentManager());

          mViewPager = (ViewPager) findViewById(R.id.pager);
          mViewPager.setAdapter(myDirectoryPagerAdapter);

          mViewPager.setOnPageChangeListener(new 
                            ViewPager.SimpleOnPageChangeListener() {
                    @Override
                    public void onPageSelected(int position) {

                     actionBar.setSelectedNavigationItem(position);
                    }
                });

          for (int i = 0; i < myDirectoryPagerAdapter.getCount(); i++) {

                actionBar.addTab(actionBar.newTab()
                    .setText(myDirectoryPagerAdapter.getPageTitle(i))
                    .setTabListener(this));
            }

           actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);

           }
下面我看到的是谷歌play在手机和标签中包含的内容

         public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
                 setContentView(R.layout.my_directory_activity);
         final ActionBar actionBar = getSupportActionBar();
         actionBar.setIcon(R.drawable.logo);
         actionBar.setDisplayHomeAsUpEnabled(true);
         actionBar.setDisplayShowTitleEnabled(false);
         actionBar.setDisplayShowHomeEnabled(true);

         myDirectoryPagerAdapter = new MyDirectoryAdapter(
                getSupportFragmentManager());

          mViewPager = (ViewPager) findViewById(R.id.pager);
          mViewPager.setAdapter(myDirectoryPagerAdapter);

          mViewPager.setOnPageChangeListener(new 
                            ViewPager.SimpleOnPageChangeListener() {
                    @Override
                    public void onPageSelected(int position) {

                     actionBar.setSelectedNavigationItem(position);
                    }
                });

          for (int i = 0; i < myDirectoryPagerAdapter.getCount(); i++) {

                actionBar.addTab(actionBar.newTab()
                    .setText(myDirectoryPagerAdapter.getPageTitle(i))
                    .setTabListener(this));
            }

           actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);

           }

         public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
                 setContentView(R.layout.my_directory_activity);
         final ActionBar actionBar = getSupportActionBar();
         actionBar.setIcon(R.drawable.logo);
         actionBar.setDisplayHomeAsUpEnabled(true);
         actionBar.setDisplayShowTitleEnabled(false);
         actionBar.setDisplayShowHomeEnabled(true);

         myDirectoryPagerAdapter = new MyDirectoryAdapter(
                getSupportFragmentManager());

          mViewPager = (ViewPager) findViewById(R.id.pager);
          mViewPager.setAdapter(myDirectoryPagerAdapter);

          mViewPager.setOnPageChangeListener(new 
                            ViewPager.SimpleOnPageChangeListener() {
                    @Override
                    public void onPageSelected(int position) {

                     actionBar.setSelectedNavigationItem(position);
                    }
                });

          for (int i = 0; i < myDirectoryPagerAdapter.getCount(); i++) {

                actionBar.addTab(actionBar.newTab()
                    .setText(myDirectoryPagerAdapter.getPageTitle(i))
                    .setTabListener(this));
            }

           actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);

           }
这是我的oncreate方法。我用视图寻呼机做了滚动标签。在设备中它很适合,但在标签中?我知道这是动作栏设计模式

         public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
                 setContentView(R.layout.my_directory_activity);
         final ActionBar actionBar = getSupportActionBar();
         actionBar.setIcon(R.drawable.logo);
         actionBar.setDisplayHomeAsUpEnabled(true);
         actionBar.setDisplayShowTitleEnabled(false);
         actionBar.setDisplayShowHomeEnabled(true);

         myDirectoryPagerAdapter = new MyDirectoryAdapter(
                getSupportFragmentManager());

          mViewPager = (ViewPager) findViewById(R.id.pager);
          mViewPager.setAdapter(myDirectoryPagerAdapter);

          mViewPager.setOnPageChangeListener(new 
                            ViewPager.SimpleOnPageChangeListener() {
                    @Override
                    public void onPageSelected(int position) {

                     actionBar.setSelectedNavigationItem(position);
                    }
                });

          for (int i = 0; i < myDirectoryPagerAdapter.getCount(); i++) {

                actionBar.addTab(actionBar.newTab()
                    .setText(myDirectoryPagerAdapter.getPageTitle(i))
                    .setTabListener(this));
            }

           actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);

           }
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.my_目录_活动);
最终ActionBar ActionBar=getSupportActionBar();
actionBar.setIcon(R.drawable.logo);
actionBar.setDisplayHomeAsUpEnabled(true);
actionBar.setDisplayShowTitleEnabled(false);
actionBar.setDisplayShowHomeEnabled(真);
myDirectoryPagerAdapter=新的MyDirectoryAdapter(
getSupportFragmentManager());
mViewPager=(ViewPager)findViewById(R.id.pager);
设置适配器(myDirectoryPagerAdapter);
mViewPager.setOnPageChangeListener(新
ViewPager.SimpleOnPageChangeListener(){
@凌驾
已选择页面上的公共无效(内部位置){
actionBar.setSelectedNavigationItem(位置);
}
});
对于(int i=0;i
它将查看设备中的操作栏下方,因为设备没有足够的空间显示所有选项卡,因此操作栏将自行管理以显示选项卡,并根据设备大小进行调整。由于您也在actionbar中显示了一个徽标,所以它将始终切换到下面

这是操作栏中选项卡的默认设置。这是一件好事,因为它为您节省了一些屏幕空间

         public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
                 setContentView(R.layout.my_directory_activity);
         final ActionBar actionBar = getSupportActionBar();
         actionBar.setIcon(R.drawable.logo);
         actionBar.setDisplayHomeAsUpEnabled(true);
         actionBar.setDisplayShowTitleEnabled(false);
         actionBar.setDisplayShowHomeEnabled(true);

         myDirectoryPagerAdapter = new MyDirectoryAdapter(
                getSupportFragmentManager());

          mViewPager = (ViewPager) findViewById(R.id.pager);
          mViewPager.setAdapter(myDirectoryPagerAdapter);

          mViewPager.setOnPageChangeListener(new 
                            ViewPager.SimpleOnPageChangeListener() {
                    @Override
                    public void onPageSelected(int position) {

                     actionBar.setSelectedNavigationItem(position);
                    }
                });

          for (int i = 0; i < myDirectoryPagerAdapter.getCount(); i++) {

                actionBar.addTab(actionBar.newTab()
                    .setText(myDirectoryPagerAdapter.getPageTitle(i))
                    .setTabListener(this));
            }

           actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);

           }
如果您不希望它出现在操作栏中。您需要单独实现它。使用PagerTitleStrip

         public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
                 setContentView(R.layout.my_directory_activity);
         final ActionBar actionBar = getSupportActionBar();
         actionBar.setIcon(R.drawable.logo);
         actionBar.setDisplayHomeAsUpEnabled(true);
         actionBar.setDisplayShowTitleEnabled(false);
         actionBar.setDisplayShowHomeEnabled(true);

         myDirectoryPagerAdapter = new MyDirectoryAdapter(
                getSupportFragmentManager());

          mViewPager = (ViewPager) findViewById(R.id.pager);
          mViewPager.setAdapter(myDirectoryPagerAdapter);

          mViewPager.setOnPageChangeListener(new 
                            ViewPager.SimpleOnPageChangeListener() {
                    @Override
                    public void onPageSelected(int position) {

                     actionBar.setSelectedNavigationItem(position);
                    }
                });

          for (int i = 0; i < myDirectoryPagerAdapter.getCount(); i++) {

                actionBar.addTab(actionBar.newTab()
                    .setText(myDirectoryPagerAdapter.getPageTitle(i))
                    .setTabListener(this));
            }

           actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);

           }
这里有两个实现:

         public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
                 setContentView(R.layout.my_directory_activity);
         final ActionBar actionBar = getSupportActionBar();
         actionBar.setIcon(R.drawable.logo);
         actionBar.setDisplayHomeAsUpEnabled(true);
         actionBar.setDisplayShowTitleEnabled(false);
         actionBar.setDisplayShowHomeEnabled(true);

         myDirectoryPagerAdapter = new MyDirectoryAdapter(
                getSupportFragmentManager());

          mViewPager = (ViewPager) findViewById(R.id.pager);
          mViewPager.setAdapter(myDirectoryPagerAdapter);

          mViewPager.setOnPageChangeListener(new 
                            ViewPager.SimpleOnPageChangeListener() {
                    @Override
                    public void onPageSelected(int position) {

                     actionBar.setSelectedNavigationItem(position);
                    }
                });

          for (int i = 0; i < myDirectoryPagerAdapter.getCount(); i++) {

                actionBar.addTab(actionBar.newTab()
                    .setText(myDirectoryPagerAdapter.getPageTitle(i))
                    .setTabListener(this));
            }

           actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);

           }

您能在平板电脑上放一个屏幕截图来显示您的预期布局和最终结果吗?我刚刚编辑了我的问题。请检查一下
         public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
                 setContentView(R.layout.my_directory_activity);
         final ActionBar actionBar = getSupportActionBar();
         actionBar.setIcon(R.drawable.logo);
         actionBar.setDisplayHomeAsUpEnabled(true);
         actionBar.setDisplayShowTitleEnabled(false);
         actionBar.setDisplayShowHomeEnabled(true);

         myDirectoryPagerAdapter = new MyDirectoryAdapter(
                getSupportFragmentManager());

          mViewPager = (ViewPager) findViewById(R.id.pager);
          mViewPager.setAdapter(myDirectoryPagerAdapter);

          mViewPager.setOnPageChangeListener(new 
                            ViewPager.SimpleOnPageChangeListener() {
                    @Override
                    public void onPageSelected(int position) {

                     actionBar.setSelectedNavigationItem(position);
                    }
                });

          for (int i = 0; i < myDirectoryPagerAdapter.getCount(); i++) {

                actionBar.addTab(actionBar.newTab()
                    .setText(myDirectoryPagerAdapter.getPageTitle(i))
                    .setTabListener(this));
            }

           actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);

           }