0

为什么 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

我应该使用哪些 proguard 规则?

4

1 回答 1

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$* { *; }
于 2015-10-13T20:24:05.650 回答