列表弹窗

AUListDialog(原 APListPopDialog)提供一个带标题、选项列表、确认、取消按钮的列表型对话框。每一个选项用 PopMenuItem 表示,包含图标、选项名称、选中状态等信息。

效果图

image

接口说明

public interface OnItemClickListener {
    void onItemClick(int index);
}

/**
 * 根据传入的列表数据创建 AUListDialog,item 只包含文字,无图片
 *
 * @param context context 对象
 * @param list String 列表,纯 ItemName 属性,无图片
 */
public AUListDialog(Context context, ArrayList<String> list)

/**
 * 根据传入的列表数据创建 AUListDialog
 *
 * @param list PopMenuItem 列表
 * @param context context 对象
 */
public AUListDialog(ArrayList<PopMenuItem> list, Context context) 

/**
 * 根据传入的列表数据创建 AUListDialog
 *
 * @param title 标题
 * @param list PopMenuItem 对象列表,可设置图标
 * @param context context 对象
 */
public AUListDialog(String title, ArrayList<PopMenuItem> list, Context context) 

/**
 * 根据传入的列表数据创建 AUListDialog
 *
 * @param title 标题
 * @param message 正文
 * @param list PopMenuItem 对象列表,可设置图标
 * @param context context 对象
 */
public AUListDialog(String title, String message, ArrayList<PopMenuItem> list, Context context) 

/**
 * 根据传入的列表数据创建 AUListDialog
 *
 * @param title 标题
 * @param list PopMenuItem 列表
 * @param showSelectionState 是否显示选项选中状态图标
 * @param positiveString 确认按钮文案
 * @param positiveListener 确认按钮监听器
 * @param negativeString 取消按钮文案
 * @param negativeListener 取消按钮监听器
 * @param context context 对象
 */
public AUListDialog(String title, ArrayList<PopMenuItem> list, boolean showSelectionState,
        String positiveString, View.OnClickListener positiveListener,
        String negativeString, View.OnClickListener negativeListener, Context context) 

/**
 * 根据传入的列表数据创建 AUListDialog
 *
 * @param title 标题
 * @param message 正文
 * @param list PopMenuItem 列表
 * @param showSelectionState 是否显示选项选中状态图标
 * @param positiveString 确认按钮文案
 * @param positiveListener 确认按钮监听器
 * @param negativeString 取消按钮文案
 * @param negativeListener 取消按钮监听器
 * @param context context 对象
 */
public AUListDialog(String title, String message, ArrayList<PopMenuItem> list, boolean showSelectionState,
        String positiveString, View.OnClickListener positiveListener,
        String negativeString, View.OnClickListener negativeListener, Context context)

/**
 * 设置列表选项点击事件监听
 */
public void setOnItemClickListener(OnItemClickListener listener) {
    this.listener = listener;
}


/**
 * 动态数据刷新接口
 *
 * @param list
 */
public void updateData(ArrayList<PopMenuItem> list)

代码示例

  • 纯列表弹窗

    image

      new AUListDialog(this, getData(7)).show();
    
      private ArrayList<String> getData(int size){
          ArrayList<String> data = new ArrayList<String>();
          for (int i= 1 ; i<= size; i++){
              data.add("选项文本"+ String.valueOf(i));
          }
          return data;
      }
  • 带标题的列表弹窗

    image

      ArrayList<PopMenuItem> items = new ArrayList<PopMenuItem>();
      items.add(new PopMenuItem("选项文本", null));
      items.add(new PopMenuItem("选项文本", null));
      items.add(new PopMenuItem("选项文本", null));
      items.add(new PopMenuItem("选项文本", null));
      items.add(new PopMenuItem("选项文本", null));
      items.add(new PopMenuItem("选项文本", null));
      new AUListDialog("标题", items, this).show();
  • 带说明文本的列表弹窗

    image

      ArrayList<PopMenuItem> items = new ArrayList<PopMenuItem>();
      items.add(new PopMenuItem("选项文本", null));
      items.add(new PopMenuItem("选项文本", null));
      items.add(new PopMenuItem("选项文本", null));
      new AUListDialog("", "描述文字的字数尽量控制在三行内,并且单行最右侧尽量不要是标点符号。", items, this).show();
  • 带标题和说明文案的列表弹窗

    image

      ArrayList<PopMenuItem> items = new ArrayList<PopMenuItem>();
      items.add(new PopMenuItem("选项文本", null));
      items.add(new PopMenuItem("选项文本", null));
      items.add(new PopMenuItem("选项文本", null));
      new AUListDialog("标题单行", "描述文字的字数尽量控制在三行内,并且单行最右侧尽量不要是标点符号。", items, this).show();
  • 带勾选项的列表弹窗

    image

      ArrayList<PopMenuItem> items = new ArrayList<PopMenuItem>();
      PopMenuItem item = new PopMenuItem("选项文本", null);
      item.setType(AUCheckIcon.STATE_UNCHECKED);
      items.add(item);
      items.add(new PopMenuItem("选项文本", null));
      items.add(new PopMenuItem("选项文本", null));
      items.add(new PopMenuItem("选项文本", null));
      items.add(new PopMenuItem("选项文本", null));
      items.add(new PopMenuItem("选项文本", null));
      items.add(new PopMenuItem("选项文本", null));
      items.add(new PopMenuItem("选项文本", null));
      items.add(new PopMenuItem("选项文本", null));
      items.add(new PopMenuItem("选项文本", null));
      new AUListDialog("标题文字", items, true, "确定", null, "取消", null, this).show();