全部产品
云市场

图片弹窗

更新时间:2020-04-27 20:16:28

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

效果图

依赖

参见 快速开始

接口说明

  1. public interface OnItemClickListener {
  2. void onItemClick(int index);
  3. }
  4. /**
  5. * 获取 AUImageDialog 实例
  6. *
  7. * @param context context 对象
  8. * @return 返回一个 AUImageDialog 实例
  9. */
  10. public static AUImageDialog getInstance(Context context)
  11. /**
  12. * 关闭监听
  13. *
  14. * @param mCloseBtnClickListener
  15. */
  16. public void setCloseBtnClickListener(View.OnClickListener mCloseBtnClickListener)
  17. /**
  18. * 设置一级标题文案
  19. */
  20. public void setTitle(CharSequence title)
  21. /**
  22. * 设置一级标题文案字体大小,单位为 sp
  23. *
  24. * @param size
  25. */
  26. public void setTitleTextSize(float size)
  27. /**
  28. * 设置一级标题可见性
  29. *
  30. * @param visibility
  31. */
  32. public void setTitleTextVisibility(int visibility)
  33. }
  34. /**
  35. * 设置二级标题可见性
  36. *
  37. * @param visibility
  38. */
  39. public void setSubTitleTextVisibility(int visibility)
  40. /**
  41. * 设置一级标题颜色
  42. *
  43. * @param color
  44. */
  45. public void setTitleTextColor(int color)
  46. /**
  47. * 设置二级标题文案
  48. *
  49. * @param title
  50. */
  51. public void setSubTitle(CharSequence title)
  52. /**
  53. * 设置二级标题字体大小,单位为 sp
  54. *
  55. * @param size
  56. */
  57. public void setSubTitleTextSize(float size)
  58. /**
  59. * 设置二级标题文案颜色
  60. *
  61. * @param color
  62. */
  63. public void setSubTitleTextColor(int color)
  64. /**
  65. * 设置三级标题文案
  66. *
  67. * @param text
  68. */
  69. public void setThirdTitleText(String text)
  70. /**
  71. * 设置三级标题颜色
  72. *
  73. * @param color
  74. */
  75. public void setThirdTitleTextColor(int color)
  76. /**
  77. * 设置 ImageView 的背景
  78. *
  79. * @param drawable
  80. */
  81. public void setLogoBackground(Drawable drawable)
  82. /**
  83. * 设置 ImageView 的背景
  84. *
  85. * @param resid
  86. */
  87. public void setLogoBackgroundResource(int resid)
  88. /**
  89. * 设置 ImageView 的背景颜色
  90. *
  91. * @param color
  92. */
  93. public void setLogoBackgroundColor(int color)
  94. /**
  95. * 设置对话框的背景透明度
  96. *
  97. * @param alpha
  98. */
  99. public void setBackgroundTransparency(float alpha)
  100. /**
  101. * 返回是否使用动画
  102. */
  103. public boolean isUsdAnim()
  104. /**
  105. * 设置对话框显示、消失时是否使用动画,默认为 true
  106. *
  107. * @param usdAnim
  108. */
  109. public void setUsdAnim(boolean usdAnim)
  110. /**
  111. * 设置关闭按钮是否可见
  112. *
  113. * @param visibility
  114. */
  115. public void setCloseButtonVisibility(int visibility)
  116. /**
  117. * 设置确认按钮文案
  118. *
  119. * @param text
  120. */
  121. public void setConfirmBtnText(String text)
  122. /**
  123. * 返回确认按钮
  124. */
  125. public Button getConfirmBtn()
  126. /**
  127. * 设置确认按钮点击监听
  128. *
  129. * @param clickListener
  130. */
  131. public void setOnConfirmBtnClickListener(View.OnClickListener clickListener)
  132. /**
  133. * 不带动画的显示对话框
  134. */
  135. public void showWithoutAnim()
  136. /**
  137. * 设置倒计时
  138. * @param seconds 倒计时秒
  139. * @param tickColor
  140. * @param action
  141. * @param clickListener
  142. * @param timerListener
  143. */
  144. public void showWithTimer(int seconds, String tickColor, String action, View.OnClickListener clickListener, TimerListener timerListener)
  145. public void showWithTimer(int seconds, View.OnClickListener clickListener, TimerListener timerListener)
  146. /**
  147. * 获取默认的倒计时颜色
  148. * @return
  149. */
  150. public String getDefaultTimeColorStr()
  151. /**
  152. * 不带动画的 dismiss dialog
  153. */
  154. public void dismissWithoutAnim()
  155. @Override
  156. public void dismiss()
  157. public boolean isCanceledOnTouch() {
  158. return canceledOnTouch;
  159. }
  160. /**
  161. * 设置是否点击中间图片时对话框自动取消
  162. *
  163. * @param canceledOnTouch
  164. */
  165. public void setCanceledOnTouch(boolean canceledOnTouch)
  166. /**
  167. * 设置列表按钮
  168. * @param buttonListInfo
  169. * @param listener
  170. */
  171. public void setButtonListInfo(List<String> buttonListInfo, OnItemClickListener listener)
  172. public ImageView getLogoImageView() {
  173. return bgImageView;
  174. }
  175. public TextView getTitleTextView() {
  176. return titleTextView_1;
  177. }
  178. public TextView getSubTitleTextView() {
  179. return titleTextView_2;
  180. }
  181. public TextView getThirdTitleTextView() {
  182. return titleTextView_3;
  183. }
  184. public ImageView getBottomLine() {
  185. return bottomLine;
  186. }

代码示例

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

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

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

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