Android自定义对话框
来源:互联网 发布:ctrl alt 互换 linux 编辑:程序博客网 时间:2024/05/21 22:45
自定义对话框,你只用传你自己的布局即可。 单例模式创建对象,记得在destory方法里面置空
private static CustomProgressDialog instance; public static CustomProgressDialog getInstance(Context context) { if (null == instance) { instance = new CustomProgressDialog(context); } return instance; }
设置对话框显示的位置和背景透明度
public void setDialogLocationWindowAlpha(int gravity, float alpha) { Window window = instance.getWindow(); window.setGravity(gravity); WindowManager.LayoutParams lp = window.getAttributes(); // 设置背景层透明度 lp.dimAmount = alpha; window.setAttributes(lp); }
再就是一些常用方法:
/** * 设置标题 * * @param title * @return */ public CustomProgressDialog setMyTitle(@Nullable CharSequence title) { instance.setTitle(title); return this; } /** * 设置布局 * * @param layout * @return */ public CustomProgressDialog setMyView(@LayoutRes int layout) { instance.setContentView(layout); return this; } /** * 设置布局 * @param view * @return */ public CustomProgressDialog setMyView(View view) { instance.setContentView(view); return this; } /** * 设置TextView的title * * @param id * @param msg * @return */ public CustomProgressDialog setMyTvText(int id, String msg) { View view = findViewById(id); if (null != view && view instanceof TextView) { ((TextView) view).setText(msg); } return this; } /** * 按返回键是否取消 * * @param cancelable * @return */ public CustomProgressDialog setMyCancelables(boolean cancelable) { instance.setCancelable(cancelable); return this; } /** * 点击dialog外部是否取消 * * @param cancelable * @return */ public CustomProgressDialog setMyCanceledOnTouchOutsides(boolean cancelable) { instance.setCanceledOnTouchOutside(cancelable); return this; } /** * 监听返回键处理 * * @param listener * @return */ public CustomProgressDialog setOnMyCancelListeners(OnCancelListener listener) { instance.setOnCancelListener(listener); return this; } /** * dialog显示 * * @return */ public CustomProgressDialog shows() { instance.show(); return this; } /** * dialog隐藏 * * @return */ public CustomProgressDialog dissmiss() { instance.dismiss(); return this; } /** * 销毁的时候把instance置空 * * @return */ public CustomProgressDialog destory() { instance = null; return this; }
调用方式:
instanceProgressDialog = CustomProgressDialog.getInstance(context);//获取单例对象 View view = LayoutInflater.from(context).inflate(R.layout.update_dialog, null);//自己对话框的布局 instanceProgressDialog.setMyView(view); instanceProgressDialog.setMyTitle("下载"); instanceProgressDialog.setMyCanceledOnTouchOutsides(false); instanceProgressDialog.setMyCancelables(false); instanceProgressDialog.show();
自定义view工具类
阅读全文
0 0
- android中的对话框:自定义对话框
- Android Dialog( 自定义对话框)
- android 自定义对话框
- android自定义对话框
- Android自定义对话框
- android 自定义对话框
- Android自定义Dialog对话框
- android自定义大小对话框
- android自定义对话框
- Android自定义对话框
- android 自定义对话框
- android 自定义对话框
- android自定义对话框
- android 自定义对话框动画
- Android弹出自定义对话框
- android自定义对话框
- android 自定义对话框
- Android自定义对话框
- jq的一些取值
- 计蒜客 八皇后问题
- lvm
- java数据库连接池代码实现
- java实现FTP多线程断点续传,上传下载!
- Android自定义对话框
- 从送外卖到建站售主机还有共享自行车说起-2017年8月江西IDC排行榜与发展报告
- 制作ubuntu根文件系统
- javascript向上向下取整
- 安全获取操作系统位数
- Android中Recyclerview使用14----RecycleView的item间距设置
- leetcode寻找最大长度的连续数对
- 每日一题(10)—— 数组与指针
- PAT