Android 以编程方式修改ActionBarDrawerToggle Drawable

Android 以编程方式修改ActionBarDrawerToggle Drawable,android,android-actionbar,navigation-drawer,android-drawable,Android,Android Actionbar,Navigation Drawer,Android Drawable,在构造函数中按资源ID设置ActionBarDrawerToggle后,有人知道如何获取用于ActionBarDrawerToggle的drawable吗?我使用的是一个导航抽屉,我想以编程的方式对图标应用一个颜色过滤器,但我不知道如何将其作为一个可绘制文件访问。任何帮助都将不胜感激。谢谢 由于该视图的框架ID是隐藏的,我发现访问它的唯一方法是根据主视图在其中的位置遍历层次结构 public ImageView getUpView() { ViewGroup parentView = (

在构造函数中按资源ID设置ActionBarDrawerToggle后,有人知道如何获取用于ActionBarDrawerToggle的drawable吗?我使用的是一个导航抽屉,我想以编程的方式对图标应用一个颜色过滤器,但我不知道如何将其作为一个可绘制文件访问。任何帮助都将不胜感激。谢谢

由于该视图的框架ID是隐藏的,我发现访问它的唯一方法是根据主视图在其中的位置遍历层次结构

public ImageView getUpView()
{
    ViewGroup parentView = (ViewGroup) findViewById(android.R.id.home).getParent();
    return (ImageView) parentView.getChildAt(0);
}

你是说那张三条带的照片?是的,就是那张。我可以从静态资源可绘制ID设置它,但我希望能够让图标可绘制,以便在运行时对图像执行.setColorFilter。我认为没有简单的方法可以做到这一点,但如果您在下面的链接中查看我的答案,它由
shiftHomeView()
方法:@MikeM中的
upView
表示。这是可行的,但太麻烦了。但是我找不到别的办法了。将其作为答案发布,我会接受(除非出现更好的解决方案)。谢谢事实上,IIRC,你可能不需要在层次结构中“走那么远”,但它仍然是黑客的。让我检查一下。如果您使用的是support.v7中的ActionBarDrawerToggle,这种方法将不起作用。有关支持库23.1.0或的方法,请参阅。