Android之AlterDialog介绍
效果:

1.简单对话框
AlertDialog.Builder builder=new AlertDialog.Builder(AlterDialogActivity.this);
builder
.setTitle("对话框")
.setIcon(R.mipmap.ic_launcher_round)
.setPositiveButton("确定",null)
.setNegativeButton("取消",null)
.setMessage("简单对话框")
.create()
.show();
2.列表对话框
AlertDialog.Builder builder=new AlertDialog.Builder(AlterDialogActivity.this);
final String[] mItems={"item0","item1","item2","item3","item4","item5","item6"};
builder.setTitle("列表对话框")
.setItems(mItems, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
Toast.makeText(AlterDialogActivity.this,mItems[i],Toast.LENGTH_SHORT).show();
}
})
.setPositiveButton("确定",null)
.setNegativeButton("取消",null)
.create()
.show();
3.单选对话框
AlertDialog.Builder builder=new AlertDialog.Builder(AlterDialogActivity.this);
final String[] items={"item1","item2","item3","item4"};
builder.setTitle("单选对话框")
.setIcon(R.mipmap.ic_launcher_round)
.setSingleChoiceItems(items,0,new DialogInterface.OnClickListener(){
@Override
public void onClick(DialogInterface dialogInterface, int i) {
Toast.makeText(AlterDialogActivity.this,items[i]+"被点击了",Toast.LENGTH_SHORT).show();
singleChoise=i;
}
})
.setPositiveButton("确定",null)
.setNegativeButton("取消",null)
.create()
.show();
4.多选对话框
AlertDialog.Builder builder=new AlertDialog.Builder(AlterDialogActivity.this);
final String[] items={"item1","item2","item3","item4"};
builder.setTitle("多选对话框")
.setIcon(R.mipmap.ic_launcher_round)
.setMultiChoiceItems(items,new boolean[]{false,false,false,false},new DialogInterface.OnMultiChoiceClickListener(){ @Override
public void onClick(DialogInterface dialogInterface, int i, boolean b) {
if(b){
Toast.makeText(AlterDialogActivity.this,items[i]+"被选中了",Toast.LENGTH_SHORT).show();
}else{
Toast.makeText(AlterDialogActivity.this,items[i]+"被取消选中",Toast.LENGTH_SHORT).show();
}
}
})
.setPositiveButton("确定",null)
.setNegativeButton("取消",null)
.create()
.show();
5.自定义View对话框
AlertDialog.Builder builder=new AlertDialog.Builder(AlterDialogActivity.this);
View view= LayoutInflater.from(this).inflate(R.layout.alterdialot_img,null);
builder
// .setTitle("自定义对话框")
// .setIcon(R.mipmap.ic_launcher_round)
.setView(view)
.setCancelable(true)
.setNegativeButton("取消",null)
.create()
.show();
代码:
xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent"> <Button
android:id="@+id/button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:onClick="click"
android:text="对话框" /> <Button
android:id="@+id/button2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:onClick="click"
android:text="列表对话框" /> <Button
android:id="@+id/button3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:onClick="click"
android:text="单选对话框" /> <Button
android:id="@+id/button4"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:onClick="click"
android:text="多选对话框" /> <Button
android:id="@+id/button5"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:onClick="click"
android:text="自定义对话框" />
</LinearLayout>
activity
public class AlterDialogActivity extends AppCompatActivity {
// private AlertDialog.Builder builder;
private int singleChoise=0;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
supportRequestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.act_alterlog);
// builder=new AlertDialog.Builder(this);
}
public void click(View v){
switch (v.getId()){
case R.id.button://简单对话框
showDialog1();
break;
case R.id.button2://列表框
showDialog2();
break;
case R.id.button3://单选框
showDialog3();
break;
case R.id.button4://多选框
showDialog4();
break;
case R.id.button5://自定义contentview
showDialog5();
break;
}
}
private void showDialog1() {
AlertDialog.Builder builder=new AlertDialog.Builder(AlterDialogActivity.this);
builder
.setTitle("对话框")
.setIcon(R.mipmap.ic_launcher_round)
.setPositiveButton("确定",null)
.setNegativeButton("取消",null)
.setMessage("简单对话框")
.create()
.show();
}
private void showDialog2() {
AlertDialog.Builder builder=new AlertDialog.Builder(AlterDialogActivity.this);
final String[] mItems={"item0","item1","item2","item3","item4","item5","item6"};
builder.setTitle("列表对话框")
.setItems(mItems, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
Toast.makeText(AlterDialogActivity.this,mItems[i],Toast.LENGTH_SHORT).show();
}
})
.setPositiveButton("确定",null)
.setNegativeButton("取消",null)
.create()
.show();
}
private void showDialog3() {
AlertDialog.Builder builder=new AlertDialog.Builder(AlterDialogActivity.this);
final String[] items={"item1","item2","item3","item4"};
builder.setTitle("单选对话框")
.setIcon(R.mipmap.ic_launcher_round)
.setSingleChoiceItems(items,0,new DialogInterface.OnClickListener(){
@Override
public void onClick(DialogInterface dialogInterface, int i) {
Toast.makeText(AlterDialogActivity.this,items[i]+"被点击了",Toast.LENGTH_SHORT).show();
singleChoise=i;
}
})
.setPositiveButton("确定",null)
.setNegativeButton("取消",null)
.create()
.show();
}
private void showDialog4() {
AlertDialog.Builder builder=new AlertDialog.Builder(AlterDialogActivity.this);
final String[] items={"item1","item2","item3","item4"};
builder.setTitle("多选对话框")
.setIcon(R.mipmap.ic_launcher_round)
.setMultiChoiceItems(items,new boolean[]{false,false,false,false},new DialogInterface.OnMultiChoiceClickListener(){
@Override
public void onClick(DialogInterface dialogInterface, int i, boolean b) {
if(b){
Toast.makeText(AlterDialogActivity.this,items[i]+"被选中了",Toast.LENGTH_SHORT).show();
}else{
Toast.makeText(AlterDialogActivity.this,items[i]+"被取消选中",Toast.LENGTH_SHORT).show();
}
}
})
.setPositiveButton("确定",null)
.setNegativeButton("取消",null)
.create()
.show();
}
private void showDialog5() {
AlertDialog.Builder builder=new AlertDialog.Builder(AlterDialogActivity.this);
View view= LayoutInflater.from(this).inflate(R.layout.alterdialot_img,null);
builder
// .setTitle("自定义对话框")
// .setIcon(R.mipmap.ic_launcher_round)
.setView(view)
.setCancelable(true)
.setNegativeButton("取消",null)
.create()
.show();
}
}
Android之AlterDialog介绍的更多相关文章
- Android sdk目录介绍
android sdk目录介绍 build-tools 各版本SDK编译工具 docs 离线开发者文档Android SDK API参考文档 extras 扩展开发包,如兼容架包. platforms ...
- 我的Android第三章:Android的组件介绍
小编摘录了Android文档介绍Android四大组件的基本内容,感觉文档的内容写的很详细所以小编将它写入了博客 Android 使用Java语言开发.Android SDK 工具编译代码-以及任意数 ...
- GitHub上排名前100的Android开源库介绍(来自github)
本项目主要对目前 GitHub 上排名前 100 的 Android 开源库进行简单的介绍,至于排名完全是根据 GitHub 搜索 Java 语言选择 (Best Match) 得到的结果,然后过滤了 ...
- android MVP模式介绍与实战
android MVP模式介绍与实战 描述 MVP模式是什么?MVP 是从经典的模式MVC演变而来,它们的基本思想有相通的地方:Controller/Presenter负责逻辑的处理,Model提供数 ...
- Android 不同文件名介绍
Android 不同文件名介绍
- Android发展简单介绍
Android一词的本义指“机器人”,同一时候也是Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统.中间件.用户界面和应用软件组成,号称是首个为移动 ...
- Android IntentService使用介绍以及源码解析
版权声明:本文出自汪磊的博客,转载请务必注明出处. 一.IntentService概述及使用举例 IntentService内部实现机制用到了HandlerThread,如果对HandlerThrea ...
- Android Jetpack 组建介绍(一)——Lifecycler
转自带你领略Android Jetpack组件的魅力 Android Jetpack 对于任何一个产品来说,我们开发中都会面对哪些问题?如:产品交互.用户体验.代码结构.数据获取.数据存储.网络优化. ...
- [原创]AndroBugs_Framework Android漏洞扫描器介绍
[原创]AndroBugs_Framework Android漏洞扫描器介绍 1 AndroBugs_Framework Android 漏洞扫描器简介 一款高效的Android漏洞扫描器,可以帮助开 ...
随机推荐
- 半导体巨头青睐物联网领域 众强联手打造MCU生态系统
随着万物互联的时代到来,众多半导体巨头纷纷转战物联网领域.早在十年前,意法半导体曾将STM32推向市场,意法半导体对32位MCU在物联网方面的应用在两年前就已展开攻势. 4月25日,历经两届盛况的ST ...
- CAN总线扩展数据帧介绍
在扩展CAN 数据帧中,紧随SOF 位的是32 位的仲裁字段.仲裁字段的前11 位为29 位标识符的最高有效位(Most Significant bit,MSb)(基本lD) .紧随这11 位的是替代 ...
- (转)c#实现开机自启动
RegistryKey key = Registry.LocalMachine.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersio ...
- TI c6657开发资源
TI 官方论坛:英文 中文 http://software-dl.ti.com/processor-sdk-rtos/esd/docs/latest/rtos/index.html http://e ...
- memcache两种客户端比较
1.memcached client for java 客户端API:memcached client for java 网址:http://www.whalin.com/memcached(我从 h ...
- 杂项-WiFi:JotSpot
ylbtech-杂项-WiFi:JotSpot JotSpot公司成立于2003年,由曾经创建了搜索引擎Excite的Joe Kraus一手创建,曾获得了来自Mayfield和RedPoint 两家风 ...
- 模块的分类以及time与date time 模块 radom模块
1.标准库,或者内置模块,python解释器自带的,比如sys,os模块 2.开源模块,或者叫第三方模块,python就强大在这里. 3.自定义模块. 标准库: 1.时间模块time与datetime ...
- 代码说明call和apply方法的区别 (咱们这方面讲解的少,这样的题有变式,需要举例讲解一下)
这两个都是函数的方法,可以改变this的指向,fn.call(obj,param1,param2,…) call传入单个参数 fn.apply(obj,[param1,param2,...]) app ...
- 一个7重嵌套表EF添加语句,注意子表赋值过程中只需写子表主键赋值,不需要写子表外键=父表主键。EF创建时会自动将子表外键设为与父表主键相等
AIRPORT_HELIPORT tt = new AIRPORT_HELIPORT() { AIRPORT_HELIPORT_UUID = Gui ...
- 上传图片用图片文件的对象hash哈希值判断图片是否一样,避免重复提交相同的图片到服务器中
上传图片用图片文件的对象hash哈希值判断图片是否一样,避免重复提交相同的图片到服务器中 前端:要用到一个插件,点击下载 <!DOCTYPE html> <html xmlns=&q ...