Android dialog使用案例
需求:应用锁,
//自定义dialog的显示view
View view = getLayoutInflater().inflate(R.layout.passwd_dialog_view, null);
final EditText editText = (EditText) view.findViewById(R.id.dialog_edit);
AlertDialog dialog = new AlertDialog.Builder(this)
//.setIcon(R.mipmap.ic_launcher)//设置标题的图片
.setTitle("请输入密码")//设置对话框的标题
.setView(view)
.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
finish();
}
})
.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
final String passwd = "";
String content = editText.getText().toString().trim();
if(content.equals(passwd)){
dialog.dismiss();
}else{
finish();
Toast.makeText(getApplicationContext(),"密码错误!",Toast.LENGTH_SHORT).show();
}
}
})
//关闭其他区域点击关闭dialog
.setCancelable(false)
.create();
dialog.show();
//处理Android的返回键事件
dialog.setOnKeyListener(new DialogInterface.OnKeyListener() {
@Override
public boolean onKey(DialogInterface dialogInterface, int keyCode, KeyEvent keyEvent) {
if (keyCode == KeyEvent.KEYCODE_BACK)
{
return true;
}
else
{
return false; //默认返回 false,这里false不能屏蔽返回键,改为true就能够了
}
}
});
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<EditText
android:id="@+id/dialog_edit"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="30sp"
></EditText>
</LinearLayout>
拓展:将dialog设置为系统级别弹窗
alertdialog.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);
manifest配置权限
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
分类:
androidApp
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix