<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"