Advanced dialog solution for android
APACHE-2.0 License
Simple and advanced dialog solution.
implementation 'com.orhanobut:dialogplus:1.11@aar'
Use the builder to create the dialog.
Basic usage
DialogPlus dialog = DialogPlus.newDialog(this)
.setAdapter(adapter)
.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(DialogPlus dialog, Object item, View view, int position) {
}
})
.setExpanded(true) // This will enable the expand feature, (similar to android L share dialog)
.create();
dialog.show();
Enable expand animation same as Android L share dialog
.setExpanded(true) // default is false, only works for grid and list
Set expand animation default height
.setExpanded(true, 300)
Select different holder.
setContentHolder(new ListHolder())
.setContentHolder(new ViewHolder(R.layout.content))
or pass view itself
.setContentHolder(new ViewHolder(view))
.setContentHolder(new GridHolder(COLUMN_NUMBER))
View view = dialogPlus.getHolderView();
.setGravity(Gravity.CENTER)
.setCancelable(true)
.setAdapter(adapter);
.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(DialogPlus dialog, Object item, View view, int position) {
}
})
.setOnClickListener(new OnClickListener() {
@Override
public void onClick(DialogPlus dialog, View view) {
}
})
.setMargin(left, top, right, bottom)
.setPadding(left, top, right, bottom)
.setFooter(R.layout.footer)
or use view
.setFooter(view)
View view = dialogPlus.getFooterView();
.setHeader(R.layout.header)
or use view
.setHeader(view)
View view = dialogPlus.getHeaderView();
.setInAnimation(R.anim.abc_fade_in)
.setOutAnimation(R.anim.abc_fade_out)
.setContentWidth(ViewGroup.LayoutParams.WRAP_CONTENT) // or any custom width ie: 300
.setContentHeight(ViewGroup.LayoutParams.WRAP_CONTENT)
.setOnDismissListener(new OnDismissListener() {
@Override
public void onDismiss(DialogPlus dialog) {
}
})
.setOnCancelListener(new OnCancelListener() {
@Override
public void onCancel(DialogPlus dialog) {
}
})
.setOnBackPressListener(new OnBackPressListener() {
@Override
public void onBackPressed(DialogPlus dialog) {
}
})
.setContentBackgroundResource(resource)
.setOverlayBackgroundResource(resource)