使用AppCompat-V-21 Toolbar Widget在右侧设置NavigationDrawer图标

Dor*_*ory 12 android navigation-drawer android-toolbar

我一直在使用AppCompact-V21中提供的最新工具栏小工具和导航抽屉进行材料设计.

我关心的是如何将导航抽屉图标设置到工具栏的右侧.虽然我可以通过设置从右侧打开导航抽屉android:layout_gravity="right"但导航图标仍然显示在工具栏的左侧.

使用旧版时Action Bar,我可以使用自定义抽屉图标右侧的按钮创建自定义操作栏,并单击自定义导航抽屉图标打开/关闭抽屉.

  1. 使用工具栏在右侧设置导航抽屉图标的方法是什么?
  2. 如何为它创建自定义视图?

Abh*_*uri 9

那么,要自定义工具栏并设置自己的导航按钮,您可以将自己的图像按钮添加到工具栏:

<android.support.v7.widget.Toolbar
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/toolbar"
    android:minHeight="?attr/actionBarSize"
    android:layout_height="?attr/actionBarSize"
    android:layout_width="match_parent" >

    <ImageButton
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_gravity="end"
       android:onClick="backButtonHandler"
       android:background="@drawable/ic_launcher" />

</android.support.v7.widget.Toolbar>
Run Code Online (Sandbox Code Playgroud)

然后,您可以backButtonHandler(View v)在活动类中定义,并根据需要添加功能.

  • 如何使用默认汉堡包图标并将其设置在右侧? (3认同)

小智 2

如果您知道它是如何工作的,您可以很容易地做到这一点。大多数Android抽屉使用应用程序的主页按钮作为抽屉按钮,该按钮的重力无法更改,您所要做的就是将您在操作栏中创建的另一个按钮(菜单按钮)分配给抽屉按钮,您给它中的图标和操作onOptionsItemSelected.

if (item.getItemId() == android.R.id.home) {
    if(mDrawerLayout.isDrawerOpen(mLinearLayout)) {
        mDrawerLayout.closeDrawer(mmLinearLayout);
    }
    else {
    // open the drawer
    }
}
Run Code Online (Sandbox Code Playgroud)

您将拥有与此大致相同的代码,通过我上面讨论过的按钮的 Id 更改 android.R.id.home 。