效果图如下,大家感觉不错请参考实现代码
private void setGesturePassword() { toggleMore.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { if (isChecked) { // UIUtils.toast("开启了手势密码", false); // sp.edit().putBoolean("isOpen", true).commit(); String inputCode = sp.getString("inputCode", ""); if (TextUtils.isEmpty(inputCode)) {//之前没有设置过 new AlertDialog.Builder(MoreFragment.this.getActivity()) .setTitle("设置手势密码") .setMessage("是否现在设置手势密码") .setPositiveButton("确定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { UIUtils.toast("现在设置手势密码", false); sp.edit().putBoolean("isOpen", true).commit(); // toggleMore.setChecked(true); //开启新的activity: ((BaseActivity) MoreFragment.this.getActivity()).goToActivity(GestureEditActivity.class, null); } }) .setNegativeButton("取消", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { UIUtils.toast("取消了现在设置手势密码", false); sp.edit().putBoolean("isOpen", false).commit(); toggleMore.setChecked(false); } }) .show(); } else { UIUtils.toast("开启手势密码", false); sp.edit().putBoolean("isOpen", true).commit(); // toggleMore.setChecked(true); } } else { UIUtils.toast("关闭了手势密码", false); sp.edit().putBoolean("isOpen", false).commit(); // toggleMore.setChecked(false); } } }); } private void resetGesture() { tvMoreReset.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { boolean checked = toggleMore.isChecked(); if (checked) { ((BaseActivity) MoreFragment.this.getActivity()).goToActivity(GestureEditActivity.class, null); } else { UIUtils.toast("手势密码操作已关闭,请开启后再设置", false); } } }); }