效果图:
工具类:
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<Object, OnClickListener> buttonMapListener = null;
private int selectItem = -1; // listView 选择位置
public NoteDialogEx(Context context) {
this.mContext = context;
inflater = LayoutInflater.from(mContext);
create();
}
private void create() {
buttonMapListener = new HashMap<Object, OnClickListener>();
mTitle = mContext.getResources().getString(R.string.app_name);
DisplayMetrics display = mContext.getResources().getDisplayMetrics();
screenWidth = (int) (display.widthPixels * 0.9);
Builder builder = new Builder(mContext);
dialogView = inflater.inflate(R.layout.note_dialog, null);
cb_note = dialogView.findViewById(R.id.cb_note);
cb_note.setVisibility(View.GONE);
dialog_title = (TextView) dialogView.findViewById(R.id.tv_dialog_title);
dialog_title.setVisibility(View.GONE);
dialog_message = (TextView) dialogView.findViewById(R.id.tv_dialog_message);
dialog_message.setVisibility(View.GONE);
dialog_message.setMovementMethod(ScrollingMovementMethod.getInstance());
dialog_content = (LinearLayout) dialogView.findViewById(R.id.li_dialog_content);
dialog_buttons = (TextView) dialogView.findViewById(R.id.li_dialog_buttons);
dialog = builder.create();
buttonParams = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.MATCH_PARENT);
buttonParams.weight = 1.0f;
}
View.OnClickListener onClickListener = new View.OnClickListener() {
@Override
public void onClick(View v) {
dismiss();
Object key = v.getTag