【问题标题】:set ActionBarDrawerToggle at right corner在右上角设置 ActionBarDrawerToggle
【发布时间】:2016-12-09 21:52:13
【问题描述】:

如何在右上角设置 ActionBarDrawerToggle ?因为我设置了listview重力

android:layout_gravity="end"

所以我希望 ActionBarDrawerToggle 正确,我该怎么做??

这是我的代码

getActionBar().setDisplayHomeAsUpEnabled(true);
        getActionBar().setHomeButtonEnabled(true);
        mDrawerToggle = new ActionBarDrawerToggle(this,mDrawerLayout,R.drawable.ic_drawer,R.string.drawer_open,R.string.drawer_close)
        {
            public void onDrawerClosed(View view) {
                getActionBar().setTitle(mTitle);
                invalidateOptionsMenu();
            }
            public void onDrawerOpened(View drawerView) {
                getActionBar().setTitle(mDrawerTitle);
                invalidateOptionsMenu(); 
                }
        };

【问题讨论】:

    标签: android android-layout


    【解决方案1】:

    我无法使用单击“主页”图标来执行此操作,我认为这不太好,因为抽屉会出现在右侧。但是,作为@runamok,我想在右侧有一个选项菜单项(而不是替换通常执行“返回”功能的“主页”图标),触发抽屉从右侧转入/转出。

    除了使用 android:layout_gravity="right" 之外,还可以使用选项菜单项来执行打开/关闭动作。

        @Override
        public boolean onOptionsItemSelected(MenuItem item) {
    
            switch (item.getItemId()) {
            case R.id.my_menu_item:
                if(!mDrawerLayout.isDrawerOpen(Gravity.RIGHT))
                    mDrawerLayout.openDrawer(Gravity.RIGHT);
                else
                    mDrawerLayout.closeDrawer(Gravity.RIGHT);
    
                return true;
    
            default:
                break;
            }
    
            return super.onOptionsItemSelected(item);
        }
    

    【讨论】:

      【解决方案2】:

      回答

      @Override
      public boolean onOptionsItemSelected(MenuItem item) {
      
          switch (item.getItemId()) {
          case R.id.my_menu_item:
              if(!mDrawerLayout.isDrawerOpen(GravityCompat.END))
                  mDrawerLayout.openDrawer(GravityCompat.END);
              else
                  mDrawerLayout.closeDrawer(GravityCompat.END);
      
              return true;
      
          default:
              break;
          }
      
          return super.onOptionsItemSelected(item);
      }
      

      【讨论】:

        【解决方案3】:

        尝试将此行添加到 android 清单文件中:

        android:supportsRtl="true"
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2016-07-21
          • 1970-01-01
          • 1970-01-01
          • 2013-08-08
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多