【问题标题】:Slide Anywhere to Open Navigation Drawer滑动任意位置以打开导航抽屉
【发布时间】:2014-02-03 17:36:21
【问题描述】:

我使用了here 提供的这个解决方法,它使应用程序能够在用户在屏幕上的任何位置(向右)时打开导航抽屉。代码运行良好。

但是,我刚刚签署了要上传到 Play 商店的 apk,并且在测试时,要打开的幻灯片无法正常工作。我做了一点窥探以找出问题所在,发现它正在为Field leftDraggerField = drawerLayout.getClass().getDeclaredField("mLeftDragger");抛出一个NoSuchFieldException

我不知道为什么它不起作用。它适用于调试 apk,但不适用于已签名的 apk。谁能帮我理解这个问题?

【问题讨论】:

    标签: android navigation-drawer nosuchfieldexception


    【解决方案1】:

    哦,好吧,当我第一次遇到这个问题时,真是一场噩梦。我花了几个小时才弄清楚出了什么问题。问题是我启用了 ProGuard 并且成员字段 mLeftDragger 被混淆了。我不得不告诉 ProGuard 不要混淆 DrawerLayout 的任何类成员,它们属于包 android.support.v4.widget

    我在proguard-project.txt中添加了以下内容

    -keepclasseswithmembernames class android.support.v4.widget.** { *; }
    

    一切都像以前一样迷人。

    【讨论】:

    • 谢谢乔尔。它帮助了我。 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-02
    • 2016-05-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多