修复部分bug

This commit is contained in:
renjianbo
2026-01-08 17:50:27 +08:00
parent 8cf130979b
commit 0c12923995
3 changed files with 45 additions and 36 deletions

View File

@@ -46,7 +46,8 @@ android {
ndk {
//选择要添加的对应cpu类型的.so库。
abiFilters 'armeabi-v7a'
// 支持 32位和64位架构提升兼容性和性能
abiFilters 'armeabi-v7a', 'arm64-v8a'
}
manifestPlaceholders = [

View File

@@ -83,33 +83,8 @@ public class LoginActivity extends BaseActivity<ActivityLoginBinding> 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<ActivityLoginBinding> 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<ActivityLoginBinding> 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<ActivityLoginBinding> 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);
}
}
}

View File

@@ -64,7 +64,6 @@
android:textColor="@color/radiobuttoncolor" />
<RadioButton
android:id="@+id/button1"
android:layout_width="match_parent"
@@ -75,35 +74,38 @@
android:gravity="center"
android:text="邻里圈"
android:textColor="@color/radiobuttoncolor" />
<RelativeLayout
android:id="@+id/rl2"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1">
<RadioButton
android:clickable="false"
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:button="@null"
android:layout_centerHorizontal="true"
android:button="@null"
android:clickable="false"
android:drawableTop="@drawable/main_bottom_3"
android:gravity="center"
android:text="消息"
android:textColor="@color/radiobuttoncolor" />
<TextView
android:gravity="center"
android:id="@+id/redview"
android:visibility="gone"
android:layout_width="12dp"
android:textSize="6dp"
android:layout_height="12dp"
android:textColor="@color/white"
android:layout_marginLeft="-8dp"
android:layout_toRightOf="@id/button2"
android:background="@drawable/circle_red" />
android:background="@drawable/circle_red"
android:gravity="center"
android:textColor="@color/white"
android:textSize="6dp"
android:visibility="gone" />
</RelativeLayout>
<RadioButton
android:id="@+id/like"
android:layout_width="match_parent"