空格
This commit is contained in:
@@ -0,0 +1,98 @@
|
||||
package com.xscm.moduleutil.dialog;
|
||||
|
||||
import android.app.Dialog;
|
||||
import android.content.Context;
|
||||
import android.graphics.Color;
|
||||
import android.graphics.drawable.ColorDrawable;
|
||||
import android.text.TextPaint;
|
||||
import android.text.method.LinkMovementMethod;
|
||||
import android.text.style.ClickableSpan;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.databinding.DataBindingUtil;
|
||||
|
||||
import com.alibaba.android.arouter.launcher.ARouter;
|
||||
import com.blankj.utilcode.util.SpanUtils;
|
||||
import com.xscm.moduleutil.R;
|
||||
import com.xscm.moduleutil.base.CommonAppContext;
|
||||
import com.xscm.moduleutil.databinding.DialogPolicBinding;
|
||||
import com.xscm.moduleutil.utils.ARouteConstants;
|
||||
|
||||
/**
|
||||
* 隐私协议
|
||||
*/
|
||||
public class PolicyDialog extends Dialog {
|
||||
private final DialogPolicBinding policBinding;
|
||||
private PolicyClickListener mPolicyClickListener;
|
||||
|
||||
public PolicyDialog(@NonNull Context context) {
|
||||
super(context);
|
||||
policBinding = DataBindingUtil.inflate(LayoutInflater.from(context), R.layout.dialog_polic, null, false);
|
||||
policBinding.setClick(new PolicyClickProxy());
|
||||
getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
|
||||
setContentView(policBinding.getRoot());
|
||||
setCanceledOnTouchOutside(false);
|
||||
initView();
|
||||
}
|
||||
|
||||
private void initView() {
|
||||
SpanUtils spanUtils = new SpanUtils();
|
||||
ClickableSpan clickSpan = new ClickableSpan() {
|
||||
@Override
|
||||
public void onClick(@NonNull View widget) {
|
||||
ARouter.getInstance().build(ARouteConstants.H5).withString("url", CommonAppContext.getInstance().getCurrentEnvironment().getServerUrl()+"/api/Page/page_show?id=6" ).withString("title", "用户协议").navigation();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateDrawState(@NonNull TextPaint ds) {
|
||||
ds.setColor(Color.parseColor("#FFFFD6A2"));
|
||||
ds.setUnderlineText(true);
|
||||
}
|
||||
};
|
||||
ClickableSpan ysClickSpan = new ClickableSpan() {
|
||||
@Override
|
||||
public void onClick(@NonNull View widget) {
|
||||
ARouter.getInstance().build(ARouteConstants.H5).withString("url", CommonAppContext.getInstance().getCurrentEnvironment().getServerUrl()+"/api/Page/page_show?id=4").withString("title", "隐私协议").navigation();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateDrawState(@NonNull TextPaint ds) {
|
||||
ds.setColor(Color.parseColor("#FFFFD6A2"));
|
||||
ds.setUnderlineText(true);
|
||||
}
|
||||
};
|
||||
spanUtils.append("欢迎使用羽声!\n").append("在使用我们的产品和服务之前,请您先阅读并了解").append("《用户协议》").setClickSpan(clickSpan).append("和").append("《隐私协议》").setClickSpan(ysClickSpan).append("。我们将严格按照上述协议为" +
|
||||
"您提供服务,保护您的信息安全,点" +
|
||||
"击“同意”即表示您已阅读并同意全部" +
|
||||
"条款,可以继续使用我们的产品和服" +
|
||||
"务。");
|
||||
policBinding.tvText.setText(spanUtils.create());
|
||||
policBinding.tvText.setMovementMethod(LinkMovementMethod.getInstance());
|
||||
}
|
||||
|
||||
public void setPolicyClickListener(PolicyClickListener policyClickListener) {
|
||||
this.mPolicyClickListener = policyClickListener;
|
||||
}
|
||||
|
||||
public class PolicyClickProxy {
|
||||
public void onAgreeClick() {
|
||||
if (mPolicyClickListener != null) {
|
||||
mPolicyClickListener.policyAgree();
|
||||
}
|
||||
}
|
||||
|
||||
public void onExit() {
|
||||
if (mPolicyClickListener != null) {
|
||||
mPolicyClickListener.policyExit();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public interface PolicyClickListener {
|
||||
void policyAgree();
|
||||
|
||||
void policyExit();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user