Android仿IOS弹出框
来源:互联网 发布:心理健康测试软件 编辑:程序博客网 时间:2024/05/16 18:35
现在设计的标准都是按照ios的标准来设计(至少我们公司是这样做的),这对于我们安卓开发人员也是相当的头疼,因为这就需要我们自定义View。今天给大家带来的是仿ios的弹出框。下面开始上代码分析:
public AlertDialog(Context context) { this.context = context; /** 获取WindowManager对象 管理打开的窗口程序*/ WindowManager windowManager = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE); /**获取默认的显示对象*/ display = windowManager.getDefaultDisplay(); }
public AlertDialog builder() { // 获取Dialog布局 View view = LayoutInflater.from(context).inflate( R.layout.view_alertdialog, null); // 获取自定义Dialog布局中的控件 lLayout_bg = (LinearLayout) view.findViewById(R.id.lLayout_bg); txt_title = (TextView) view.findViewById(R.id.txt_title); txt_title.setVisibility(View.GONE); txt_msg = (TextView) view.findViewById(R.id.txt_msg); txt_msg.setVisibility(View.GONE); btn_neg = (Button) view.findViewById(R.id.btn_neg); btn_neg.setVisibility(View.GONE); btn_pos = (Button) view.findViewById(R.id.btn_pos); btn_pos.setVisibility(View.GONE); img_line = (ImageView) view.findViewById(R.id.img_line); img_line.setVisibility(View.GONE); //修改:增加编辑框 edt_msg = (EditText) view.findViewById(R.id.edt_msg); edt_msg.setVisibility(View.GONE); // 定义Dialog布局和参数 dialog = new Dialog(context, R.style.AlertDialogStyle); dialog.setContentView(view); // 调整dialog背景大小 lLayout_bg.setLayoutParams(new FrameLayout.LayoutParams((int) (display.getWidth() * 0.85), LayoutParams.WRAP_CONTENT)); return this; }
/** * 设置AlertDialog的标题 */ public AlertDialog setTitle(String title) { showTitle = true; if ("".equals(title)) { txt_title.setText("标题"); } else { txt_title.setText(title); } return this; }
/** * 修改:增加编辑框 */ public AlertDialog setEditText(String hint) { showEditText = true; if ("".equals(hint)) { edt_msg.setHint("编辑"); } else { edt_msg.setHint(hint); edt_msg.setInputType(InputType.TYPE_CLASS_NUMBER); } return this; }
然后讲下他的用法,其实和系统自带的弹框用法差不多:
private void showPreDialog() { final AlertDialog dialog = new AlertDialog(getActivity()); dialog.builder() .setTitle("") .setMsg("") .setEditText("") .setNegativeButton("取消", new View.OnClickListener() { @Override public void onClick(View v) { dialog.diss(); } }) .setShowPositiveButton("确定", new View.OnClickListener() { @Override public void onClick(View v) { dialog.diss(); startActivity(new Intent(getActivity(), ChangePasswordActivity.class)); } }) .setCancelable(false).show(); }
需要源码的留言。
0 0
- android-仿iOS弹出框
- android 仿IOS弹出框
- Android仿IOS弹出框
- Android仿IOS地区弹出框选择器
- Android仿ios底部弹出框效果
- Android仿IOS 弹出框的实现
- 高仿IOS的Android的弹出框
- Android——仿ios底部弹出选择框
- 仿ios弹出层提示框
- jquery仿IOS弹出框插件
- 仿iOS弹出Dialog
- IOS 基于Swift的弹出提示框(仿Android的Toast 和等待提示框)
- Android View 仿iOS7 底部弹出框
- Android高仿IOS和QQ的弹出对话框
- Android仿IOS底部弹出选择菜单ActionSheet
- [Android]仿IOS选择拍照相册底部弹出
- 仿IOS底部弹出效果
- 仿IOS弹出框及提示框(含Demo)
- HDU
- 会新版3D电影《狼牙山五壮士》新闻发布在保定举行
- spring boot使用记录
- 蓝桥杯
- ubuntu安装opencv3
- Android仿IOS弹出框
- Android init进程(长文)
- 【一图流】_04_一张图看懂 Java Binder:AMS注册到ServiceManager流程
- HTML表格跨多行rowspan,跨多列colspan
- centos下配置java环境
- (3) iproute2 cheat sheet
- thinkphp join联表查询
- leetcode.122.Best Time to Buy and Sell Stock II
- 养成写博客的习惯