android 自定义对话框
2011-09-01 10:29
393 查看
说到对话框你肯定会想到AlertDialog.Builder。当然这次不是用AlertDialog.Builder来实现的!而是Dialog类
AlertDialog.Builder提供的方法有:
setTitle():给对话框设置title.
setIcon():给对话框设置图标。
setMessage():设置对话框的提示信息
setItems():设置对话框要显示的一个list,一般用于要显示几个命令时
setSingleChoiceItems():设置对话框显示一个单选的List
setMultiChoiceItems():用来设置对话框显示一系列的复选框。
setPositiveButton():给对话框添加”Yes”按钮。
setNegativeButton():给对话框添加”No”按钮。
那么在Dialog类怎样实现的呢?当然是layout啦,你可以自定义一个xml来布置你对话框
看看例子和源码吧
package com.hl;
import android.app.Activity;
import android.app.Dialog;
import android.content.Context;
import android.os.Bundle;
import android.view.Gravity;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.widget.Button;
public class MyDialog extends Activity implements android.view.View.OnClickListener {
Button btn1=null;
Button btn2=null;
Button btn3=null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
btn1=(Button)findViewById(R.id.b1);
btn2=(Button)findViewById(R.id.b2);
btn3=(Button)findViewById(R.id.b3);
btn1.setOnClickListener(this);
btn2.setOnClickListener(this);
btn3.setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch(v.getId()){
case R.id.b1:
break;
case R.id.b2:
case R.id.b3:
new MyDialogs(this).setDisplay();
break;
default:
}
}
class MyDialogs extends Dialog implements android.view.View.OnClickListener{
private Button b1;
private Window window=null;
public MyDialogs(Context context){
super(context);
}
public void setDisplay(){
setContentView(R.layout.dialog);//设置对话框的布局
b1=(Button)findViewById(R.id.clo);
b1.setOnClickListener(this);
setProperty();
setTitle("自定义对话框");//设定对话框的标题
show();//显示对话框
}
//要显示这个对话框,只要创建该类对象.然后调用该函数即可.
public void setProperty(){
window=getWindow();// 得到对话框的窗口.
WindowManager.LayoutParams wl = window.getAttributes();
wl.x =0;//这两句设置了对话框的位置.0为中间
wl.y =180;
wl.alpha=0.6f;//这句设置了对话框的透明度
wl.gravity=Gravity.BOTTOM;
window.setAttributes(wl);
}
@Override
public void onClick(View v) {
dismiss();//取消
}
}
}
AlertDialog.Builder提供的方法有:
setTitle():给对话框设置title.
setIcon():给对话框设置图标。
setMessage():设置对话框的提示信息
setItems():设置对话框要显示的一个list,一般用于要显示几个命令时
setSingleChoiceItems():设置对话框显示一个单选的List
setMultiChoiceItems():用来设置对话框显示一系列的复选框。
setPositiveButton():给对话框添加”Yes”按钮。
setNegativeButton():给对话框添加”No”按钮。
那么在Dialog类怎样实现的呢?当然是layout啦,你可以自定义一个xml来布置你对话框
看看例子和源码吧
package com.hl;
import android.app.Activity;
import android.app.Dialog;
import android.content.Context;
import android.os.Bundle;
import android.view.Gravity;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.widget.Button;
public class MyDialog extends Activity implements android.view.View.OnClickListener {
Button btn1=null;
Button btn2=null;
Button btn3=null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
btn1=(Button)findViewById(R.id.b1);
btn2=(Button)findViewById(R.id.b2);
btn3=(Button)findViewById(R.id.b3);
btn1.setOnClickListener(this);
btn2.setOnClickListener(this);
btn3.setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch(v.getId()){
case R.id.b1:
break;
case R.id.b2:
case R.id.b3:
new MyDialogs(this).setDisplay();
break;
default:
}
}
class MyDialogs extends Dialog implements android.view.View.OnClickListener{
private Button b1;
private Window window=null;
public MyDialogs(Context context){
super(context);
}
public void setDisplay(){
setContentView(R.layout.dialog);//设置对话框的布局
b1=(Button)findViewById(R.id.clo);
b1.setOnClickListener(this);
setProperty();
setTitle("自定义对话框");//设定对话框的标题
show();//显示对话框
}
//要显示这个对话框,只要创建该类对象.然后调用该函数即可.
public void setProperty(){
window=getWindow();// 得到对话框的窗口.
WindowManager.LayoutParams wl = window.getAttributes();
wl.x =0;//这两句设置了对话框的位置.0为中间
wl.y =180;
wl.alpha=0.6f;//这句设置了对话框的透明度
wl.gravity=Gravity.BOTTOM;
window.setAttributes(wl);
}
@Override
public void onClick(View v) {
dismiss();//取消
}
}
}
相关文章推荐
- Android自定义对话框
- Android多种方式实现自定义Dialog对话框
- android 自定义View 对话框
- Android 自定义AlertDialog对话框
- Android自定义对话框(Dialog)位置,大小
- Android开发中如何创建自定义对话框
- Android自定义对话框Dialog
- Android自定义组件系列【13】——Android自定义对话框如此简单
- Android自定义圆角对话框
- android知识点一:自定义xml对话框
- Android简单对话框、输入对话框、单选对话框、复选对话框、列表对话框、自定义对话框、时间对话框
- Android自定义对话框
- Android中制作自定义dialog对话框的实例分享
- Android自定义对话框列表
- 完全自定义Android对话框AlertDialog的实现
- Android 自定义对话框,可设置大小和显示位置,并设置点击其他位置不消失
- Android AlertDialog对话框自定义风格的另类实现
- android自定义AlertDialog对话框中的EditText无法弹出输入法解决方案
- 在Android中自定义捕获Application全局异常,可以替换掉系统的强制退出对话框(很有参考价值与实用价值)
- android dialog——自定义对话框之一