alertdialog怎么设置alertdialog message显示位置
alertdialog 时间:2021-07-13 阅读:(
)
请教下AlertDialog.Builder那个黑背景怎么消除掉呢?布局透明
你这种问题是属于自定义类型的问题了。
想改变后面的背景的话,就得继承Dialog自己重写一个弹出框,只需自定义一个你要的样式style和layout!你可以查一下自定义dialog,很简单的,不难android中AlertDialog.Builder
AlertDialog.Builder的API可以查看官网文档,具体实现代码如下:
1.创建AlertDialog.Builder并设置数据源
AlertDialog.Builder builder = new Builder(context);
builder.setTitle("复选框"); //设置对话框标题
builder.setIcon(android.R.drawable.ic_menu_more); //设置对话框标题前的图标
final String[] data = getResources().getStringArray(R.array.radio); //通过resources 得到strings.xml中的字符串数组
boolean[] state = new boolean[data.length];
for(int i=0; i<data.length; i++){
state[i] = sboolean.get(i); //将状态集合中的数据取出来,下次选择时候会默认选中
}
2.注册点击事件,并记录复选的数据
/*
* 第一个参数是,数据原,可以是数组,也可以传strings.xml那的字符串ID,但是建议用数组,因为多选监听返回的是数组的标下
* 第二个参数是,默认的选中位置,是个boolean数组,对应item的位置
* 第三个是列表点击监听事件
*/
builder.setMultiChoiceItems(R.array.radio, state, new DialogInterface.OnMultiChoiceClickListener() {//注册单选择监听事件
@Override
public void onClick(DialogInterface dialog, int which, boolean isChecked) {
if(isChecked){
Toast.makeText(context,"你选择了: " + data[which], Toast.LENGTH_SHORT).show();
checkBoxData.add(data[which]); //选择的时候要保存起来
}else{
Toast.makeText(context,"你取消了: " + data[which], Toast.LENGTH_SHORT).show();
checkBoxData.remove(data[which]); //取消选中的时候要删除掉
}
sboolean.put(which, isChecked); //每次选择都要记录下这个item的状态
}
});
3.增加确定和取消按键
builder.setPositiveButton("确认", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(context, "你点了确定,选择的是: " + checkBoxData.toString(), Toast.LENGTH_SHORT).show();
}
});
4.设置dialog的相关参数,并弹出
builder.setNegativeButton("取消", null); //取消不做任何处理
builder.setCancelable(true); //设置按钮是否可以按返回键取消,false则不可以取消
AlertDialog dialog = builder.create(); //创建对话框
dialog.setCanceledOnTouchOutside(true); //设置弹出框失去焦点是否隐藏,即点击屏蔽其它地方是否隐藏
dialog.show();android关闭AlertDialog.Builder
首先AlertDialog.Builder(this)所传参数类型是contex,也就是上下文环境。
this意思是当前对象,就是调用AlertDialog.Builder()的对象。
所以,前者的this是最外面的那个class产生的对象
后者是class A产生的对象。
android AlertDialog调用不到setCanceledOnTouchOutside怎么办
Android中,在Dialog中设置setCanceledOnTouchOutside方法如下:
具体实现代码:
1.创建对象框
AlertDialog.Builder builder = new Builder(context);
builder.setTitle("请输入"); //设置对话框标题
builder.setIcon(android.R.drawable.btn_star); //设置对话框标题前的图标
2.创建EditText输入框
final EditText edit = new EditText(context);
3.将输入框赋值给Dialog,并增加确定取消按键
builder.setView(edit);
builder.setPositiveButton("确认", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(context, "你输入的是: " + edit.getText().toString(), Toast.LENGTH_SHORT).show();
}
});
builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(context, "你点了取消", Toast.LENGTH_SHORT).show();
}
});
4.设置常用api,并show弹出
builder.setCancelable(true); //设置按钮是否可以按返回键取消,false则不可以取消
AlertDialog dialog = builder.create(); //创建对话框
dialog.setCanceledOnTouchOutside(true); //设置弹出框失去焦点是否隐藏,即点击屏蔽其它地方是否隐藏
dialog.show();如何设置AlertDialog的样式
可以完全自定义样式,setView 这个方法就可以 ;
参考如下:
AlertDialog.Builder builder = new AlertDialog.Builder(new ContextThemeWrapper(this, R.style.AlertDialogCustom));
然后自定义自己的样式就可以了;
怎么设置alertdialog message显示位置
????
下面是java代码,将上面的TextView加入message
以题主为例,R.layout.dialog_message是上面xml的id
final?AlertDialog.Builder?Dialog?=?new?AlertDialog.Builder(this);
Dialog.setTitle("悟空提示:");
LayoutInflater?inflater?=?getLayoutInflater();
View?convertView?=?inflater.inflate(R.layout.dialog_message,null);??
TextView?message?=?(TextView)?convertView.findViewById(R.id.message);
message.setText("师傅您输入的城市重复");
Dialog.setView(convertView);
3C云国内IDC/ISP资质齐全商家,与香港公司联合运营, 已超6年运营 。本次为大家带来的是双12特惠活动,香港美国日本韩国|高速精品|高防|站群|大带宽等产品齐全,欢迎咨询问价。3C云科技有限公司官方网站:http://www.3cccy.com/客服QQ:937695003网页客服:点击咨询客户QQ交流群:1042709810价目表总览升级内存 60元 8G内存升级硬盘 1T机械 90元 2...
Webhosting24是一家始于2001年的意大利商家,提供的产品包括虚拟主机、VPS、独立服务器等,可选数机房包括美国洛杉矶、迈阿密、纽约、德国慕尼黑、日本、新加坡、澳大利亚悉尼等。商家VPS主机采用AMD Ryzen 9 5950X CPU,NVMe磁盘,基于KVM架构,德国机房不限制流量,网站采用欧元计费,最低年付15欧元起。这里以美国机房为例,分享几款套餐配置信息。CPU:1core内存...
spinservers是Majestic Hosting Solutions,LLC旗下站点,主营美国独立服务器租用和Hybrid Dedicated等,spinservers这次提供的大硬盘、大内存服务器很多人很喜欢。TheServerStore自1994年以来,它是一家成熟的企业 IT 设备供应商,专门从事二手服务器和工作站业务,在德克萨斯州拥有40,000 平方英尺的仓库,库存中始终有数千台...
alertdialog为你推荐
android半透明android状态栏怎么设置透明谷歌德语在线翻译求德语翻译。。。不要谷歌不要德语助手、、、万分感谢哦!!!免流量是什么意思腾讯大王卡免费流量是什么意思?微信语音在哪个文件夹电脑版微信的语音文件夹在哪个文件夹电梯物联网平台国内物联网公司排名,知道的帅哥美女快来回答哦!谢谢了!人脸检测综述人脸识别的主要应用方向及其优缺点?创业好项目论坛1000元创业有什么好项目可以做?联通玩电信游戏我朋友是联通的网,想玩电信的游戏但是发现都很卡软件测试工程师待遇软件测试人员工资高吗?微服务网关微服务网页打不开是什么原因
主机优惠码 rackspace 2014年感恩节 php免费空间 网通代理服务器 全站静态化 ftp教程 河南m值兑换 网站木马检测工具 老左正传 美国在线代理服务器 网游服务器 空间首页登陆 双线asp空间 海外空间 秒杀品 免费asp空间申请 日本代理ip lamp怎么读 重庆服务器 更多