Android中对话框的使用
16lz
2021-01-23
布局文件dialog.xml:
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/widget28" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <TextView android:id="@+id/nameMessage" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Enter Name:" > </TextView> <EditText android:id="@+id/nameEditText" android:layout_width="fill_parent" android:layout_height="wrap_content" android:textSize="18sp" > </EditText> <LinearLayout android:id="@+id/buttonLayout" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" > <Button android:id="@+id/okButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="OK" > </Button> <Button android:id="@+id/cancelButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Cancel" > </Button> </LinearLayout></LinearLayout>
主窗口布局:
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <Button android:id="@+id/startDialog" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Button" /></LinearLayout>
主窗口AndroidDialogActivity.java
package com.relin.dialog;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import com.relin.dialog.MyDialog.MyDialogListener;public class AndroidDialogActivity extends Activity implements OnClickListener, MyDialogListener{ /** Called when the activity is first created. */ private Button startButton; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); startButton = (Button)findViewById(R.id.startDialog); startButton.setOnClickListener(this); }@Overridepublic void onClick(View v) {// TODO Auto-generated method stubMyDialog dialog = new MyDialog(AndroidDialogActivity.this, this);dialog.show();}@Overridepublic void onOkClick(String name) {// TODO Auto-generated method stubSystem.out.println("success~~~~~");}@Overridepublic void onCancelClick() {// TODO Auto-generated method stub} }
MyDialog.java
package com.relin.dialog;import android.app.Dialog;import android.content.Context;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;public class MyDialog extends Dialog implements OnClickListener{private Button okButton;private Button cancelButton;private EditText nameEditText;private MyDialogListener listener;public MyDialog(Context context, boolean cancelable,OnCancelListener cancelListener) {super(context, cancelable, cancelListener);// TODO Auto-generated constructor stub}public MyDialog(Context context, int theme) {super(context, theme);// TODO Auto-generated constructor stub}public MyDialog(Context context, MyDialogListener listener) {super(context);// TODO Auto-generated constructor stubthis.listener = listener;}@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);setContentView(R.layout.dialog);okButton = (Button)findViewById(R.id.okButton);cancelButton = (Button)findViewById(R.id.cancelButton);nameEditText = (EditText)findViewById(R.id.nameEditText);okButton.setOnClickListener(this);}@Overridepublic void onClick(View view) {// TODO Auto-generated method stubswitch (view.getId()) {case R.id.okButton:listener.onOkClick(nameEditText.getText().toString());dismiss();break;case R.id.cancelButton:cancel();break;}}public interface MyDialogListener {public void onOkClick(String name);public void onCancelClick();}}
更多相关文章
- Android 关于显示键盘,布局错乱网上顶的问题
- android登录简单窗口
- android 开发 简单的页面布局
- RecyclerView竖直和水平的瀑布流布局
- Android适配底部虚拟键盘遮挡布局的解决方案
- Android参数设置父布局集体宽高
- Android 四大组件,五大存储,六大布局