代码拉取完成,页面将自动刷新
compile 'cn.yc:YCDialogLib:3.6.5'
1.2.0 判断通知权限
//注意,建议加上这个判断
DialogUtils.requestMsgPermission(this);
1.2.1 仿IOS底部弹窗,自定义对话框
private void showCustomDialog() {
final List<String> names = new ArrayList<>();
names.add("拍照");
names.add("相册");
names.add("其他");
showDialog(new CustomSelectDialog.SelectDialogListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
}
}, names);
}
private CustomSelectDialog showDialog(CustomSelectDialog.SelectDialogListener listener,
List<String> names) {
CustomSelectDialog dialog = new CustomSelectDialog(this,
R.style.transparentFrameWindowStyle, listener, names);
dialog.setItemColor(R.color.colorAccent,R.color.colorPrimary);
//判断activity是否finish
if (!this.isFinishing()) {
dialog.show();
}
return dialog;
}
1.2.2 自定义Toast
//可以自由设置吐司的背景颜色,默认是纯黑色
ToastUtils.setToastBackColor(this.getResources().getColor(R.color.color_7f000000));
//直接设置最简单吐司,只有吐司内容
ToastUtils.showRoundRectToast("自定义吐司");
//设置吐司标题和内容
ToastUtils.showRoundRectToast("吐司一下","潇湘剑雨杨充是个逗比");
//第三种直接设置自定义布局的吐司
ToastUtils.showRoundRectToast(R.layout.view_layout_toast_delete);
//或者直接采用bulider模式创建
ToastUtils.Builder builder = new ToastUtils.Builder(this.getApplication());
builder
.setDuration(Toast.LENGTH_SHORT)
.setFill(false)
.setGravity(Gravity.CENTER)
.setOffset(0)
.setDesc("内容内容")
.setTitle("标题")
.setTextColor(Color.WHITE)
.setBackgroundColor(this.getResources().getColor(R.color.blackText))
.build()
.show();
1.2.3 自定义简易型PopupWindow
//第一步,自定义pop,继承BasePopDialog类,重新抽象方法
public class CustomPop extends BasePopDialog {
public CustomPop(Context context) {
super(context);
}
@Override
public int getViewResId() {
return R.layout.view_pop_custom;
}
@Override
public void initData(View contentView) {
TextView tv_pop = (TextView) contentView.findViewById(R.id.tv_pop);
tv_pop.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ToastUtils.showRoundRectToast("滚犊子吧");
}
});
}
}
//第二步,创建pop并且展示
CustomPop customPop = new CustomPop(this);
customPop.setDelayedMsDismiss(2500);
customPop.setBgAlpha(0.5f);
customPop.showAsDropDown(tv6, 0, -tv6.getMeasuredHeight() - tv6.getHeight());
1.2.4 自定义PopupWindow,builder模式
View contentView = LayoutInflater.from(this).inflate(R.layout.pop_layout,null);
//创建并显示popWindow
popWindow = new CustomPopupWindow.PopupWindowBuilder(this)
//.setView(R.layout.pop_layout)
.setView(contentView)
.setFocusable(true)
//弹出popWindow时,背景是否变暗
.enableBackgroundDark(true)
//控制亮度
.setBgDarkAlpha(0.7f)
.setOutsideTouchable(true)
.setAnimationStyle(R.style.popWindowStyle)
.setOnDissmissListener(new PopupWindow.OnDismissListener() {
@Override
public void onDismiss() {
//对话框销毁时
}
})
.create()
.showAsDropDown(tv6,0,10);
1.2.5 自定义底部弹窗Dialog,builder模式【使用menu】
new CustomBottomDialog(MainActivity.this)
.title("这个是标题")
.setCancel(true,"取消选择")
.orientation(CustomBottomDialog.VERTICAL)
.inflateMenu(R.menu.menu_share, new OnItemClickListener() {
@Override
public void click(CustomItem item) {
}
})
.show();
1.2.6 自定义布局弹窗dialogFragment[填充普通布局]
final BottomDialogFragment dialog = new BottomDialogFragment();
dialog.setFragmentManager(getSupportFragmentManager());
dialog.setViewListener(new BottomDialogFragment.ViewListener() {
@Override
public void bindView(View v) {
TextView tv_cancel = (TextView) v.findViewById(R.id.tv_cancel);
tv_cancel.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
dialog.dismissDialogFragment();
}
});
}
});
dialog.setLayoutRes(R.layout.dialog_bottom_layout);
dialog.setDimAmount(0.5f);
dialog.setTag("BottomDialog");
dialog.setCancelOutside(true);
//这个高度可以自己设置,十分灵活
dialog.setHeight(getScreenHeight() / 2);
dialog.show();
1.2.7 自定义布局弹窗dialogFragment[填充list布局]
final List<DialogBean> list = new ArrayList<>();
for(int a=0 ; a<20 ; a++){
DialogBean dialogBean = new DialogBean("ooo","杨充","title");
list.add(dialogBean);
}
BottomDialogFragment.create(getSupportFragmentManager())
.setViewListener(new BottomDialogFragment.ViewListener() {
@Override
public void bindView(View v) {
RecyclerView recyclerView = (RecyclerView) v.findViewById(R.id.recyclerView);
ImageView ivCancel = (ImageView) v.findViewById(R.id.iv_cancel);
ImageView ivDownload = (ImageView) v.findViewById(R.id.iv_download);
recyclerView.setLayoutManager(new LinearLayoutManager(MainActivity.this));
DialogListAdapter mAdapter = new DialogListAdapter(MainActivity.this, list);
recyclerView.setAdapter(mAdapter);
final RecycleViewItemLine line = new RecycleViewItemLine(
MainActivity.this, LinearLayout.HORIZONTAL, 2,
MainActivity.this.getResources().getColor(R.color.grayLine));
recyclerView.addItemDecoration(line);
mAdapter.setOnItemClickListener(new DialogListAdapter.OnItemClickListener() {
@Override
public void onItemClick(int position) {
}
});
View.OnClickListener listener = new View.OnClickListener() {
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.iv_cancel:
break;
case R.id.iv_download:
ToastUtils.showToast("下载");
break;
default:
break;
}
}
};
ivCancel.setOnClickListener(listener);
ivDownload.setOnClickListener(listener);
}
})
.setLayoutRes(R.layout.dialog_bottom_layout_list)
.setDimAmount(0.5f)
.setTag("BottomDialog")
.setCancelOutside(true)
.setHeight(getScreenHeight() / 2)
.show();
1.2.8 自定义常见弹窗,builder模式
CustomDialogFragment
.create(getSupportFragmentManager())
.setTitle("这个是是标题")
.setContent("这个是弹窗的内容")
.setOtherContent("其他")
.setDimAmount(0.2f)
.setTag("dialog")
.setCancelOutside(true)
.setCancelListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
CustomDialogFragment.dismissDialogFragment();
ToastUtils.showRoundRectToast("取消了");
}
})
.setOkListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
CustomDialogFragment.dismissDialogFragment();
ToastUtils.showRoundRectToast("确定了");
}
})
.setOtherListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
CustomDialogFragment.dismissDialogFragment();
ToastUtils.showRoundRectToast("其他内容");
}
})
.show();
1.2.9 自定义loading加载窗
//开始loading
ViewLoading.show(this);
ViewLoading.show(this,"加载中");
//结束loading
ViewLoading.dismiss(this);
1.3.0 自定义SnackBar
//1.只设置text
SnackBarUtils.showSnackBar(this,"滚犊子");
//2.设置text,action,和点击事件
SnackBarUtils.showSnackBar(this, "滚犊子", "ACTION", new View.OnClickListener() {
@Override
public void onClick(View v) {
ToastUtils.showRoundRectToast("滚犊子啦?");
}
});
//3.设置text,action,和点击事件,和icon
SnackBarUtils.showSnackBar(this, "滚犊子", "ACTION",R.drawable.icon_cancel, new View.OnClickListener() {
@Override
public void onClick(View v) {
ToastUtils.showRoundRectToast("滚犊子啦?");
}
});
//4.链式调用
SnackBarUtils.builder()
.setBackgroundColor(this.getResources().getColor(R.color.color_7f000000))
.setTextSize(14)
.setTextColor(this.getResources().getColor(R.color.white))
.setTextTypefaceStyle(Typeface.BOLD)
.setText("滚犊子")
.setMaxLines(4)
.centerText()
.setActionText("收到")
.setActionTextColor(this.getResources().getColor(R.color.color_f25057))
.setActionTextSize(16)
.setActionTextTypefaceStyle(Typeface.BOLD)
.setActionClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ToastUtils.showRoundRectToast("滚犊子啦?");
}
})
.setIcon(R.drawable.icon_cancel)
.setActivity(MainActivity.this)
.setDuration(SnackBarUtils.DurationType.LENGTH_INDEFINITE)
.build()
.show();
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。