android:常用的AlertDialog对话框及自定义对话框
来源:互联网 发布:php源码怎么安装 编辑:程序博客网 时间:2024/06/06 12:06
常用的Dialog有确认对话框,单选按钮对话框,多选按钮对话框,复选按钮对话框另外还有自定义的对话框
AlertDialog的常用方法
setTitle:为对话框设置标题
setMessage:为对话框设置内容
setIcon:为对话框设置图标
setItems设置对话框要显示的list
setMultiChoiceItems:一般用于复选框显示
setSingleChoiceItem:,设置单选按钮
setNeutralButton:普通按钮
setPositiveButton:添加确定按钮
setNegativeButton:添加取消按钮
setView:设置自定义样式
下面通过一个实例来了解这些方法
这是运行结果:
MainActivity.class
package com.example.alertdialog;import android.R.bool;import android.os.Bundle;import android.app.Activity;import android.app.AlertDialog;import android.app.AlertDialog.Builder;import android.app.Dialog;import android.content.DialogInterface;import android.content.pm.LabeledIntent;import android.view.LayoutInflater;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.Toast;public class MainActivity extends Activity implements OnClickListener {private Button button1;private Button button2;private Button button3;private Button button4;private Button button5;private int mark=0;private String item[] = { "学生", "工人", "教师", "农民" };private String multChoice[]={"旅游","电影","运动","读书"};@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);button1 = (Button) findViewById(R.id.btn_button1);button2 = (Button) findViewById(R.id.btn_button2);button3 = (Button) findViewById(R.id.btn_button3);button4 = (Button) findViewById(R.id.btn_button4);button5 = (Button) findViewById(R.id.btn_button5);button1.setOnClickListener(this);button2.setOnClickListener(this);button3.setOnClickListener(this);button4.setOnClickListener(this);button5.setOnClickListener(this);}@Overridepublic void onClick(View v) {// TODO Auto-generated method stubswitch (v.getId()) {//确认对话框case R.id.btn_button1: {AlertDialog.Builder builder = new Builder(this);builder.setIcon(R.drawable.ic_launcher);builder.setTitle("确认对话框");builder.setMessage("确认退出?");builder.setPositiveButton("确定",new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {// TODO Auto-generated method stubToast.makeText(MainActivity.this, "你单击了确定按钮",Toast.LENGTH_SHORT).show();}});builder.setNegativeButton("取消",new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {// TODO Auto-generated method stubToast.makeText(MainActivity.this, "你单击了取消按钮",Toast.LENGTH_SHORT).show();}});builder.create();builder.show();break;}//列表对话框case R.id.btn_button2: {AlertDialog.Builder builder = new Builder(this);builder.setIcon(R.drawable.ic_launcher);builder.setTitle("职业");builder.setItems(item, new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {// TODO Auto-generated method stubToast.makeText(MainActivity.this, "你的职业是" + item[which],Toast.LENGTH_SHORT).show();}});builder.create();builder.show();break;}//多选对话框case R.id.btn_button3: {final boolean choose[]=new boolean[multChoice.length];AlertDialog.Builder builder = new Builder(this);builder.setIcon(R.drawable.ic_launcher);builder.setTitle("爱好");builder.setMultiChoiceItems(multChoice, null, new DialogInterface.OnMultiChoiceClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which, boolean isChecked) {// TODO Auto-generated method stubchoose[which]=isChecked;}});builder.setPositiveButton("确认", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {// TODO Auto-generated method stubString result="";for(int i=0;i<multChoice.length;i++){if(choose[i]){result+=multChoice[i]+" ";}}Toast.makeText(MainActivity.this, "你的爱好["+result+"]", Toast.LENGTH_SHORT).show();}});builder.create();builder.show();break;}//单选对话框case R.id.btn_button4: {mark=0;AlertDialog.Builder builder = new Builder(this);builder.setIcon(R.drawable.ic_launcher);builder.setTitle("职业");builder.setSingleChoiceItems(item, 0, new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {// TODO Auto-generated method stubmark=which;}});builder.setPositiveButton("确定",new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {// TODO Auto-generated method stubToast.makeText(MainActivity.this, "你的职业:"+item[mark], Toast.LENGTH_SHORT).show();}});builder.create();builder.show();break;}//自定义对话框case R.id.btn_button5: {LayoutInflater inflater=LayoutInflater.from(this);View view=inflater.inflate(R.layout.item, null);AlertDialog.Builder builder = new Builder(this);builder.setIcon(R.drawable.ic_launcher);builder.setTitle("自定义对话框");builder.setView(view);builder.setNeutralButton("普通按钮", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {// TODO Auto-generated method stubToast.makeText(MainActivity.this,"我是自定义的对话框哦",Toast.LENGTH_SHORT).show();}});builder.create();builder.show();break;}}}}
布局文件
activity_main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity" > <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="vertical" > <Button android:id="@+id/btn_button1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="确认对话框" /> <Button android:id="@+id/btn_button2" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="列表对话框" /> <Button android:id="@+id/btn_button3" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="多选对话框" /> <Button android:id="@+id/btn_button4" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="单选对话框" /> <Button android:id="@+id/btn_button5" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="自定义对话框" /> </LinearLayout></RelativeLayout>
自定义的对话框布局文件
item.xml
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:scaleType="fitCenter" android:src="@drawable/icon" /> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="我是自定义的对话框" /></LinearLayout>
希望能对大家有帮助 渣渣学习中、、、
3 0
- android:常用的AlertDialog对话框及自定义对话框
- Android 自定义AlertDialog对话框
- android,Alertdialog,自定义对话框
- Android--自定义对话框--AlertDialog
- 自定义 Android 对话框 (AlertDialog) 的样式
- 完全自定义Android对话框AlertDialog的实现
- 自定义 Android 对话框 (AlertDialog) 的样式
- 自定义 Android 对话框 (AlertDialog) 的样式
- 自定义 Android 对话框 (AlertDialog) 的样式
- 自定义 Android 对话框 (AlertDialog) 的样式
- 自定义 Android 对话框 (AlertDialog) 的样式
- 自定义 Android 对话框 (AlertDialog) 的样式
- 自定义 Android 对话框 (AlertDialog) 的样式
- 自定义 Android 对话框 (AlertDialog) 的样式
- 完全自定义Android对话框AlertDialog的实现
- 自定义 Android 对话框 (AlertDialog) 的样式
- 自定义 Android 对话框 (AlertDialog) 的样式
- Android的AlertDialog详解 自定义对话框
- PAT 1100. Mars Numbers (20)
- 个人对listview中type的见解
- Visual Studio下OpenCV最完美的环境配置方法
- android spk 反编译工具以及使用方法
- 【DSP开发】德州仪器达芬奇五年之路七宗罪,嵌入式处理器架构之争决战2012
- android:常用的AlertDialog对话框及自定义对话框
- 基于Spring的微信第三方登录实现
- listView的position问题
- Java 如何实现bwlabel
- SENSOR框架理解
- iOS Apple Pay的使用
- MySQL Replication的基本架构
- DrawerLayout的使用
- android蓝牙的使用