Android Sncabar文字未显示在使用proguard签名的APK上

时间:2015-10-13 20:20:35

标签: android android-snackbar

为什么Snacbar文字没有显示在签名APK上?这是调试APK的代码。我也启用了proguard。这是因为proguard吗?

  if (intent.hasExtra(KEY_ERROR_MESSAGE)) {
     String msg = intent.getStringExtra(KEY_ERROR_MESSAGE);
     Snackbar snack = Snackbar.make(findViewById(android.R.id.content), msg, Snackbar.LENGTH_LONG);

     View view = snack.getView();
     view.setBackgroundColor(ContextCompat.getColor(SignupActivity.this, R.color.red_EC1C24));

     TextView tv = (TextView) view.findViewById(android.support.design.R.id.snackbar_text);
     tv.setTextColor(ContextCompat.getColor(SignupActivity.this, R.color.accent));
     tv.setGravity(Gravity.CENTER_HORIZONTAL);
     snack.show();
  }

编辑:

intent.hasExtra(KEY_ERROR_MESSAGE)返回trueintent.getStringExtra(KEY_ERROR_MESSAGE)返回null而不是预期的String

我应该使用什么样的规则?

1 个答案:

答案 0 :(得分:0)

根据这篇文章:https://androidbycode.wordpress.com/2015/06/06/material-design-snackbar-using-the-design-support-library/您可能需要将这些例外添加到您的proguard规则文件中:

-dontwarn android.support.design.**
-keep class android.support.design.** { *; }
-keep interface android.support.design.** { *; }
-keep public class android.support.design.R$* { *; }