Android 弹出窗体

<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">1.android对话框实现方法。</span>


①系统类型对话框(Dialog),带有标题,自定义内容,(系统里没有按钮,但可以响应取消,关闭事件)组成的简单的对话框。

	Dialog dialog=new Dialog(MainActivity.this);
	dialog.setContentView(R.layout.dialog_layout);
	TextView textView= (TextView)dialog.findViewById(R.id.dialogtxtid);
	textView.setText("Hello World");
	dialog.setTitle("Custom Dialog");		
	dialog.show();

此方法很简单显示出带有标题,内容的对话框,内容可以使用我们自定义的layout并且在代码中
可以访问自定义中的控件并设置相关值。通过基类Dialog创建的dialog的必须有tittle,如果不调用setTittle(),
那么tittle的空间会空着而且可见。如果你根本不需要tittle,那么应该使用AlertDialog来创建自定义的dialog。
用②。

②AlertDialog的Dialog功能比①要灵活点。

这里也是自定义了layout(可以访问layout中的控件),不带有标题(注释代码)且有两个按钮的对话框。

				// TODO Auto-generated method stub
				AlertDialog.Builder builder=new AlertDialog.Builder(MainActivity.this);
				//set icon, title, message.
				//builder.setIcon(R.drawable.icon1);set icon, title, message.
				//builder.setTitle("Question");
				//builder.setMessage(R.string.about_content);
				LayoutInflater inflater=LayoutInflater.from(MainActivity.this);
				View textView=	inflater.inflate(R.layout.dialog_layout, null);
			 	builder.setView(textView);
			 	TextView text = (TextView) textView.findViewById(R.id.dialogtxtid); 
			 	text.setText("Hello, this is a custom dialog!"); 
			 	
			 	builder.setPositiveButton("Confirm", new DialogInterface.OnClickListener() {
					
					@Override
					public void onClick(DialogInterface dialog, int which) {
						// TODO Auto-generated method stub
						setTitle("You'v clicked comfirm.");
					}
				});
			 	builder.setNegativeButton("Cancle", new DialogInterface.OnClickListener() {
					
					@Override
					public void onClick(DialogInterface dialog, int which) {
						// TODO Auto-generated method stub
						setTitle("");
					}
				});
				builder.show();
android中还有个PopupWindow
AlertDialog的位置固定,而PopupWindow的位置可以随意
AlertDialog是非阻塞线程的,而PopupWindow是阻塞线程的


PopupWindow的位置按照有无偏移分,可以分为偏移和无偏移两种;按照参照物的不同,可以分为相对于某个控件(Anchor锚)和相对于父控件。具体如下
showAsDropDown(View anchor):相对某个控件的位置(正左下方),无偏移
showAsDropDown(View anchor, int xoff, int yoff):相对某个控件的位置,有偏移
showAtLocation(View parent, int gravity, int x, int y):相对于父控件的位置(例如正中央Gravity.CENTER,下方Gravity.BOTTOM等),可以设置偏移或无偏移

设置TextView控件字体格式。
字体居中:android:gravity="center"; layout_gravity是指控件的位置;gravity是指内部内容的位置。
字体行距:android:lineSpacingExtra="3dp" 或者android:lineSpacingMultiplier="1.2"

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值