过期API_AlertDialog
16lz
2021-01-25
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.javapackage 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(); }}
结果
-------------------------------------------------------
更多相关文章
- Chapter 1 Introducing Android(安卓)Studio
- Android(安卓)线性布局 LinearLayout
- 关于setOnCheckedChangeListener的使用
- Android启动页用户相关政策弹框的实现
- Android(安卓)stdio笔记
- Android(安卓)Nine Patch图片及按钮背景
- Fragment实现底部功能栏
- 简单android拨号器的实现
- 在PC电脑上玩Android(安卓)1.x 2.x 3.x