Android Dialog弹出窗口

这篇博客介绍了如何在Android应用中通过Dialog弹出窗口实现删除SD卡上指定文件的功能,包括步骤和示例代码。同时,作者邀请读者指出可能存在的问题和改进之处。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

path是文件存储路径,position是ltem中的第几个

 private void showBottomDialog(final String path,final int position){

        //1、使用Dialog、设置style
        final Dialog dialog = new Dialog(context,R.style.DialogTheme);
        //2、设置布局
        View view = View.inflate(context,R.layout.pdf_dialog,null);
        dialog.setContentView(view);
        Window window = dialog.getWindow();
        //设置弹出位置
        window.setGravity(Gravity.CENTER);
        //设置弹出动画
        window.setWindowAnimations(R.style.main_menu_animStyle);
        //设置对话框大小
        //window.setLayout(ViewGroup.LayoutParams.WRAP_CONTENT,ViewGroup.LayoutParams.WRAP_CONTENT);
        dialog.show();
        WindowManager windowManager = getWindowManager();
        Display display = windowManager.getDefaultDisplay();
        WindowManager.LayoutParams lp = dialog.getWindow().getAttributes();
        lp.width = (int)(display.getWidth() * 0.8); //设置宽度
        dialog.getWindow().setAttributes(lp);

        Button pdf_dialog_cancal = view.findViewById(R.id.pdf_dialog_cancal);
        Button pdf_dialog_delect = view.findViewById(R.id.pdf_dialog_delect);
        pdf_dialog_cancal.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                dialog.dismiss();
            }
        });
        pdf_dialog_delect.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                delete2(path);
                scanedFiles.remove(position);
                fileadapter.notifyDataSetChanged();
                Log.e("pdf_dialog_delect","地址:"+path);
                Log.e("pdf_dialog_delect","ID:"+position);
                dialog.dismiss();
            }
        });
    }

效果图
在这里插入图片描述
删除sd卡中文件的方法

 // 删除SD卡上的单个文件方法
    public boolean delete2(String path) {
        //SDPATH目录路径,fileName文件名
        File file = new File(path);
        if (file == null || !file.exists() || file.isDirectory()){
            return false;
        }
        file.delete();
        Toast.makeText(context, "删除成功", Toast.LENGTH_SHORT).show();
        return true;
    }

菜鸟一个,有问题,或是有什么不足的地方请联系我,谢谢!2216158337@qq.com

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值