Android对话框AlertDialog-android学习之旅(四十二)
来源:互联网 发布:阿里云cdn 设置 编辑:程序博客网 时间:2024/05/29 19:52
对话框简介
android提供了丰富的对话框支持,支持四种如下的对话框。
AlertDialog简介
介绍上面六个方法的代码示例
setMessage()
<?xml version="1.0" encoding="utf-8"?><LinearLayout 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:orientation="vertical" > <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceLarge" android:text="Large Text" android:id="@+id/text02" /> <Button android:layout_width="match_parent" android:layout_height="wrap_content" android:text="setMessage" android:id="@+id/button" android:onClick="dialog"/></LinearLayout>
package peng.liu.test;import android.app.Activity;import android.app.AlertDialog;import android.app.Notification;import android.app.NotificationManager;import android.app.PendingIntent;import android.app.TabActivity;import android.content.DialogInterface;import android.content.Intent;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.TabHost;import android.widget.TextView;public class MainActivity extends Activity { TextView text02; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); text02 = (TextView) findViewById(R.id.text02); Button setMessage = (Button) findViewById(R.id.button); } public void dialog(View view){ AlertDialog.Builder builder = new AlertDialog.Builder(this).setIcon(R.drawable.ic_launcher) .setTitle("dialog") .setMessage("hello world"); setPositiveButton(builder); setNegitiveButton(builder); builder.create().show(); } public void setPositiveButton(AlertDialog.Builder builder){ builder.setPositiveButton("确定",new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialogInterface, int i) { text02.setText("单击了确定按钮"); } }); } public void setNegitiveButton(AlertDialog.Builder builder){ builder.setNegativeButton("取消",new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialogInterface, int i) { text02.setText("单击了取消按钮"); } }); }}
简单列表对话框setItems()
需要传入一个数组或者数组的资源id
package peng.liu.test;import android.app.Activity;import android.app.AlertDialog;import android.app.Notification;import android.app.NotificationManager;import android.app.PendingIntent;import android.app.TabActivity;import android.content.DialogInterface;import android.content.Intent;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.TabHost;import android.widget.TextView;public class MainActivity extends Activity { TextView text02; private String[] items = new String[]{ "java","python","html","css" }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); text02 = (TextView) findViewById(R.id.text02); Button setMessage = (Button) findViewById(R.id.button); } public void dialog(View view){ AlertDialog.Builder builder = new AlertDialog.Builder(this).setIcon(R.drawable.ic_launcher) .setTitle("dialog") .setItems(items,new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialogInterface, int i) { text02.setText(items[i]); } }); setPositiveButton(builder); setNegitiveButton(builder); builder.create().show(); } public void setPositiveButton(AlertDialog.Builder builder){ builder.setPositiveButton("确定",new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialogInterface, int i) { text02.setText("单击了确定按钮"); } }); } public void setNegitiveButton(AlertDialog.Builder builder){ builder.setNegativeButton("取消",new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialogInterface, int i) { text02.setText("单击了取消按钮"); } }); }}
单选列表对话框setSingleChooseItems
参数是数组,sursor,或者ListAdapter。
package peng.liu.test;import android.app.Activity;import android.app.AlertDialog;import android.app.Notification;import android.app.NotificationManager;import android.app.PendingIntent;import android.app.TabActivity;import android.content.DialogInterface;import android.content.Intent;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.TabHost;import android.widget.TextView;public class MainActivity extends Activity { TextView text02; private String[] items = new String[]{ "java","python","html","css" }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); text02 = (TextView) findViewById(R.id.text02); Button setMessage = (Button) findViewById(R.id.button); } public void dialog(View view){ AlertDialog.Builder builder = new AlertDialog.Builder(this).setIcon(R.drawable.ic_launcher) .setTitle("dialog") //1表示第二个框被选中 .setSingleChoiceItems(items,1,new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialogInterface, int i) { text02.setText(items[i]); } }); setPositiveButton(builder); setNegitiveButton(builder); builder.create().show(); } public void setPositiveButton(AlertDialog.Builder builder){ builder.setPositiveButton("确定",new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialogInterface, int i) { text02.setText("单击了确定按钮"); } }); } public void setNegitiveButton(AlertDialog.Builder builder){ builder.setNegativeButton("取消",new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialogInterface, int i) { text02.setText("单击了取消按钮"); } }); }}
多选列表对话框 setMultiChooseItems
参数是数组或者cursor
package peng.liu.test;import android.app.Activity;import android.app.AlertDialog;import android.app.Notification;import android.app.NotificationManager;import android.app.PendingIntent;import android.app.TabActivity;import android.content.DialogInterface;import android.content.Intent;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.TabHost;import android.widget.TextView;public class MainActivity extends Activity { TextView text02; private String[] items = new String[]{ "java","python","html","css" }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); text02 = (TextView) findViewById(R.id.text02); Button setMessage = (Button) findViewById(R.id.button); } public void dialog(View view){ AlertDialog.Builder builder = new AlertDialog.Builder(this).setIcon(R.drawable.ic_launcher) .setTitle("dialog") //布尔数组表示第二个和第四个被选中 .setMultiChoiceItems(items,new boolean[]{false,true,false,true},null); setPositiveButton(builder); setNegitiveButton(builder); builder.create().show(); } public void setPositiveButton(AlertDialog.Builder builder){ builder.setPositiveButton("确定",new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialogInterface, int i) { text02.setText("单击了确定按钮"); } }); } public void setNegitiveButton(AlertDialog.Builder builder){ builder.setNegativeButton("取消",new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialogInterface, int i) { text02.setText("单击了取消按钮"); } }); }}
自定义列表项对话框 setAdapter
参数是Adapter,该方法和setSingleChooseItems都可以接受Adapter作为参数。
package peng.liu.test;import android.app.Activity;import android.app.AlertDialog;import android.app.Notification;import android.app.NotificationManager;import android.app.PendingIntent;import android.app.TabActivity;import android.content.DialogInterface;import android.content.Intent;import android.os.Bundle;import android.view.View;import android.widget.ArrayAdapter;import android.widget.Button;import android.widget.TabHost;import android.widget.TextView;public class MainActivity extends Activity { TextView text02; private String[] items = new String[]{ "java","python","html","css" }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); text02 = (TextView) findViewById(R.id.text02); Button setMessage = (Button) findViewById(R.id.button); } public void dialog(View view){ AlertDialog.Builder builder = new AlertDialog.Builder(this).setIcon(R.drawable.ic_launcher) .setTitle("dialog") //布尔数组表示第二个和第四个被选中 .setAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,items),null); setPositiveButton(builder); setNegitiveButton(builder); builder.create().show(); } public void setPositiveButton(AlertDialog.Builder builder){ builder.setPositiveButton("确定",new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialogInterface, int i) { text02.setText("单击了确定按钮"); } }); } public void setNegitiveButton(AlertDialog.Builder builder){ builder.setNegativeButton("取消",new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialogInterface, int i) { text02.setText("单击了取消按钮"); } }); }}
自定义View对话框
自定义的任何的View组件
package peng.liu.test;import android.app.Activity;import android.app.AlertDialog;import android.content.DialogInterface;import android.os.Bundle;import android.view.View;import android.view.ViewGroup;import android.widget.ArrayAdapter;import android.widget.Button;import android.widget.ImageView;import android.widget.TextView;public class MainActivity extends Activity { TextView text02; private String[] items = new String[]{ "java","python","html","css" }; ImageView image; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); text02 = (TextView) findViewById(R.id.text02); Button setMessage = (Button) findViewById(R.id.button); image = new ImageView(this); image.setImageResource(R.drawable.ic_launcher); image.setScaleType(ImageView.ScaleType.FIT_XY); image.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT)); } public void dialog(View view){ AlertDialog.Builder builder = new AlertDialog.Builder(this).setIcon(R.drawable.ic_launcher) .setTitle("dialog") //布尔数组表示第二个和第四个被选中 .setView(image); } public void setPositiveButton(AlertDialog.Builder builder){ builder.setPositiveButton("确定",new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialogInterface, int i) { text02.setText("单击了确定按钮"); } }); } public void setNegitiveButton(AlertDialog.Builder builder){ builder.setNegativeButton("取消",new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialogInterface, int i) { text02.setText("单击了取消按钮"); } }); }}
0 0
- Android对话框AlertDialog-android学习之旅(四十二)
- Android对话框之AlertDialog
- android之AlertDialog对话框
- Android之AlertDialog对话框
- Android基础之AlertDialog(对话框)的学习
- android学习之使用AlertDialog创建对话框
- Android UI学习 - 对话框 (AlertDialog & ProgressDialog)
- Android AlertDialog对话框 学习笔记
- Android之警告对话框alertdialog
- Android之AlertDialog自定义对话框
- android 对话框之AlertDialog&ProgressDialog
- Android用户界面对话框之警告对话框(ALertDialog)
- Android用户界面对话框之警告对话框(ALertDialog)
- Android应用开发学习笔记之AlertDialog对话框
- Android学习之AlertDialog
- Android学习之AlertDialog
- 【Android】对话框 AlertDialog .(转)
- Android对话框(一)AlertDialog
- js获取项目根路径
- 如何制作多途经点的线路导航——驾车篇
- linux 命令系列之 启动过程(77)
- 流类库与输入输出--对齐方式
- 成圣之路
- Android对话框AlertDialog-android学习之旅(四十二)
- 远程问题解决方案(连接到** 的凭据无法工作,请输入新凭据)
- 深入浅出LSTM神经网络
- 最快模拟器Genymotion配置使用
- To_10_r_100_0---把二元查找树转变成排序的双向链表
- GUI
- OpenCV2:Mat
- leetcode 21 Merge Two Sorted Lists
- C++实现带路径记录的Floyd-Warshall算法