MasterofProject

Android commonly used five pop-up dialog box

label Android Applicationdialog box
387 people read comment(0) Collection report
Classification:

A small example of Android development in common dialog box, a total of five kinds of dialog: ordinary pop-up dialog box, radio dialog box, multiple choice dialog, input dialog box and the progress bar style dialog box:

Xmlns:android= http://schemas.android.com/apk/res/android "<LinearLayout"
Http://schemas.android.com/tools "xmlns:tools="
Match_parent "android:layout_width="
Match_parent "android:layout_height="
Vertical "android:orientation=" >


<Button
@+id/common_dialog "android:id="
Match_parent "android:layout_width="
40dp "android:layout_height="
Android:text= common dialog box"
16sp "android:textSize="
Android:layout_marginTop= "10dp" / >


<Button
@+id/radio_dialog "android:id="
Match_parent "android:layout_width="
40dp "android:layout_height="
Android:text= radio "dialog box"
16sp "android:textSize="
Android:layout_marginTop= "10dp" / >


<Button
@+id/check_dialog "android:id="
Match_parent "android:layout_width="
40dp "android:layout_height="
Android:text= multi dialog box"
16sp "android:textSize="
Android:layout_marginTop= "10dp" / >


<Button
@+id/input_dialog "android:id="
Match_parent "android:layout_width="
40dp "android:layout_height="
Android:text= input text dialog box"
16sp "android:textSize="
Android:layout_marginTop= "10dp" / >


<Button
@+id/progress_dialog "android:id="
Match_parent "android:layout_width="
40dp "android:layout_height="
Android:text= progress bar dialog box"
16sp "android:textSize="
Android:layout_marginTop= "10dp" / >


</LinearLayout>

The following is a simple layout of the contents of the input activity_input.xml

Xmlns:android= http://schemas.android.com/apk/res/android "<LinearLayout"
Http://schemas.android.com/tools "xmlns:tools="
@+id/LinearLayout1 "android:id="
Match_parent "android:layout_width="
Match_parent "android:layout_height="
Vertical "android:orientation=" >


<TextView
Wrap_content "android:layout_width="
Wrap_content "android:layout_height="
Android:text= "@string/hello_world" / >


<EditText
@+id/uname "android:id="
Fill_parent "android:layout_width="
Android:layout_height= "wrap_content" / >


<TextView
Wrap_content "android:layout_width="
Wrap_content "android:layout_height="
Android:text= "@string/hello_world" / >


<EditText
@+id/upass "android:id="
Fill_parent "android:layout_width="
Android:layout_height= "wrap_content" / >


</LinearLayout>

Code and comments:

