ActionBarDrawerToggle 自定义

ActionBarDrawerToggle customization

如何使用 AppCompat V7 在 android 中更改 ActionBarDrawerToggle 的图标?另外,我们如何为 ActionBarDrawerToggle 图标指定参数和填充等?

    Toolbar toolbar = (Toolbar) findViewById(R.id.my_awesome_toolbar);
     setSupportActionBar(toolbar);
     toolbar.setNavigationIcon(R.drawable.ic_good);

在您的 onCreate() 方法中添加这些行,同时添加

toolbar.setNavigationIcon(R.drawable.ic_good);

之后添加这一行

toggle.syncstate();

以及切换侦听器。 Android 每次打开或关闭抽屉时都会选择默认图标,因此将此行也放在切换侦听器中也很重要。

如果您想更改切换功能,您可以设置自定义切换侦听器

DrawerLayout drawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
ActionBarDrawerToggle drawerToggle = new ActionBarDrawerToggle(<Activity>, <DrawerLayout>, <Toolbar>, <String open>, <String close>){//override functionality};
drawerLayout.setDrawerListener(drawerToggle);

我认为您不能手动设置内边距,因为这是一个系统按钮,但您可以使用自己的内边距手动设置自己的图标

drawerToggle.setHomeAsUpIndicator(getResources().getDrawable(R.drawable.custom_drawable));

您必须禁用抽屉指示器

mDrawerToggle.setDrawerIndicatorEnabled(false);

然后设置ToolBar's导航按钮:

 mToolbar.setNavigationIcon(R.drawable.navIcon);

但是,在这种情况下,您必须在工具栏上设置 Navigation click listener 并手动打开 NavigationDrawer。