在 build.gradle (app) 文件中,我们默认有这个,
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
Run Code Online (Sandbox Code Playgroud)
根据https://developer.android.com/studio/build/shrink-code,
minifyEnabled true 使代码更安全(使逆向工程变得困难)并缩小我们用于发布应用程序的发布版本的大小。
我知道使用minifyEnabled true会使编译时间更长,但通常调试版本用于开发和测试,无论如何都不会受到影响。
我正在寻找的是,minifyEnabled true在运行时使用会导致哪些缺点(例如性能影响)。我不担心发布版本的构建时间。
Google Play Console 还建议我们启用它,因此我想知道为什么minifyEnabled默认情况下禁用它。
我有一个带有这样链接的SpannableStringBuilder对象,ClickableSpan
SpannableStringBuilder ssb = new SpannableStringBuilder("Hi StackOverflow!");
ClickableSpan clickableSpan = new ClickableSpan() {
@Override
public void onClick(@NonNull View widget) {
Toast.makeText(MainActivity.this, "Clicked", Toast.LENGTH_SHORT).show();
}
};
ssb.setSpan(clickableSpan, 3, 16, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
Run Code Online (Sandbox Code Playgroud)
TextView当我将其设置为 a并使用后效果很好textView.setMovementMethod(LinkMovementMethod.getInstance())
当我将ssb对象设置为 时MaterialAlertDialogBuilder,
new MaterialAlertDialogBuilder(this)
.setTitle("My Dialog")
.setMessage(ssb)
.show();
Run Code Online (Sandbox Code Playgroud)
它显示为可点击的链接,但实际上无法点击它
我找不到使用setMovementMethod中的消息的方法MaterialAlertDialogBuilder。有什么办法让它可以点击吗?
android android-alertdialog clickablespan spannablestringbuilder material-components