介绍:
本文介绍如何在android中创建自定义对话框窗口并从中获取结果
背景:
对话框主要被用作弹出窗口(或称为提示窗)出现在当前activity之上,用于执行一些操作或功能。
你可以使用对话框提醒用户确定他的操作,使用事件驱动通知用户,或提醒用户因为其它的信息。因为对话框会打断UI的流动,因此通常使用它时用作的方法。在大部分情况下,你可能会集成了确定对话框,返回,提示框到你的app中。
当打开一个对话框,当前activity将转到背景,此时打开的对话框置于前台中。当执行完操作后,对话框消失同时activity转到前景。
代码:
Dialog是创建对话框的基础类
创建项目如下:
ProjectName: CustomDialogBox
PackageName: sat.tuts4mobile.customdialogbox
ActivityName: CustomDialogActivity
以下是CustomDialogActivity.java 内容:
package sat.tuts4mobile.customdialogbox; import android.app.Activity; import android.app.Dialog; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.view.Window; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; public class CustomDialogActivity extends Activity { Button buttonDialog; TextView textDialog; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); textDialog = (TextView)findViewById(R.id.textView1); buttonDialog = (Button)findViewById(R.id.buttondialog); buttonDialog.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub showCustomDialog(textDialog); } }); } protected void showCustomDialog(final TextView _textDialog) { // TODO Auto-generated method stub final Dialog dialog = new Dialog(CustomDialogActivity.this); dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); dialog.setContentView(R.layout.customdailog); final EditText editText = (EditText)dialog.findViewById(R.id.editText1); Button button = (Button)dialog.findViewById(R.id.button1); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub _textDialog.setText(editText.getText().toString()); dialog.dismiss(); } }); dialog.show(); } }
activity_main.xml 内空如下:
相关内容