diff --git a/app/build.gradle b/app/build.gradle index d992aa0..06c93c6 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -46,7 +46,8 @@ android { ndk { //选择要添加的对应cpu类型的.so库。 - abiFilters 'armeabi-v7a' + // 支持 32位和64位架构,提升兼容性和性能 + abiFilters 'armeabi-v7a', 'arm64-v8a' } manifestPlaceholders = [ diff --git a/app/src/main/java/com/sl/house_property/LoginActivity.java b/app/src/main/java/com/sl/house_property/LoginActivity.java index cfe3f71..07c0d8e 100644 --- a/app/src/main/java/com/sl/house_property/LoginActivity.java +++ b/app/src/main/java/com/sl/house_property/LoginActivity.java @@ -83,33 +83,8 @@ public class LoginActivity extends BaseActivity implements String str="我已阅读并同意《隐私政策》和《用户协议》"; SpannableStringBuilder ssb = new SpannableStringBuilder(); ssb.append(str); - int v1 = str.indexOf("《"); - ssb.setSpan(new ClickableSpan() { - @Override - public void onClick(@NonNull View widget) { - if (mDataBinding.tvYs.isSelected()) { - mDataBinding.tvYs.setSelected(false); - - Drawable drawable = getResources().getDrawable(R.mipmap.icon_publish_selected2); - drawable.setBounds(0, 0, drawable.getMinimumWidth(), drawable.getMinimumHeight()); - mDataBinding.tvYs.setCompoundDrawables(drawable, null, null, null); - - } else { - mDataBinding.tvYs.setSelected(true); - Drawable drawable = getResources().getDrawable(R.mipmap.icon_publish_selected); - drawable.setBounds(0, 0, drawable.getMinimumWidth(), drawable.getMinimumHeight()); - mDataBinding.tvYs.setCompoundDrawables(drawable, null, null, null); - } - } - - @Override - public void updateDrawState(@NonNull TextPaint ds) { - super.updateDrawState(ds); - ds.setColor(getResources().getColor(R.color.text2)); - ds.setUnderlineText(false); - } - }, 0, v1, 0); - + + // 只设置《隐私政策》和《用户协议》为可点击链接 int start = str.indexOf("《"); ssb.setSpan(new ClickableSpan() { @Override @@ -125,6 +100,7 @@ public class LoginActivity extends BaseActivity implements ds.setUnderlineText(false); } }, start, start + 6, 0); + int end = str.lastIndexOf("《"); ssb.setSpan(new ClickableSpan() { @Override @@ -140,8 +116,21 @@ public class LoginActivity extends BaseActivity implements ds.setUnderlineText(false); } }, end, end + 6, 0); + + // 先设置文本和链接 mDataBinding.tvYs.setMovementMethod(LinkMovementMethod.getInstance()); mDataBinding.tvYs.setText(ssb,TextView.BufferType.SPANNABLE); + + // 设置整个TextView可点击来切换选中状态 + // 注意:LinkMovementMethod会优先处理链接点击,点击非链接区域才会触发此监听器 + mDataBinding.tvYs.setClickable(true); + mDataBinding.tvYs.setFocusable(true); + mDataBinding.tvYs.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + toggleAgreementCheck(); + } + }); } @@ -341,4 +330,21 @@ public class LoginActivity extends BaseActivity implements WebActivitytwo.runActivity(this, "", "https://wy.dou1.net/articlemobile/index/detail?article_id=19"); } + /** + * 切换协议选中状态 + */ + private void toggleAgreementCheck() { + if (mDataBinding.tvYs.isSelected()) { + mDataBinding.tvYs.setSelected(false); + Drawable drawable = getResources().getDrawable(R.mipmap.icon_publish_selected2); + drawable.setBounds(0, 0, drawable.getMinimumWidth(), drawable.getMinimumHeight()); + mDataBinding.tvYs.setCompoundDrawables(drawable, null, null, null); + } else { + mDataBinding.tvYs.setSelected(true); + Drawable drawable = getResources().getDrawable(R.mipmap.icon_publish_selected); + drawable.setBounds(0, 0, drawable.getMinimumWidth(), drawable.getMinimumHeight()); + mDataBinding.tvYs.setCompoundDrawables(drawable, null, null, null); + } + } + } diff --git a/app/src/main/res/layout/activity_main_tab.xml b/app/src/main/res/layout/activity_main_tab.xml index 51ccab3..46776f7 100644 --- a/app/src/main/res/layout/activity_main_tab.xml +++ b/app/src/main/res/layout/activity_main_tab.xml @@ -64,7 +64,6 @@ android:textColor="@color/radiobuttoncolor" /> - + + + android:background="@drawable/circle_red" + android:gravity="center" + android:textColor="@color/white" + android:textSize="6dp" + android:visibility="gone" /> +