效果图:
工具类:
import android.app.AlertDialog.Builder;import android.app.Dialog;import android.content.Context;import android.graphics.Color;import android.graphics.drawable.Drawable;import android.text.method.ScrollingMovementMethod;import android.util.DisplayMetrics;import android.view.Gravity;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.view.WindowManager;import android.widget.AdapterView;import android.widget.AdapterView.OnItemClickListener;import android.widget.ArrayAdapter;import android.widget.BaseAdapter;import android.widget.Button;import android.widget.CheckBox;import android.widget.ImageView;import android.widget.LinearLayout;import android.widget.LinearLayout.LayoutParams;import android.widget.ListView;import android.widget.TextView;import com.gwkj.qixiubaodian.R;import java.util.HashMap;import java.util.List;/** * 笔记自定义提示框 */public class NoteDialogEx { private Context mContext = null; private LayoutInflater inflater = null; private Dialog dialog = null; private View dialogView = null; private TextView dialog_title = null; private TextView dialog_message = null; private LinearLayout dialog_content = null; public TextView dialog_buttons = null; public CheckBox cb_note = null; private String mTitle = null; private String mMessage = null; private View customContentView = null; private LayoutParams customContentLayout = null; private LayoutParams buttonParams = null; private int screenWidth = 0; private ListView listView = null; private OnItemClickListener listViewListener = null; public static final int BUTTON_CONFIRM = -1; public static final int BUTTON_CANCEL = -2; public static final int BUTTON_OTHER = -3; private int mMessageGravity = Gravity.CENTER; HashMap
xml:
<?xml version="1.0" encoding="utf-8" ?>
使用:
// 笔记发布须知提示框 public void showNoticeDialog() { final NoteDialogEx alert = new NoteDialogEx(this); alert.setTitle("笔记发布须知"); alert.setMessageGravity(Gravity.START); alert.setMessage("1.仅限发布与修车相关的案例、经验、和随笔\n2.问题类、情感类的内容需要在其他版块发布\n3.不合规笔记将被下线并视情况扣除相应积分"); alert.dialog_buttons.setClickable(false); //一进入默认未选中,不能点击按钮 alert.setCanceledOnTouchOutside(false); //点击提示框以外的地方不隐藏提示框 alert.cb_note.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { if (isChecked) { alert.dialog_buttons.setBackgroundResource(R.color.blue); alert.dialog_buttons.setClickable(true);//选中复选框后,可以点击按钮 alert.dialog_buttons.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { alert.dismiss(); BaseCacheUtil.setString(Module_NoteActivity.this, "post_note_text", "1"); } }); } else {// toast("请勾选阅读并同意该规则"); alert.dialog_buttons.setBackgroundResource(R.color.gray_99); alert.dialog_buttons.setClickable(false); //一进入默认未选中,不能点击按钮 } } }); alert.show(); }}
样式:
<?xml version="1.0" encoding="utf-8"?>
- 点击事件内部类中使用内部类
- AsyncTask的使用 (二)图片下载,进度条
- Android(安卓)listView 中响应Button点击事件
- Android端实现图标带提示数字功能
- android checkbox 扩大点击区域
- Android检查Internet是否可以正常连接
- android学习之EditText需要点击两次触发onclick问题解决
- android api25 点击隐藏BottomSheet需求的Behavior设置技巧
- Android悬浮贴边按钮实现(含动画效果)
随机推荐
-
Android(安卓)Donut Makefile分析之一 (b
-
Android(安卓)Handler消息机制中的Thread
-
获取手机中已安装apk文件信息(PackageInf
-
Animation用法_animation动画效果
-
Android(安卓)Studio 超级全常用快捷
-
cocos2d-x 3.0 引用第三方库 及编译成apk
-
[Android记录]android中的shape
-
Android(安卓)lbs位置服务
-
Handler+Looper+MessageQueue深入详解案
-
Android接入阿里云播放SDK随手笔记