Android 用户自定义对话框
2014-12-13 21:39
369 查看
Android 开发过程中经常需要用户自定义的对话框。这种对话框需要支持在对话框里面输入的内容在对话框关闭后传递给当前所在的Activity。今天我写了一个例子来展示用户自定义对话框的定义和使用。用户自定义对话框的例子包含已下几个部分:
1)Activity
CustomDialogActivity,定义一个Activity,包含一个按钮和一个TextView,点击该按钮弹出对话框,在对话框输入字符串,点击对话框上的按钮之后,对话框输入的字符串会显示在这个TextView上。
2)Activity Layout
activity_main2.xml,定义了CustomDialogActivity的布局,包含了一个按钮和一个TextView。
3)Dialog Layout
customdialog.xml,定义了自定义对话框的布局,包含一个输入框和一个按钮。
CustomDialogActivity.java代码如下:
activity_main2.xml
customdialog.xml
注意:不要忘记把CustomDialogActivity注册到AndroidManifest.xml中。
运行的效果如下:
这种对话框的样式及由那些元素组成均可以自定义,在开发过程中能够经常用到。欢迎批评指正
1)Activity
CustomDialogActivity,定义一个Activity,包含一个按钮和一个TextView,点击该按钮弹出对话框,在对话框输入字符串,点击对话框上的按钮之后,对话框输入的字符串会显示在这个TextView上。
2)Activity Layout
activity_main2.xml,定义了CustomDialogActivity的布局,包含了一个按钮和一个TextView。
3)Dialog Layout
customdialog.xml,定义了自定义对话框的布局,包含一个输入框和一个按钮。
CustomDialogActivity.java代码如下:
package com.augmentum.example; import com.example.androidexample.R; 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 { private Button buttonDialog; private TextView textDialog; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.activity_main2); textDialog = (TextView)findViewById(R.id.textView1); buttonDialog = (Button)findViewById(R.id.buttondialog); buttonDialog.setOnClickListener(listener); } private OnClickListener listener = new OnClickListener(){ @Override public void onClick(View view) { // 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.customdialog); 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_main2.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>
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>
注意:不要忘记把CustomDialogActivity注册到AndroidManifest.xml中。
运行的效果如下:
这种对话框的样式及由那些元素组成均可以自定义,在开发过程中能够经常用到。欢迎批评指正
相关文章推荐
- Android简单的自定义用户登陆对话框
- Android简明开发教程十八:自定义对话框 Transform
- Android Dialog( 自定义对话框)
- Android 对话框进阶(自定义)
- android自定义大小对话框
- android Dialog 各种Dialog 三个选项的、进度条的、单选的、多选的、自定义的对话框
- 在InstallShield中自定义复选对话框_2_用AskOption提供的功能来让用户选择复选项或单选项
- android Dialog 各种Dialog 三个选项的、进度条的、单选的、多选的、自定义的对话框
- android 自定义对话框
- Android自定义对话框
- android自定义对话框
- Android自定义对话框列表
- Android简明开发教程十八:自定义对话框 Transform
- Android简明开发教程十八:自定义对话框 Transform
- android 自定义对话框 背景透明
- Android---功能模块一之颜色选择器自定义Preference 对话框
- 20. android dialog——自定义对话框之一
- Android简明开发教程十八:自定义对话框 Transform
- Android自定义对话框的大小
- Android中自定义的加载对话框和加载条