layout
-------------------------------------------------------
activity_main.xml
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/screen" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <LinearLayout android:layout_width="fill_parent" android:layout_height="match_parent" android:orientation="vertical" > <Button android:id="@+id/button1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/alert_dialog_two_buttons_text" /> <Button android:id="@+id/button2" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/alert_dialog_three_buttons_text" /> <Button android:id="@+id/button3" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/alert_dialog_custom_buttons_text" /> <Button android:id="@+id/button4" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/alert_dialog_progress_buttons_text" /> <Button android:id="@+id/button5" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/alert_dialog_radio_buttons_text" /> <Button android:id="@+id/button6" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/alert_dialog_checkbox_buttons_text" /> </LinearLayout> </ScrollView>
input.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="vertical" > <TextView android:id="@+id/uname_view" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="20dip" android:layout_marginRight="20dip" android:text="@string/alert_dialog_uname" android:textAppearance="?android:attr/textAppearanceMedium" /> <EditText android:id="@+id/uname_edit" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginLeft="20dip" android:layout_marginRight="20dip" android:capitalize="none" /> <TextView android:id="@+id/upass_view" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="20dip" android:layout_marginRight="20dip" android:text="@string/alert_dialog_upass" android:textAppearance="?android:attr/textAppearanceMedium" /> <EditText android:id="@+id/upass_edit" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginLeft="20dip" android:layout_marginRight="20dip" android:capitalize="none" android:password="true" android:textAppearance="?android:attr/textAppearanceMedium" /> </LinearLayout>
Activity
-------------------------------------------------------
MainActivity.java package com.dialog; import android.os.Bundle; import android.support.v4.app.FragmentActivity; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; /** * * 项目名称:com.dialog * 类 名 称:MainActivity * 类 描 述: 弹出对话框的使用 * 创 建 人:fy * 创建时间:2014-3-2 上午8:48:13 * Copyright (c) 方勇-版权所有 */ public class MainActivity extends FragmentActivity implements OnClickListener { FragmentSearch dialogFragment; private Button btn1; private Button btn2; private Button btn3; private Button btn4; private Button btn5; private Button btn6; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); findViews(); setListeners(); } @Override public void onClick(View v) { showSearchDialog(v.getId()); } private void findViews() { btn1 = (Button) findViewById(R.id.button1); btn2 = (Button) findViewById(R.id.button2); btn3 = (Button) findViewById(R.id.button3); btn4 = (Button) findViewById(R.id.button4); btn5 = (Button) findViewById(R.id.button5); btn6 = (Button) findViewById(R.id.button6); } private void setListeners() { btn1.setOnClickListener(this); btn2.setOnClickListener(this); btn3.setOnClickListener(this); btn4.setOnClickListener(this); btn5.setOnClickListener(this); btn6.setOnClickListener(this); } private void showSearchDialog(int id) { dialogFragment = new FragmentSearch(); Bundle bundle = new Bundle(); bundle.putInt("id", id); dialogFragment.setArguments(bundle); dialogFragment.show(super.getSupportFragmentManager(), "showSearchDialog"); } }
FragmentSearch.java
package com.dialog; import android.app.AlertDialog; import android.app.Dialog; import android.app.ProgressDialog; import android.content.DialogInterface; import android.content.DialogInterface.OnMultiChoiceClickListener; import android.os.Bundle; import android.support.v4.app.DialogFragment; import android.view.LayoutInflater; import android.view.View; import android.widget.EditText; import android.widget.Toast; /** * * 项目名称:com.dialog * 类 名 称:FragmentSearch * 类 描 述: 对话框 * 创 建 人:fy * 创建时间:2014-3-2 上午9:11:42 * Copyright (c) 方勇-版权所有 */ public class FragmentSearch extends DialogFragment { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); } @Override public Dialog onCreateDialog(Bundle savedInstanceState) { AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); int id = getArguments().getInt("id"); switch (id) { // 两个按钮的对话框 case R.id.button1: builder.setMessage(R.string.alert_dialog_two_buttons_text) .setPositiveButton(R.string.alert_dialog_ok, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { Toast.makeText(getActivity(), "ok...", 3000).show(); } }).setNegativeButton(R.string.alert_dialog_cancel, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { Toast.makeText(getActivity(), "canel...", 3000).show(); } }); break; // 三个按钮的对话框 case R.id.button2: builder.setMessage(R.string.alert_dialog_three_buttons_text) .setPositiveButton(R.string.alert_dialog_ok, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { Toast.makeText(getActivity(), "ok...", 3000).show(); } }).setNeutralButton(R.string.alert_dialog_something, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { Toast.makeText(getActivity(), "something", 3000).show(); } }).setNegativeButton(R.string.alert_dialog_cancel, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { Toast.makeText(getActivity(), "canel...", 3000).show(); } }); break; // 文本输入对话框: case R.id.button3: LayoutInflater inflater = LayoutInflater.from(getActivity()); final View view = inflater.inflate(R.layout.input, null); builder.setView(view); builder.setMessage(R.string.alert_dialog_custom_buttons_text) .setPositiveButton(R.string.alert_dialog_ok, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { EditText uname = (EditText) view.findViewById(R.id.uname_edit); Toast.makeText(getActivity(), uname.getText().toString(), 3000).show(); } }) .setNegativeButton(R.string.alert_dialog_cancel, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { Toast.makeText(getActivity(), "canel...", 3000).show(); } }); break; // 进度条对话框: case R.id.button4: ProgressDialog dialog = new ProgressDialog(getActivity()); dialog.setTitle("进度条对话框"); dialog.setMessage("下载中........"); return dialog; // 单选按钮对话框 case R.id.button5: final String[] items = new String[] { "男", "女" }; builder.setSingleChoiceItems(items, 0, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int item) { Toast.makeText(getActivity(), items[item], Toast.LENGTH_SHORT).show(); } }); break; // 复选按钮对话框 case R.id.button6: final String[] item = new String[] { "卖萌", "上网" }; builder.setMultiChoiceItems(item, null, new OnMultiChoiceClickListener() { @Override public void onClick(DialogInterface dialog, int which, boolean isChecked) { if (isChecked) Toast.makeText(getActivity(), item[which], Toast.LENGTH_SHORT).show(); } }); break; default: break; } return builder.create(); } }
结果
-------------------------------------------------------
相关推荐
3、启动Service,然后创建AlertDialog.build创建,确认后跳转到Activity,再动态生成ProgressBar 备注: Service 要配置到xml文件 AlertDialog.build 注册成系统的弹窗就好了,在xml配置设置可以 AlertDialog ad ...
AlertDialog: 一.简单提示对话框 二.带列表选项对话框 2.1:单选 2.2:多选
androidDialogBuilder 总结
AndroidUsefulExample_AlertDialog 这是一个非常简单的android自定义alertdialog 希望你会喜欢 :)截屏
根据API中关于AlertDialog 的接收和使用方法,本demo把api中代码做了相应测试,简单、适合初学者。
alertDialog,android alertDialog大全
025_android UI组件之 AlertDialog 的各种实现,很细致的视频教程,这个可以学哦。。
026_android UI组件之 AlertDialog的自定义布局,很细致的视频教程,这个可以学哦。。
自定义AlertDialog_android_v1.0.0的更新 新增 可通过传入自定义的view资源自定义样式
Android AlertDialog对话框 自定义实现遮罩层
flutter_custom_alertdialog 一个新的Flutter应用程序。 入门 该项目是Flutter应用程序的起点。 如果这是您的第一个Flutter项目,那么有一些资源可以帮助您入门: 要获得Flutter入门方面的帮助,请查看我们的,...
1、从Activity的TextView中获取字符串设置到AlertDialog的TextView和EditText中 2、将AlertDialog的EditText中的值设置到Activity的TextView中 新手在自定义AlertDialog上的疑问笔者猜测主要有两个: 1、自定义的...
自定义AlertDialog控件,可以自定义提示框的样式、提示框页面、标题、内容、设置按钮监听、设置1到3数量的按钮。 包含demo工程和使用说明的doc
android自定义AlertDialog,例如支付页面,先弹出自定义AlertDialog询问是否愿意支付,确定则弹出另外一个自定义AlertDialog,选择支付方式,android自定义AlertDialog,android自定义AlertDialog,android自定义...
android AlertDialog使用例程 一个在安卓平台上开发使用AlertDialog的例子 很实用很全哦