Class MainActivity extends Activity implements OnClickListener {public
The check box to simulate the title of * / / * *
Final static int CHECKED_ENU private = 0;
The check box to simulate the title of senior high school * / / * *
Final static int CHECKED_SEL private = 1;
The check box to simulate the title of junior * / / * *
Final static int CHECKED_CHU private = 2;
Check button to select * / / * *
Boolean[] checked private = {true, true, true, false};
The progress of simulation value * / / * *
Int progressNumber private;
* / / * * progress dialog
ProgressDialog progressDialog private;
The corresponding button * / / * *
Button commonBtn private, radioBtn, checkBtn, inputBtn, progressBtn;


@Override
Void onCreate public (savedInstanceState Bundle) {
Super.onCreate (savedInstanceState);
SetContentView (R.layout.activity_main);
InitViews ();
InitListeners ();
}


Initializes the UI control / * * * /


initviews() { private void
this.commonbtn =(按钮)findViewById(r.id.common_dialog);
this.radiobtn =(按钮)findViewById(r.id.radio_dialog);
this.checkbtn =(按钮)findViewById(r.id.check_dialog);
this.inputbtn =(按钮)findViewById(r.id.input_dialog);
this.progressbtn =(按钮)findViewById(r.id.progress_dialog);
}


/ * * /注册按钮监听事件
initlisteners() { private void
这个commonbtn setonclicklistener(本);
这个radiobtn setonclicklistener(本);
这个checkbtn setonclicklistener(本);
这个inputbtn setonclicklistener(本);
这个progressbtn setonclicklistener(本);
}


/ * * /普通对话框
私人对话buildalertdialog() {
AlertDialog。建造者建造新的警告对话框生成器(这个);
建设者。操作SetIcon(r.drawable。ic_launcher);
建设者。settitle(“对话框”);
setmessage(“您的密码不对建设者!“);


这个ImageView =新ImageView(本);
ImageView。setimageresource(r.drawable。MM1);
/ * * /设置背景图片
建设者。setView(图片);
/ * * /左边按钮
建设者。setpositivebutton(“确定”,新的对话框上。onclicklistener() {
“重写”
public void OnClick(DialogInterface对话框,INT){
settitle(“您点击的是左边确定按钮!”);
}
});
/ * * /中间按钮
建设者。setneutralbutton(“详情”,新的对话框上。onclicklistener() {
“重写”
public void OnClick(DialogInterface对话框,INT){
settitle(“您点击的是中间详情按钮!”);
}
});
/ * * /右边按钮
建设者。setnegativebutton(“取消”,新的对话框上。onclicklistener() {
“重写”
public void OnClick(DialogInterface对话框,INT){
/ /待办事项自动生成方法存根
settitle(“您点击的是右边取消按钮!”);
}
});
create()回报建设者;
}


/ * * /单选按钮弹出框
私人对话buildalertdialog_radio() {
AlertDialog。建造者建造新的警告对话框生成器(这个);
建设者。操作SetIcon(r.drawable。ic_launcher);
建设者。settitle(“对话框”);
/ * * /单选按钮,默认高中被选中
建设者。setSingleChoiceItems(新的字符串[ ] {“大学”、“高中”、“初中”、“小学”},1个onclicklistener() {新。


“重写”
public void OnClick(DialogInterface对话框,INT){
/ /待办事项自动生成方法存根
开关(该){
案例checked_enu:
settitle(“大学”);
打破;
案例checked_sel:
settitle(“高中”);
打破;
案例checked_chu:
settitle(“初中”);
打破;
违约:
settitle(“小学”);
打破;
}
}
});


建设者。setpositivebutton(“确定”,新的对话框上。onclicklistener() {
“重写”
public void OnClick(DialogInterface对话框,INT){
settitle(“您点击的是左边确定按钮!”);
}
});
建设者。setnegativebutton(“取消”,新的对话框上。onclicklistener() {
“重写”
public void OnClick(DialogInterface对话框,INT){
settitle(“您点击的是右边取消按钮!”);
}
});
create()回报建设者;
}


/ * * /可以多选按钮弹出框
私人对话buildalertdialog_checkbox() {
AlertDialog。建造者建造新的警告对话框生成器(这个);
建设者。操作SetIcon(r.drawable。ic_launcher);
建设者。settitle(“对话框”);
/ * * /复选按钮
建设者。setmultichoiceitems(新的字符串[ ] {“大学”、“高中”、“初中”、“小学”},{ onmultichoiceclicklistener()检查,新的对话框上。


“重写”
public void OnClick(DialogInterface对话框,int,布尔校核){
settitle(“=”+ +”-----”+“把关=”+系统);
}
});


建设者。setpositivebutton(“确定”,新的对话框上。onclicklistener() {
“重写”
public void OnClick(DialogInterface对话框,INT){
settitle(“您点击了确定按钮!”);
}
});
建设者。setnegativebutton(“取消”,新的对话框上。onclicklistener() {
“重写”
public void OnClick(DialogInterface对话框,INT){
/ /待办事项自动生成方法存根
settitle(“您点击的是了取消按钮!”);
}
});
create()回报建设者;
}


/ * * /含可以输入文本的弹出框
私人对话buildalertdialog_input() {
AlertDialog。建造者建造新的警告对话框生成器(这个);
建设者。操作SetIcon(r.drawable。ic_launcher);
建设者。settitle(“对话框”);
LayoutInflater inflater = LayoutInflater。从(这);
建设者。setView(充气。充气(r.layout.activity_input,null));
建设者。setpositivebutton(“确定”,新的对话框上。onclicklistener() {
“重写”
public void OnClick(DialogInterface对话框,INT){
settitle(“您点击的是确定按钮!”);
}
});
建设者。setnegativebutton(“取消”,新的对话框上。onclicklistener() {
“重写”
public void OnClick(DialogInterface对话框,INT){
settitle(“您点击的是取消按钮!”);
}
});
create()回报建设者;
}


/ * * /进度对话框
私人对话buildalertdialog_progress() {
进度对话框=新的进度对话框(本);
进度对话框。settitle(“进度条”);
进度对话框。setmessage(“正在下载...........”);
/ * * /进度条样式
进度对话框。setprogressstyle(进度对话框。style_horizontal);
/ * * /模糊效果
进度对话框。setindeterminate(假);
回报进度对话框;
}


0.3秒更新一次进度每隔/ * * /
updateprogress() { public void
新的thread() {
“重写”
run() { public void
尝试{
而(progressnumber <= 100){
进度对话框,设置任务的进度(progressnumber + +);
睡眠(300);
run()超;
}
/ * * /下载完后,关闭下载框
cancel()进度对话框;
} catch(InterruptedException e){
E. printstacktrace();
}
}
start() };
}


“重写”
public void OnClick(视图){
开关(V. getid()){
案例r.id.common_dialog:
buildalertdialog()。show();
打破;
案例r.id.radio_dialog:
buildalertdialog_radio()。show();
打破;
案例r.id.check_dialog:
buildalertdialog_checkbox()。show();
打破;
案例r.id.input_dialog:
buildalertdialog_input()。show();
打破;
案例r.id.progress_dialog:
buildalertdialog_progress()。show();
updateprogress();
打破;
违约:
打破;
}
}
}

猜你在找
查看评论
*以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:48140次
    • 积分:二千二百二十三
    • 等级:
    • 排名:10236名第
    • 原创:180篇
    • 转载:37篇
    • 译文:1篇
    • 评论:13条
    文章分类
    文章存档
    最新评论