图片弹窗

AUImageDialog(原 SalesPromotionLimitDialog)提供一个带顶部标题、三级文案、底部确认按钮或者底部左右按钮,且中间包含一个 ImageView 的对话框。该组件可用于限流的消息提示。

效果图

接口说明

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

/**
 * 获取 AUImageDialog 实例
 *
 * @param context context 对象
 * @return 返回一个 AUImageDialog 实例
 */
public static AUImageDialog getInstance(Context context)

/**
 * 关闭监听
 *
 * @param mCloseBtnClickListener
 */
public void setCloseBtnClickListener(View.OnClickListener mCloseBtnClickListener) 


/**
 * 设置一级标题文案
 */
public void setTitle(CharSequence title) 

/**
 * 设置一级标题文案字体大小,单位为 sp
 *
 * @param size
 */
public void setTitleTextSize(float size)

/**
 * 设置一级标题可见性
 *
 * @param visibility
 */
public void setTitleTextVisibility(int visibility)
}

/**
 * 设置二级标题可见性
 *
 * @param visibility
 */
public void setSubTitleTextVisibility(int visibility)

/**
 * 设置一级标题颜色
 *
 * @param color
 */
public void setTitleTextColor(int color)

/**
 * 设置二级标题文案
 *
 * @param title
 */
public void setSubTitle(CharSequence title) 

/**
 * 设置二级标题字体大小,单位为 sp
 *
 * @param size
 */
public void setSubTitleTextSize(float size)

/**
 * 设置二级标题文案颜色
 *
 * @param color
 */
public void setSubTitleTextColor(int color) 

/**
 * 设置三级标题文案
 *
 * @param text
 */
public void setThirdTitleText(String text)

/**
 * 设置三级标题颜色
 *
 * @param color
 */
public void setThirdTitleTextColor(int color)

/**
 * 设置 ImageView 的背景
 *
 * @param drawable
 */
public void setLogoBackground(Drawable drawable)

/**
 * 设置 ImageView 的背景
 *
 * @param resid
 */
public void setLogoBackgroundResource(int resid) 

/**
 * 设置 ImageView 的背景颜色
 *
 * @param color
 */
public void setLogoBackgroundColor(int color) 

/**
 * 设置对话框的背景透明度
 *
 * @param alpha
 */
public void setBackgroundTransparency(float alpha)

/**
 * 返回是否使用动画
 */
public boolean isUsdAnim() 

/**
 * 设置对话框显示、消失时是否使用动画,默认为 true
 *
 * @param usdAnim
 */
public void setUsdAnim(boolean usdAnim)

/**
 * 设置关闭按钮是否可见
 *
 * @param visibility
 */
public void setCloseButtonVisibility(int visibility) 

/**
 * 设置确认按钮文案
 *
 * @param text
 */
public void setConfirmBtnText(String text)


/**
 * 返回确认按钮
 */
public Button getConfirmBtn() 

/**
 * 设置确认按钮点击监听
 *
 * @param clickListener
 */
public void setOnConfirmBtnClickListener(View.OnClickListener clickListener)


/**
 * 不带动画的显示对话框
 */
public void showWithoutAnim() 

/**
 * 设置倒计时
 * @param seconds 倒计时秒
 * @param tickColor
 * @param action
 * @param clickListener
 * @param timerListener
 */
public void showWithTimer(int seconds, String tickColor, String action, View.OnClickListener clickListener, TimerListener timerListener) 

public void showWithTimer(int seconds, View.OnClickListener clickListener, TimerListener timerListener)

/**
 * 获取默认的倒计时颜色
 * @return
 */
public String getDefaultTimeColorStr()

/**
 * 不带动画的 dismiss dialog
 */
public void dismissWithoutAnim()

@Override
public void dismiss() 


public boolean isCanceledOnTouch() {
    return canceledOnTouch;
}

/**
 * 设置是否点击中间图片时对话框自动取消
 *
 * @param canceledOnTouch
 */
public void setCanceledOnTouch(boolean canceledOnTouch)


/**
 * 设置列表按钮
 * @param buttonListInfo
 * @param listener
 */
public void setButtonListInfo(List<String> buttonListInfo, OnItemClickListener listener)

public ImageView getLogoImageView() {
    return bgImageView;
}

public TextView getTitleTextView() {
    return titleTextView_1;
}

public TextView getSubTitleTextView() {
    return titleTextView_2;
}

public TextView getThirdTitleTextView() {
    return titleTextView_3;
}

public ImageView getBottomLine() {
    return bottomLine;
}

代码示例

AUImageDialog dialog = AUImageDialog.getInstance(this);
dialog.showWithTimer(5, null, null);

AUImageDialog dialog = AUImageDialog.getInstance(this);
dialog.setCanceledOnTouch(true);
dialog.setTitle("标题单行");
dialog.setSubTitle("说明当前状态、提示用户解决方案,最好不要超过两行。");
dialog.setConfirmBtnText("行动按钮");
dialog.showWithoutAnim();

AUImageDialog dialog = AUImageDialog.getInstance(this);
dialog.setCanceledOnTouch(true);
dialog.setTitle("一级文案");
dialog.setSubTitle("二级文案");
dialog.setThirdTitleText("同意xxx协议");
dialog.setConfirmBtnText("行动按钮");
dialog.showWithoutAnim();

AUImageDialog dialog = AUImageDialog.getInstance(this);
dialog.setTitle("标题单行");
dialog.setSubTitle("描述文字的字数尽量控制在三行内,并且单行最右侧尽量不要是标点符号。");
dialog.setButtonListInfo(getData(), new AUImageDialog.OnItemClickListener() {
    @Override
    public void onItemClick(int index) {

    }
});
dialog.showWithoutAnim();