首页

android服务协议和隐私政策效果

java

2020-6-20

实现服务协议和隐私政策效果,用户单击
服务协议和隐私政策跳转相关界面

package com.cj.spannablestringbuilderdemo; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.text.Spannable; import android.text.SpannableStringBuilder; import android.text.method.LinkMovementMethod; import android.text.style.ClickableSpan; import android.view.View; import android.widget.Button; import android.widget.CheckBox; import android.widget.TextView; import android.widget.Toast; public class MainActivity extends AppCompatActivity implements View.OnClickListener { private Button btnLogin; private CheckBox checkBox; private TextView tvPrivacy;
    @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        initView();
        initData();
    } private void initView() {
        btnLogin=findViewById(R.id.btn_login);
        checkBox=findViewById(R.id.checkBox);
        tvPrivacy=findViewById(R.id.tv_privacy);
        btnLogin.setOnClickListener(this);
    } private void initData() { //        我同意本DEMO的隐私政策和服务协议  SpannableStringBuilder builder=new SpannableStringBuilder(getString(R.string.string_privacy));
        ClickableSpan clickSpanPrivacy=new ClickableSpan() {
            @Override public void onClick( View widget) { //                跳转隐私政策网址  Toast.makeText(MainActivity.this, getString(R.string.string_toast_to_privacy), Toast.LENGTH_SHORT).show();
            }
        };
        builder.setSpan(clickSpanPrivacy,9,13, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
        ClickableSpan clickableSpanProtocol=new ClickableSpan() {
            @Override public void onClick( View widget) { //                跳转服务协议  Toast.makeText(MainActivity.this, getString(R.string.string_toast_to_service), Toast.LENGTH_SHORT).show();
            }
        };
        builder.setSpan(clickableSpanProtocol,14,18,Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
        tvPrivacy.setText(builder);
        tvPrivacy.setMovementMethod(LinkMovementMethod.getInstance());//调用此方法时文字点击事件才有效  }
    @Override public void onClick(View v) { if(!checkBox.isChecked()){ //            请同意隐私政策和服务协议  Toast.makeText(this, getString(R.string.string_toast_privacy_service), Toast.LENGTH_SHORT).show();
        }else {
            Toast.makeText(this, getString(R.string.string_toast_login_success), Toast.LENGTH_SHORT).show();
        }
    }
}
资源下载此资源下载价格为3D币(VIP免费),请先
资源文件列表
public_demo-master/.DS_Store , 6148
public_demo-master/.gitignore , 1002
public_demo-master/LICENSE , 11357
public_demo-master/README.md , 43
public_demo-master/SpannableStringBuilderDemo/.gitignore , 203
public_demo-master/SpannableStringBuilderDemo/.idea/encodings.xml , 135
public_demo-master/SpannableStringBuilderDemo/.idea/gradle.xml , 580
public_demo-master/SpannableStringBuilderDemo/.idea/misc.xml , 515
public_demo-master/SpannableStringBuilderDemo/.idea/runConfigurations.xml , 564
public_demo-master/SpannableStringBuilderDemo/app/.gitignore , 7
public_demo-master/SpannableStringBuilderDemo/app/build.gradle , 947
public_demo-master/SpannableStringBuilderDemo/app/proguard-rules.pro , 751
public_demo-master/SpannableStringBuilderDemo/app/src/androidTest/java/com/cj/spannablestringbuilderdemo/ExampleInstrumentedTest.java , 750
public_demo-master/SpannableStringBuilderDemo/app/src/main/AndroidManifest.xml , 727
public_demo-master/SpannableStringBuilderDemo/app/src/main/java/com/cj/spannablestringbuilderdemo/MainActivity.java , 2598
public_demo-master/SpannableStringBuilderDemo/app/src/main/res/drawable-v24/ic_launcher_foreground.xml , 1880
public_demo-master/SpannableStringBuilderDemo/app/src/main/res/drawable/ic_launcher_background.xml , 5606
public_demo-master/SpannableStringBuilderDemo/app/src/main/res/layout/activity_main.xml , 1896
public_demo-master/SpannableStringBuilderDemo/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml , 272
public_demo-master/SpannableStringBuilderDemo/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml , 272
public_demo-master/SpannableStringBuilderDemo/app/src/main/res/mipmap-hdpi/ic_launcher.png , 2963
public_demo-master/SpannableStringBuilderDemo/app/src/main/res/mipmap-hdpi/ic_launcher_round.png , 4905
public_demo-master/SpannableStringBuilderDemo/app/src/main/res/mipmap-mdpi/ic_launcher.png , 2060
public_demo-master/SpannableStringBuilderDemo/app/src/main/res/mipmap-mdpi/ic_launcher_round.png , 2783
public_demo-master/SpannableStringBuilderDemo/app/src/main/res/mipmap-xhdpi/ic_launcher.png , 4490
public_demo-master/SpannableStringBuilderDemo/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png , 6895
public_demo-master/SpannableStringBuilderDemo/app/src/main/res/mipmap-xxhdpi/ic_launcher.png , 6387
public_demo-master/SpannableStringBuilderDemo/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png , 10413
public_demo-master/SpannableStringBuilderDemo/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png , 9128
public_demo-master/SpannableStringBuilderDemo/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png , 15132
public_demo-master/SpannableStringBuilderDemo/app/src/main/res/values/colors.xml , 248
public_demo-master/SpannableStringBuilderDemo/app/src/main/res/values/strings.xml , 539
public_demo-master/SpannableStringBuilderDemo/app/src/main/res/values/styles.xml , 383
public_demo-master/SpannableStringBuilderDemo/app/src/test/java/com/cj/spannablestringbuilderdemo/ExampleUnitTest.java , 394
public_demo-master/SpannableStringBuilderDemo/build.gradle , 823
public_demo-master/SpannableStringBuilderDemo/gradle.properties , 728
public_demo-master/SpannableStringBuilderDemo/gradle/wrapper/gradle-wrapper.jar , 54329
public_demo-master/SpannableStringBuilderDemo/gradle/wrapper/gradle-wrapper.properties , 232
public_demo-master/SpannableStringBuilderDemo/gradlew , 5296
public_demo-master/SpannableStringBuilderDemo/gradlew.bat , 2260
public_demo-master/SpannableStringBuilderDemo/settings.gradle , 15
没有账号? 忘记密码?

社交账号快速登录