Aviary SDK for Image Editing issue with setNavigationIcon of toolbar

Aviary SDK for Image Editing issue with setNavigationIcon of toolbar

Toolbar toolbar = (Toolbar) getView().findViewById((R.id.app_bar));
        ((BaseActivity) getActivity()).setSupportActionBar(toolbar);
        ((BaseActivity) getActivity()).getSupportActionBar().setDisplayShowTitleEnabled(false);
        toolbar.setNavigationIcon(R.drawable.ic_menu);

        toolbar.setNavigationOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                ((MainActivity) getActivity()).openDrawer();

            }
        });

这是我的代码段。添加 Aviary SDK 后,在 'toolbar.setNavigationIcon(...)' 上设置的图像无法正常工作并且那里看不到任何图标。我的抽屉sliding/working很顺利。我想使用这个 SDK 并且也想要导航图标。如何做到这一点?

我认为您在 ActionBarDrawerToggle 之后使用了 setNavigationIcon() 方法,如下所示:

ActionBarDrawerToggle actionBarDrawerToggle = new ActionBarDrawerToggle(getActivity(), drawerLayout, toolbar, R.string.open, R.string.close);
actionBarDrawerToggle.syncState();

toolbar.setNavigationIcon(getResources().getDrawable(your_drawable_icon));

如果你的导航图标是返回图标,那么你可以从app:navigationIcon="?attr/homeAsUpIndicator"获取。您的 toolbar 结构如下:

<android.support.v7.widget.Toolbar
    android:id="@+id/toolbarId"
    android:layout_width="match_parent"
    android:layout_height="?attr/actionBarSize"
    app:navigationIcon="?attr/homeAsUpIndicator"/>
Toolbar toolbar = (Toolbar) getView().findViewById((R.id.app_bar));
        toolbar.setNavigationIcon(R.drawable.ic_menu);
        ((BaseActivity) getActivity()).setSupportActionBar(toolbar);
        ((BaseActivity) getActivity()).getSupportActionBar().setDisplayShowTitleEnabled(false);
        toolbar.setNavigationOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                ((MainActivity) getActivity()).openDrawer();

            }
        });

只需更改顺序即可解决我的问题。

参考:

先尝试在工具栏上设置导航图标,然后再将工具栏设置为 setSupportActionBar

或者您可以尝试在 supportActionBar 中设置 setHomeAsUpIndicator