Android开发中如何创建自定义对话框
2013-09-30 09:27
579 查看
背景:
无论是Android,还是其他什么平台,对话框的主要形式都是弹出,或者我们可以说是一个在当前活动中打开的提示,来执行一些操作或实现一些功能。
你可以用一个对话框来问用户以确认一个行动,向用户通告一个事件,或者提示用户额外信息。因为对话框扰乱UI流,你应该只是把它们当做最后的手段来用。在大多数情况下,你应该直接整合确认、反馈和提示到你的APP中。
当一个对话框打开,当前活动(通过该活动我们打开了对话框)成为背景,而对话框成为前景。在执行对话框中操作并关闭之后,背景中的活动又变回前景。
使用代码
对话是创建对话框的基础类。
创建一个带有如下细节的项目:
ProjectName: CustomDialogBox
PackageName: sat.tuts4mobile.customdialogbox
ActivityName: CustomDialogActivity >
在CustomDialogActivity.java文件复制如下代码:
在activity_mail.xml文件中,复制如下代码:
创建新的XML文件命名为customdialog.xml并复制如下代码:
当你运行应用程序的时候,你将看到如下显示:
无论是Android,还是其他什么平台,对话框的主要形式都是弹出,或者我们可以说是一个在当前活动中打开的提示,来执行一些操作或实现一些功能。
你可以用一个对话框来问用户以确认一个行动,向用户通告一个事件,或者提示用户额外信息。因为对话框扰乱UI流,你应该只是把它们当做最后的手段来用。在大多数情况下,你应该直接整合确认、反馈和提示到你的APP中。
当一个对话框打开,当前活动(通过该活动我们打开了对话框)成为背景,而对话框成为前景。在执行对话框中操作并关闭之后,背景中的活动又变回前景。
使用代码
对话是创建对话框的基础类。
创建一个带有如下细节的项目:
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_mail.xml文件中,复制如下代码:
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:padding="10dip"> <Button android:id="@+id/buttondialog" android:layout_width="fill_parent" android:layout_height="40dip" android:layout_alignParentBottom="true" android:layout_centerHorizontal="true" android:text="Click to show dialog" android:background="#336699" android:textSize="25sp" android:textColor="#ffffff"/> <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:layout_centerVertical="true" android:text="" android:textSize="25sp"/> </RelativeLayout>
创建新的XML文件命名为customdialog.xml并复制如下代码:
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:padding="5dip" android:background="#336699"> <EditText android:id="@+id/editText1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:ems="10" android:hint="enter text to display" android:singleLine="true"> <requestFocus /> </EditText> <Button android:id="@+id/button1" android:layout_width="120dip" android:layout_height="40dip" android:layout_below="@+id/editText1" android:layout_centerHorizontal="true" android:layout_marginTop="17dp" android:text="Submit" android:textSize="25sp" android:background="#669900" /> </RelativeLayout>
当你运行应用程序的时候,你将看到如下显示:
相关文章推荐
- Android开发中如何创建自定义对话框
- Android开发中如何创建自定义对话框
- Android开发如何创建自定义Dialog
- 跟我学android应用开发 之 如何创建选项卡(Tab)
- Android多媒体开发 Pro Android Media 第二章 创建自定义相机应用 3
- Android开发:如何安全的中止一个自定义线程Thread
- android开发 -- 对话框 Dialog 和 DialogFragment 详解( Android 官方推荐 DialogFragment 创建对话框 )
- Android开发中创建自定义Dialog的方法
- 【XFeng安卓开发笔记】android 如何在对话框中获取edittext中的数据
- Android开发如何在4.0及以上系统中自定义TitleBar
- React Native Android原生模块开发实战|教程|心得|如何创建React Native Android原生模块
- 如何使用Rexsee以Web开发方式创建Android应用
- Android多媒体开发 Pro Android Media 第二章 创建自定义相机应用 1
- Android开发:自定义对话框(自定义布局及背景透明等)
- Android开发笔记(六十六)自定义对话框
- Android开发之如何自定义数字键盘详解
- Android开发如何在4.0及以上系统中自定义TitleBar
- Android 创建自定义对话框主题(使用半透明背景也不会露出原有的背景了)
- Android简明开发教程十八:自定义对话框 Transform
- Ecshop二次开发:如何创建一个自定义页面(一)