语言选择
This commit is contained in:
@@ -87,60 +87,83 @@ public class LoginActivity extends BaseActivity<LoginLayoutBinding, LoginPresent
|
||||
}
|
||||
|
||||
private void setupAgreementText() {
|
||||
//勾选协议,增加点击区域
|
||||
ClickUtil.addClickPart(viewBinding.checkboxRead,100);
|
||||
|
||||
ClickUtil.addClickPart(viewBinding.checkboxRead, 100);
|
||||
|
||||
TextView tvAgreement = findViewById(R.id.tv_agreement_full);
|
||||
String content = "我已经阅读并同意智能浇灌《用户协议》、《隐私政策》";
|
||||
|
||||
String content = getString(R.string.agree_user_policy);
|
||||
|
||||
String userAgreementText = getString(R.string.user_agreement);
|
||||
String privacyPolicyText = getString(R.string.privacy_policy);
|
||||
|
||||
SpannableString spannableString = new SpannableString(content);
|
||||
|
||||
// 设置“用户协议”可点击
|
||||
ClickableSpan userAgreementSpan = new ClickableSpan() {
|
||||
addClickableSpan(
|
||||
spannableString,
|
||||
content,
|
||||
userAgreementText,
|
||||
() -> {
|
||||
ToastUtil.showShort(mContext, "用户协议");
|
||||
}
|
||||
);
|
||||
|
||||
addClickableSpan(
|
||||
spannableString,
|
||||
content,
|
||||
privacyPolicyText,
|
||||
() -> {
|
||||
ToastUtil.showShort(mContext, "隐私政策");
|
||||
}
|
||||
);
|
||||
|
||||
tvAgreement.setText(spannableString);
|
||||
tvAgreement.setMovementMethod(LinkMovementMethod.getInstance());
|
||||
tvAgreement.setHighlightColor(Color.TRANSPARENT);
|
||||
}
|
||||
|
||||
private void addClickableSpan(
|
||||
SpannableString spannableString,
|
||||
String content,
|
||||
String target,
|
||||
Runnable action) {
|
||||
|
||||
int start = content.indexOf(target);
|
||||
|
||||
if (start < 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
int end = start + target.length();
|
||||
|
||||
ClickableSpan clickableSpan = new ClickableSpan() {
|
||||
|
||||
@Override
|
||||
public void onClick(@NonNull View widget) {
|
||||
// 跳转用户协议
|
||||
// Bundle bundle = new Bundle();
|
||||
// bundle.putInt("from_requse_code", WebviewUserAgreement.AGREEMENT_CODE);
|
||||
// goToWihoutNoPresent(mContext, WebviewUserAgreement.class,bundle);
|
||||
ToastUtil.showShort(mContext,"用户协议");
|
||||
action.run();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateDrawState(@NonNull TextPaint ds) {
|
||||
super.updateDrawState(ds);
|
||||
ds.setColor(ContextCompat.getColor(mContext, R.color.color_zhu)); // 设置颜色
|
||||
ds.setUnderlineText(false); // 去掉下划线
|
||||
}
|
||||
};
|
||||
int start1 = content.indexOf("《用户协议》");
|
||||
int end1 = start1 + "《用户协议》".length();
|
||||
spannableString.setSpan(userAgreementSpan, start1, end1, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
|
||||
|
||||
// 设置“隐私政策”可点击
|
||||
ClickableSpan privacyPolicySpan = new ClickableSpan() {
|
||||
@Override
|
||||
public void onClick(@NonNull View widget) {
|
||||
// 跳转隐私政策
|
||||
// Bundle bundleYS = new Bundle();
|
||||
// bundleYS.putInt("from_requse_code",WebviewUserAgreement.PRIVACY_CODE);
|
||||
// goToWihoutNoPresent(mContext, WebviewUserAgreement.class,bundleYS);
|
||||
ToastUtil.showShort(mContext,"跳转隐私政策");
|
||||
}
|
||||
ds.setColor(
|
||||
ContextCompat.getColor(
|
||||
mContext,
|
||||
R.color.color_zhu
|
||||
)
|
||||
);
|
||||
|
||||
@Override
|
||||
public void updateDrawState(@NonNull TextPaint ds) {
|
||||
super.updateDrawState(ds);
|
||||
ds.setColor(ContextCompat.getColor(mContext, R.color.color_zhu)); // 设置颜色
|
||||
ds.setUnderlineText(false);
|
||||
}
|
||||
};
|
||||
int start2 = content.indexOf("《隐私政策》");
|
||||
int end2 = start2 + "《隐私政策》".length();
|
||||
spannableString.setSpan(privacyPolicySpan, start2, end2, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
|
||||
|
||||
tvAgreement.setText(spannableString);
|
||||
tvAgreement.setMovementMethod(LinkMovementMethod.getInstance()); // 开启点击事件
|
||||
tvAgreement.setHighlightColor(Color.TRANSPARENT);
|
||||
spannableString.setSpan(
|
||||
clickableSpan,
|
||||
start,
|
||||
end,
|
||||
Spanned.SPAN_EXCLUSIVE_EXCLUSIVE
|
||||
);
|
||||
}
|
||||
|
||||
public void onClick(View v) {
|
||||
|
||||
Reference in New Issue
Block a user