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 ...
在Android开发中,`AlertDialog`是用户界面(UI)组件之一,用于呈现向用户显示重要信息或进行简单交互的关键方式。`AlertDialog`通常出现在主应用界面之上,提供一种中断当前操作并请求用户输入或者确认信息的方式...
在Android开发中,`AlertDialog`是一种常用的用户交互组件,它用于显示一个临时的对话框,通常包含一个消息、一个或多个按钮以及可选的输入字段。`AlertDialog`可以帮助用户进行确认、选择或输入操作,而不会中断...
在Android开发中,`AlertDialog`是一个非常常见的组件,用于向用户显示重要的信息或者需要用户做出选择的情况。在`AndroidUsefulExample_AlertDialog`项目中,开发者提供了一个自定义的`AlertDialog`示例,旨在帮助...
- **AlertDialog**:使用 AlertDialog 创建标准对话框。 - **自定义布局**:通过自定义布局文件实现更加个性化的对话框设计。 - **事件处理**:讲解如何处理对话框中的按钮点击事件。 ##### (5) App -> Activity...
**Android AlertDialog详解** 在Android应用开发中,`AlertDialog`是一个重要的组件,用于向用户显示警告、确认信息或者提供选择项。它比普通的`Toast`更具有交互性,能够更好地吸引用户的注意力并获取反馈。本教程...
压缩包中的"自定义AlertDialog_android_v1.0.0"可能包含了这个示例工程的源码和使用文档。通过查看这些资源,开发者可以更好地理解自定义`AlertDialog`的具体实现方式,并在自己的项目中应用。 总结来说,自定义`...
在Android开发中,UI组件是构建用户界面的关键部分,其中包括了多种对话框,如AlertDialog,它是Android系统提供的一种原生对话框,用于显示警告、询问用户或者提供简单的选择操作。本教程将深入探讨如何在Android...
`AlertDialog`是Android系统中的一个基础对话框组件,用于展示重要的信息或进行简单的用户交互。本篇文章将深入讲解如何通过自定义`style`来改变`AlertDialog`的样式,包括其背景图片、按钮图片、标题样式、标题栏...
在Android开发中,`AlertDialog`是一种非常常用的组件,用于向用户展示重要的信息或者进行简单的交互。`AlertDialog`大全主要涵盖如何创建、定制以及管理对话框的各个方面。在Android应用程序中,对话框通常用来中断...
`自定义AlertDialog_android_v1.0.01`的更新主要针对自定义`AlertDialog`的功能进行了增强。通过此次更新,开发者现在可以更加灵活地自定义`AlertDialog`的样式。具体来说,更新允许开发者传入自定义的View资源来...
在Android开发中,UI组件是构建用户界面的关键部分,其中包括各种对话框,如AlertDialog。`AlertDialog`是一个轻量级的对话框,用于显示警告、确认或提供简单的选择给用户。本教程将深入探讨如何自定义`AlertDialog`...
在Android开发中,`AlertDialog`是一个非常常用的组件,它用于向用户显示重要的警告或提示信息。这个`警告框AlertDialog的demo`是专为初学者设计的,帮助他们理解和掌握如何在应用程序中创建和使用`AlertDialog`。...
在Android开发中,`AlertDialog`是用户界面设计中不可或缺的一部分,它用于展示重要的信息或进行交互操作。`AlertDialog`提供了一种比普通的`Toast`更加强调、比`Activity`更为轻量级的对话方式。本篇文章将深入探讨...
在Android开发中,`AlertDialog`是一种常见的用户交互组件,它用于显示重要的信息或者需要用户做出决定的情况。在很多场景下,我们希望在弹出`AlertDialog`时,背景界面被一个半透明的遮罩层覆盖,以突出对话框并...