【问题标题】:Can't change DrawerLayout Icon even if Icon has been set in ActionBarDrawerToggle即使在 ActionBarDrawerToggle 中设置了 Icon 也无法更改 DrawerLayout Icon
【发布时间】:2015-09-28 10:33:25
【问题描述】:

我只是在Android Studio中创建了一个模板项目,我没有更改一行代码(DrawerLayout模板项目)。

但是,我发现用于显示导航片段的单击图标始终是左箭头,即使在代码中它将图标设置为另一个。

下面是构造ActionBarDrawerToggle的代码:

mDrawerToggle = new ActionBarDrawerToggle(
                getActivity(),                    /* host Activity */
                mDrawerLayout,                    /* DrawerLayout object */
                R.drawable.ic_drawer,             /* nav drawer image to replace 'Up' caret */
                R.string.navigation_drawer_open,  /* "open drawer" description for accessibility */
                R.string.navigation_drawer_close  /* "close drawer" description for accessibility */
        )

这是 ic_drawer 的 png 文件

如何更改 DrawerLayout 图标?

【问题讨论】:

  • 你可以尝试清理你的项目然后运行吗?
  • 对不起....它不工作..

标签: android android-actionbar drawerlayout actionbardrawertoggle


【解决方案1】:

我也遇到过同样的问题,我总是看到左箭头图标。 我是这样解决的:

我注意到 android.support.v4.app.ActionBarDrawerToggle 类已被弃用,遵循一些答案和来自developer.android.com,在我使用过的 NavigationDrawerFragment 类中

mDrawerToggle = new ActionBarDrawerToggle(  getActivity(),                   
                                            mDrawerLayout,                    
                                            R.string.navigation_drawer_open,  
                                            R.string.navigation_drawer_close  
                                    ) { ... }

现在没关系,只有在出现导航抽屉时,图标才会转换为箭头。

【讨论】:

  • 好像你从构造函数中遗漏了一些东西?你的工具栏在哪里?所以你在工具栏中设置图标还是什么?
【解决方案2】:

添加 Anchor 给出的解决方案。我设法通过更改此导入来完成我的工作

import android.support.v4.app.ActionBarDrawerToggle;

import android.support.v7.app.ActionBarDrawerToggle;

这样做会在 ActionBarDrawerToggle 的构造函数中提示你一个错误。移除 R.drawable.ic_drawer 使其变为:

mDrawerToggle = new ActionBarDrawerToggle(
            getActivity(),                    /* host Activity */
            mDrawerLayout,                    /* DrawerLayout object */
            R.string.navigation_drawer_open,  /* "open drawer" description for accessibility */
            R.string.navigation_drawer_close  /* "close drawer" description for accessibility */
    ) 

现在应该可以工作了

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-07
    • 1970-01-01
    • 2022-01-11
    • 1970-01-01
    • 1970-01-01
    • 2020-10-06
    相关资源
    最近更新 更多