枕上诗书闲处好,门前风景雨来佳。这篇文章主要讲述AndroidDialogAlertDialog相关的知识,希望能为你提供帮助。
文章图片
1、普通的对话框
文章图片
文章图片
文章图片
1 < LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 2android:layout_width="match_parent" 3android:layout_height="match_parent" 4android:gravity="center" 5android:orientation="vertical" > 6 7< ProgressBar 8android:id="@+id/progressBar1" 9style="?android:attr/progressBarStyleLarge" 10android:layout_width="wrap_content" 11android:layout_height="wrap_content" /> 12 13 < /LinearLayout>
Dialog_progress.xml
文章图片
文章图片
1 public class MyDialog extends Dialog{ 2 3//必须要给构造方法 4public MyDialog(Context context) { 5//也可以在构建Dialog对象的时候就给指定Dialog样式 6//使用主题来修改Dialog样式,在res/values/styles.xml中添加自定义主题 7super(context,R.style.DialogTheme); 8} 9 10@Override 11protected void onCreate(Bundle savedInstanceState) { 12super.onCreate(savedInstanceState); 13//这个可以不要标题。通过getWindow().requestFeature(featureId)方法 14//getWindow().requestFeature(Window.FEATURE_NO_TITLE); 15setContentView(R.layout.dialog_progress); 16} 17 18/** 19* 一个Activity或者一个Dialog刚刚出现在用户面前的时候,焦点改变调用onWindowFocusChanged 20*/ 21@Override 22public void onWindowFocusChanged(boolean hasFocus) { 23super.onWindowFocusChanged(hasFocus); 24} 25 }
MyDialog
文章图片
文章图片
1 // 普通对话框 2public void dialog1(View v) { 3MyDialog dialog = new MyDialog(this); 4dialog.setTitle("这是进度Dialog"); 5// 显示对话框 6dialog.show(); 7 8// 关闭对话框用 9// dialog.dismiss(); 10}
普通对话框
2、警告对话框AlertDialog setMessage
文章图片
文章图片
文章图片
1 //AlertDialogsetMessage 2public void dialog2(View v) { 3AlertDialog.Builder dialog = new AlertDialog.Builder(this); 4dialog.setTitle("警告!").setIcon(R.drawable.ic_launcher) 5.setMessage("前方高能") 6// 注意这个导的包是import android.content.DialogInterface.OnClickListener; 7.setPositiveButton("OK", new OnClickListener() { 8@Override 9public void onClick(DialogInterface dialog, int which) { 10Toast.makeText(MainActivity.this, "您选择了OK", 11Toast.LENGTH_SHORT).show(); 12 13} 14}) 15.setNegativeButton("Cancel", new OnClickListener() { 16@Override 17public void onClick(DialogInterface dialog, int which) { 18Toast.makeText(MainActivity.this, "您选择了Cancel", 19Toast.LENGTH_SHORT).show(); 20} 21}) 22.setNeutralButton("Ignore", new OnClickListener() { 23@Override 24public void onClick(DialogInterface dialog, int which) { 25Toast.makeText(MainActivity.this, "您选择了Ignore", 26Toast.LENGTH_SHORT).show(); 27} 28}) 29.create().show(); 30}
警告对话框,setMessage
3、菜单对话框AlertDialog setItem
文章图片
文章图片
文章图片
1 //菜单选择,setItem 如果设置setMessage,那么只会显示Message 2String[] setting = {"声音","存储","显示","应用","语言和输入法","流量使用情况","WLAN"}; 3public void dialog3(View v){ 4new AlertDialog.Builder(this) 5.setTitle("设置") 6.setIcon(R.drawable.setting) 7//which代表第几项,item点击后自动关闭,不需要Button 8.setItems(setting, new OnClickListener() { 9@Override 10public void onClick(DialogInterface dialog, int which) { 11Toast.makeText(MainActivity.this, setting[which], Toast.LENGTH_SHORT).show(); 12} 13}) 14.create().show(); 15}
菜单对话框 setItem
4、单选对话框AlertDialog setSingleChoiceItems
【AndroidDialogAlertDialog】
文章图片
文章图片
文章图片
1 //单选对话框,setItem 2String[] hobby = {"唱歌","跑步","武术","乒乓球","敲代码"}; 3int choice = 0; 4public void dialog4(View v){ 5new AlertDialog.Builder(this) 6.setTitle("爱好单选") 7.setIcon(R.drawable.hobby) 8//0代表默认选中第一个,选中不会自动关闭 9.setSingleChoiceItems(hobby, 0, new OnClickListener() { 10@Override 11public void onClick(DialogInterface dialog, int which) { 12choice = which; 13} 14}) 15//Button上的which永远为0,所以这里需要一个变量来保存选中的ItemID 16.setPositiveButton("ok", new OnClickListener() { 17@Override 18public void onClick(DialogInterface dialog, int which) { 19Toast.makeText(MainActivity.this, hobby[choice], Toast.LENGTH_SHORT).show(); 20} 21}) 22.setNegativeButton("cancel",null) 23.create().show(); 24}
单选对话框 setSingleChoiceItems
5、多选对话框AlertDialog setMultiChoiceItem
文章图片
文章图片
文章图片
1 String[] hobby = {"唱歌","跑步","武术","乒乓球","敲代码"}; 2boolean[] bool = {false,false,false,false,false}; 3List< String> list = new ArrayList< String> (); 4public void dialog5(View v){ 5new AlertDialog.Builder(this) 6.setTitle("爱好可多选") 7.setIcon(R.drawable.hobby) 8//默认选中了哪些,点击也不会自动关闭 9.setMultiChoiceItems(hobby, bool, new OnMultiChoiceClickListener() { 10@Override 11public void onClick(DialogInterface dialog, int which, boolean isChecked) { 12if(isChecked){ 13list.add(hobby[which]); 14}else{ 15list.remove(hobby[which]); 16} 17} 18}) 19.setPositiveButton("ok", new OnClickListener() { 20@Override 21public void onClick(DialogInterface dialog, int which) { 22 23Toast.makeText(MainActivity.this, list.toString(), Toast.LENGTH_SHORT).show(); 24 25} 26}).create().show(); 27}
多选对话框AlertDialog setMultiChoiceItem
6、适配器对话框AlertDialog setAdapter
文章图片
文章图片
文章图片
1 public void dialog6(View v){ 2ArrayAdapter< String> adapter = new ArrayAdapter< String> (this, android.R.layout.simple_list_item_1, hobby); 3new AlertDialog.Builder(this) 4.setTitle("适配器对话框") 5//和setItem一样,选中之后对话框就自动消失,不需要Button 6.setAdapter(adapter, new OnClickListener() { 7@Override 8public void onClick(DialogInterface dialog, int which) { 9Toast.makeText(MainActivity.this, hobby[which], Toast.LENGTH_SHORT).show(); 10 11} 12}).create().show(); 13}
适配器对话框AlertDialog setAdapter
7、自定义对话框AlertDialog setView
文章图片
文章图片
自定义对话框AlertDialog setView
8、关闭对话框AlertDialog dismisson
文章图片
文章图片
文章图片
1 < LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 2android:layout_width="match_parent" 3android:layout_height="match_parent" 4android:orientation="vertical" > 5< ImageView 6android:layout_width="wrap_content" 7android:layout_height="wrap_content" 8android:src="https://www.songbingjia.com/android/@drawable/ic_launcher"/> 9 10< EditText 11android:layout_width="wrap_content" 12android:layout_height="wrap_content" 13android:hint="关闭对话框请点击关闭按钮"/> 14 15< TextView 16android:id="@+id/finish" 17android:layout_width="wrap_content" 18android:layout_height="wrap_content" 19android:text="关闭"/> 20 21 < /LinearLayout>
Dialog_dismiss.xml
文章图片
文章图片
1 public void dialog8(View v){ 2View layout = getLayoutInflater().inflate(R.layout.dialog_dismiss, null); 3TextView finish = (TextView) layout.findViewById(R.id.finish); 4final AlertDialog dialog = new AlertDialog.Builder(MainActivity.this) 5.setTitle("可关闭的对话框") 6.setView(layout) 7.create(); 8dialog.show(); 9finish.setOnClickListener(new View.OnClickListener() { 10@Override 11public void onClick(View v) { 12dialog.dismiss(); 13} 14}); 15 16 17//有时候用户可能点到了外部,dialog就直接关闭了,而程序不知道,这时候就需要设置 18dialog.setCancelable(false); 19dialog.setOnDismissListener(new OnDismissListener() { 20@Override 21public void onDismiss(DialogInterface dialog) { 22Toast.makeText(MainActivity.this, "关闭", Toast.LENGTH_SHORT).show(); 23 24} 25}); 26}
关闭对话框 AlertDialog setView
推荐阅读
- Android Facebook和Twitter分享
- Windows 配置安卓环境变量
- Android SimpleAdapter ListView(锁定手机,解锁手机的列表)
- 用android去写一个小程序
- android-数据存储之手机内部file存储
- win10不重启进入到安全模式办法
- win10安装后网卡驱动缺失处理办法
- Win10下IE等浏览器上不了网怎样办
- win10打开速度慢处理办法