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);
快快云怎么样?快快云是一家成立于2021年的主机服务商,致力于为用户提供高性价比稳定快速的主机托管服务,快快云目前提供有香港云服务器、美国云服务器、日本云服务器、香港独立服务器、美国独立服务器,日本独立服务器。快快云专注为个人开发者用户,中小型,大型企业用户提供一站式核心网络云端服务部署,促使用户云端部署化简为零,轻松快捷运用云计算!多年云计算领域服务经验,遍布亚太地区的海量节点为业务推进提供强大...
Hostodo又发布了几款针对7月4日美国独立日的优惠套餐(Independence Day Super Sale),均为年付,基于KVM架构,采用NVMe硬盘,最低13.99美元起,可选拉斯维加斯或者迈阿密机房。这是一家成立于2014年的国外VPS主机商,主打低价VPS套餐且年付为主,基于OpenVZ和KVM架构,产品性能一般,支持使用PayPal或者支付宝等付款方式。商家客服响应也比较一般,推...
spinservers美国圣何塞机房的独立服务器补货120台,默认接入10Gbps带宽,给你超高配置,这价格目前来看好像真的是无敌手,而且可以做到下单后30分钟内交货,都是预先部署好了的。每一台机器用户都可以在后台自行安装、重装、重启、关机操作,无需人工参与! 官方网站:https://www.spinservers.com 比特币、信用卡、PayPal、支付宝、webmoney、Payssi...
alertdialog为你推荐
发送垃圾短信发送垃圾短信被抓,会别判刑吗?最多判多久美国大选投票实时数据美国总统大选选票如何统计百度预测世界杯预测2018年世界杯哪两个国家会打入决赛?iphone12或支持北斗导航苹果手机怎样下载北斗导航微信语音在哪个文件夹【求助】微信语音的文件夹在哪里??linux操作系统好吗Linux操作系统和WINDOWS7操作系统哪个好金山铁路最新时刻表请问现在轨道交通22号线金山铁路是个什么情况?据说9月28日就开通了啊~~~慕课网址慕课官网的电话多少?如何修改手机ip安卓手机怎样设置IDoa源码谁有比较好的OA管理系统啊,要有源码的php写的!
免费vps服务器 河北服务器租用 免费国际域名 域名备案批量查询 如何注册中文域名 香港vps99idc technetcal ion 服务器cpu性能排行 免费静态空间 国外在线代理 网通ip 免空 183是联通还是移动 phpmyadmin配置 中国电信宽带测速网 万网主机管理 沈阳主机托管 英雄联盟台服官网 镇江高防 更多