博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android 用户自定义对话框
阅读量:2235 次
发布时间:2019-05-09

本文共 2374 字,大约阅读时间需要 7 分钟。

       Android 开发过程中经常需要用户自定义的对话框。这种对话框需要支持在对话框里面输入的内容在对话框关闭后传递给当前所在的Activity。今天我写了一个例子来展示用户自定义对话框的定义和使用。用户自定义对话框的例子包含已下几个部分:

                                                                 

       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

customdialog.xml

注意:不要忘记把CustomDialogActivity注册到AndroidManifest.xml中。

运行的效果如下:

这种对话框的样式及由那些元素组成均可以自定义,在开发过程中能够经常用到。欢迎批评指正

      


你可能感兴趣的文章
CART 分类与回归树
查看>>
seq2seq 的 keras 实现
查看>>
seq2seq 入门
查看>>
什么是 Dropout
查看>>
用 LSTM 做时间序列预测的一个小例子
查看>>
用 LSTM 来做一个分类小问题
查看>>
详解 LSTM
查看>>
按时间轴简述九大卷积神经网络
查看>>
详解循环神经网络(Recurrent Neural Network)
查看>>
为什么要用交叉验证
查看>>
用学习曲线 learning curve 来判别过拟合问题
查看>>
用验证曲线 validation curve 选择超参数
查看>>
用 Grid Search 对 SVM 进行调参
查看>>
用 Pipeline 将训练集参数重复应用到测试集
查看>>
PCA 的数学原理和可视化效果
查看>>
机器学习中常用评估指标汇总
查看>>
什么是 ROC AUC
查看>>
Bagging 简述
查看>>
详解 Stacking 的 python 实现
查看>>
简述极大似然估计
查看>>