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();