public abstract class QMUIDialogBuilder<T extends QMUIDialogBuilder>
extends java.lang.Object
QMUIDialog 的 Builder 基类, 不同的 Builder 子类拥有创建不同类型对话框的能力, 具体见子类。
该类产生的 Dialog 分为上中下三个部分:
setTitle(int) 系列方法设置。
子类也可以通过 override onCreateTitle(QMUIDialog, ViewGroup, Context) 方法自定义onCreateContent(QMUIDialog, ViewGroup, Context) 方法自定义。addAction(int, int, QMUIDialogAction.ActionListener) 系列方法添加。
子类也可以通过 override onCreateHandlerBar(QMUIDialog, ViewGroup, Context) 方法自定义。
其中操作按钮有内联和块级之分, 也有普通、正向、反向之分, 具体见 QMUIDialogAction
| 限定符和类型 | 类和说明 |
|---|---|
static interface |
QMUIDialogBuilder.Orientation |
| 限定符和类型 | 字段和说明 |
|---|---|
static int |
HORIZONTAL |
protected QMUILinearLayout |
mActionContainer |
protected java.util.List<QMUIDialogAction> |
mActions |
protected android.view.View |
mAnchorBottomView |
protected android.view.View |
mAnchorTopView |
protected QMUIDialog |
mDialog |
protected QMUIDialogView |
mDialogView |
protected android.widget.LinearLayout |
mRootView |
protected java.lang.String |
mTitle |
protected android.widget.TextView |
mTitleView |
static int |
VERTICAL |
| 构造器和说明 |
|---|
QMUIDialogBuilder(android.content.Context context) |
| 限定符和类型 | 方法和说明 |
|---|---|
T |
addAction(java.lang.CharSequence str,
QMUIDialogAction.ActionListener listener)
添加无图标正常类型的操作按钮
|
T |
addAction(int iconRes,
java.lang.CharSequence str,
int prop,
QMUIDialogAction.ActionListener listener)
添加操作按钮
|
T |
addAction(int iconResId,
java.lang.CharSequence str,
QMUIDialogAction.ActionListener listener)
添加普通类型的操作按钮
|
T |
addAction(int iconRes,
int strRes,
int prop,
QMUIDialogAction.ActionListener listener)
添加操作按钮
|
T |
addAction(int iconResId,
int strResId,
QMUIDialogAction.ActionListener listener)
添加普通类型的操作按钮
|
T |
addAction(int strResId,
QMUIDialogAction.ActionListener listener)
添加无图标正常类型的操作按钮
|
T |
addAction(QMUIDialogAction action)
添加对话框底部的操作按钮
|
QMUIDialog |
create()
只产生一个 Dialog, 不显示出来
|
QMUIDialog |
create(int style)
产生一个Dialog,但不显示出来。
|
android.view.View |
getAnchorBottomView() |
android.view.View |
getAnchorTopView() |
android.content.Context |
getBaseContext() |
protected int |
getContentAreaMaxHeight() |
java.util.List<QMUIDialogAction> |
getPositiveAction() |
android.widget.TextView |
getTitleView() |
protected boolean |
hasTitle()
判断对话框是否需要显示title
|
protected void |
onAfter(QMUIDialog dialog,
android.widget.LinearLayout parent,
android.content.Context context) |
protected void |
onConfigTitleView(android.widget.TextView titleView) |
protected abstract void |
onCreateContent(QMUIDialog dialog,
android.view.ViewGroup parent,
android.content.Context context)
创建中间的区域
|
protected void |
onCreateHandlerBar(QMUIDialog dialog,
android.view.ViewGroup parent,
android.content.Context context)
创建底部的操作栏区域
|
protected void |
onCreateTitle(QMUIDialog dialog,
android.view.ViewGroup parent,
android.content.Context context)
创建顶部的标题区域
|
T |
setActionContainerOrientation(int actionContainerOrientation) |
T |
setActionDivider(int thickness,
int colorRes,
int startInset,
int endInset) |
T |
setCancelable(boolean cancelable) |
T |
setCanceledOnTouchOutside(boolean canceledOnTouchOutside) |
T |
setChangeAlphaForPressOrDisable(boolean changeAlphaForPressOrDisable) |
T |
setContentAreaMaxHeight(int contentAreaMaxHeight)
设置内容区域最高的高度
|
T |
setOnDecorationListener(QMUIDialogView.OnDecorationListener onDecorationListener) |
T |
setTitle(int resId)
设置对话框顶部的标题文字
|
T |
setTitle(java.lang.String title)
设置对话框顶部的标题文字
|
QMUIDialog |
show()
产生一个 Dialog 并显示出来
|
public static final int HORIZONTAL
public static final int VERTICAL
protected QMUIDialog mDialog
protected java.lang.String mTitle
protected android.widget.LinearLayout mRootView
protected QMUIDialogView mDialogView
protected android.view.View mAnchorTopView
protected android.view.View mAnchorBottomView
protected java.util.List<QMUIDialogAction> mActions
protected android.widget.TextView mTitleView
protected QMUILinearLayout mActionContainer
protected int getContentAreaMaxHeight()
public android.content.Context getBaseContext()
public T setContentAreaMaxHeight(int contentAreaMaxHeight)
contentAreaMaxHeight - public T setTitle(java.lang.String title)
public T setTitle(int resId)
public T setCancelable(boolean cancelable)
public T setCanceledOnTouchOutside(boolean canceledOnTouchOutside)
public T setOnDecorationListener(QMUIDialogView.OnDecorationListener onDecorationListener)
public T setActionContainerOrientation(int actionContainerOrientation)
public T setChangeAlphaForPressOrDisable(boolean changeAlphaForPressOrDisable)
public T setActionDivider(int thickness, int colorRes, int startInset, int endInset)
public T addAction(QMUIDialogAction action)
public T addAction(int strResId, QMUIDialogAction.ActionListener listener)
strResId - 文案listener - 点击回调事件public T addAction(java.lang.CharSequence str, QMUIDialogAction.ActionListener listener)
str - 文案listener - 点击回调事件public T addAction(int iconResId, int strResId, QMUIDialogAction.ActionListener listener)
iconResId - 图标strResId - 文案listener - 点击回调事件public T addAction(int iconResId, java.lang.CharSequence str, QMUIDialogAction.ActionListener listener)
iconResId - 图标str - 文案listener - 点击回调事件public T addAction(int iconRes, int strRes, int prop, QMUIDialogAction.ActionListener listener)
iconRes - 图标strRes - 文案prop - 属性listener - 点击回调事件public T addAction(int iconRes, java.lang.CharSequence str, int prop, QMUIDialogAction.ActionListener listener)
iconRes - 图标str - 文案prop - 属性listener - 点击回调事件protected boolean hasTitle()
public QMUIDialog show()
public QMUIDialog create()
create(int)public QMUIDialog create(int style)
style - Dialog 的样式create()protected void onCreateTitle(QMUIDialog dialog, android.view.ViewGroup parent, android.content.Context context)
protected void onConfigTitleView(android.widget.TextView titleView)
public android.widget.TextView getTitleView()
protected abstract void onCreateContent(QMUIDialog dialog, android.view.ViewGroup parent, android.content.Context context)
protected void onCreateHandlerBar(QMUIDialog dialog, android.view.ViewGroup parent, android.content.Context context)
protected void onAfter(QMUIDialog dialog, android.widget.LinearLayout parent, android.content.Context context)
public android.view.View getAnchorTopView()
public android.view.View getAnchorBottomView()
public java.util.List<QMUIDialogAction> getPositiveAction()