【问题标题】:How can I put the drawer toggle button on the right of the action bar?如何将抽屉切换按钮放在操作栏的右侧?
【发布时间】:2015-06-22 06:25:57
【问题描述】:

是否可以将切换抽屉按钮放在操作栏的右侧?切换抽屉按钮是左侧的三栏图标。打开抽屉时它变成一个箭头(因此是箭头图标)。我已经把抽屉放在右边了,但按钮还在左边。还是我应该做一个这样的定制?但是我怎样才能使用相同的动画呢?

【问题讨论】:

标签: android android-actionbar android-actionbar-compat


【解决方案1】:

您必须遵循的步骤:

  1. 在菜单文件夹中创建一个 menu.xml:

  2. 在您的活动中扩展此菜单并对其执行操作:

    @Override
        public boolean onCreateOptionsMenu(Menu menu) {
            //Inflating menu
            getMenuInflater().inflate(R.menu.main, menu);
            return super.onCreateOptionsMenu(menu);
        }
    
        @Override
        public boolean onOptionsItemSelected(MenuItem item) {
        switch(item.getItemId()){
            case R.id.drawer : 
    
               //Open Drawer from right side
    
                   drawerLayout.openDrawer(Gravity.Right);
    
                     // or
    
                   drawerLayout.openDrawer(rightSlider); //right slider is right listview
    
                    break;
                  }
    
            return super.onOptionsItemSelected(item);
        }
    
  3. 最后在您的布局 xml 文件和抽屉内布局中这样做:

    <!-- Framelayout to display Fragments -->
    
    <FrameLayout
        android:id="@+id/frame_container"
        android:layout_width="match_parent"
        android:layout_height="match_parent" >
    </FrameLayout>
    
        <ListView
            android:id="@+id/right_slidermenu"
            android:layout_width="260dp"
            android:layout_height="match_parent"
          android:layout_gravity="end"
            android:background="@color/white"
            android:choiceMode="singleChoice"
            android:divider="@color/list_divider"
            android:dividerHeight="1dp"
            android:listSelector="@android:color/transparent"
            android:overScrollMode="never" />
    

试试这个..它会帮助你..:)

【讨论】:

  • 抱歉,我的抽屉已经从右侧打开和关闭。我需要的是原始的切换抽屉按钮,这是在抽屉打开时动画成箭头的三行,放在右侧,并指向另一侧。谢谢你:)
  • 您可以在抽屉打开时将3行图标的图标更改为后退箭头,并在抽屉关闭时再次更改。
  • 但它会自动发生。有没有办法把那个按钮放在右边?
  • 其实这个我没试过,我知道的唯一解决方案,我告诉过你。
  • 没错,但我还有一点代码。这就是为什么它不是我需要的答案。不过还是谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-10-04
相关资源
最近更新 更多