安卓自定义对话框(位置和大小)
来源:互联网 发布:矩阵a与b相似,则a与b 编辑:程序博客网 时间:2024/05/15 04:05
安卓自定义对话框(位置和大小)
//自定义对话框private void showCustomDialog(String msgStr){try {//使用AlterDialogLinearLayout view = (LinearLayout) LayoutInflater.from(context).inflate(R.layout.dlg_layout, null);final TextView msg = (TextView) view.findViewById(R.id.dlg_msg);final TextView cancel = (TextView) view.findViewById(R.id.dlg_cancel);final TextView confirm = (TextView) view.findViewById(R.id.dlg_confirm);msg.setText(msgStr);AlertDialog.Builder builder = new AlertDialog.Builder(context);final AlertDialog dialog = builder.create();dialog.setCancelable(false);dialog.setCanceledOnTouchOutside(false);dialog.show();Window window = dialog.getWindow();//设置显示位置WindowManager.LayoutParams lp = window.getAttributes();//不设置lp.width 和lp.height,对话框大小由布局决定//lp.width = 525; //大小//lp.height =330;//自定义位置lp.x = 30; lp.y = 30;lp.gravity = Gravity.LEFT | Gravity.TOP;//不设置这个时,lp.x和lp.y无效 //window.setGravity(Gravity.CENTER);//居中显示window.setAttributes(lp);window.setContentView(view);final Dialog dialog2 = dialog;cancel.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {try {if(dialog2 != null){dialog2.dismiss();}} catch (Exception e) {e.printStackTrace();}}});confirm.setOnClickListener(new View.OnClickListener() {public void onClick(View arg0) {try{Toast.makeText(DownLoadActivity.this, "确认", Toast.LENGTH_SHORT).show();if(dialog2 != null){dialog2.dismiss();}} catch (Exception e) {e.printStackTrace();}}});} catch (Exception e) {e.printStackTrace();}}lp.x的英文注释:X position for this window. With the default gravity it is ignored. When using Gravity.LEFT or Gravity.START or Gravity.RIGHT or Gravity.END it provides an offset from the given edge由With the default gravity it is ignored可知,当使用对话框默认的Gravity时,lp.x和lp.y设置了也无效。注意:lp.x与lp.y表示相对于原始位置的偏移. 当参数值包含Gravity.LEFT时,对话框出现在左边,所以lp.x就表示相对左边的偏移,负值忽略. 当参数值包含Gravity.RIGHT时,对话框出现在右边,所以lp.x就表示相对右边的偏移,负值忽略. 当参数值包含Gravity.TOP时,对话框出现在上边,所以lp.y就表示相对上边的偏移,负值忽略. 当参数值包含Gravity.BOTTOM时,对话框出现在下边,所以lp.y就表示相对下边的偏移,负值忽略. 当参数值包含Gravity.CENTER_HORIZONTAL时,对话框水平居中,所以lp.x就表示在水平居中的位置移动lp.x像素,正值向右移动,负值向左移动. 当参数值包含Gravity.CENTER_VERTICAL时,对话框垂直居中,所以lp.y就表示在垂直居中的位置移动lp.y像素,正值向右移动,负值向左移动. gravity的默认值为Gravity.CENTER,即Gravity.CENTER_HORIZONTAL | Gravity.CENTER_VERTICAL.
0 0
- 安卓自定义对话框(位置和大小)
- 【Android】安卓开发实战之自定义对话框位置、大小、颜色、形状
- 自定义对话框(Dialog)位置,大小
- 自定义对话框 位置 大小等
- 自定义对话框(Dialog)位置,大小
- 自定义对话框(Dialog)位置,大小
- 设置对话框大小和位置
- Android自定义对话框(Dialog)位置,大小
- Android自定义对话框(Dialog)位置,大小
- Android自定义对话框(Dialog)位置,大小
- [Android] Android自定义对话框(Dialog)位置,大小
- Android自定义对话框(Dialog)位置,大小
- Android自定义对话框(Dialog)位置,大小
- Android自定义对话框(Dialog)位置,大小
- Android自定义对话框(Dialog)位置,大小
- Android自定义对话框(Dialog)位置,大小
- Android自定义对话框(Dialog)位置,大小
- Android自定义对话框(Dialog)位置,大小
- android 中 ArrayList 、LinkList、List 区别
- Java并发系列 ScheduledExecutorService 使用
- 纪念日
- Spring框架1-容器功能
- 如何在mac安装PIL_Python Image Library
- 安卓自定义对话框(位置和大小)
- Java中的引用
- uva11520填字母
- OpenGL入门学习
- BGRABitmap图像操作1:最简单的例子,在窗体上画一个长方体
- RecyclerView侧滑菜单,RecyclerView滑动删除,RecyclerView长按拖拽
- leetcode:数学:Water and Jug Problem(365)
- maven junit.framework不存在问题解决
- 为CentOS系统设置固定IP