您现在的位置是:群英 > 开发技术 > 移动开发
Android实现一个简易的自定义弹框方法是什么
Admin发表于 2022-05-17 11:46:36981 次浏览
这篇文章给大家分享的是“Android实现一个简易的自定义弹框方法是什么”,文中的讲解内容简单清晰,对大家学习和理解有一定的参考价值和帮助,有这方面学习需要的朋友,接下来就跟随小编一起学习一下“Android实现一个简易的自定义弹框方法是什么”吧。

本文实例为大家分享了android自定义弹框dialog效果的具体代码,供大家参考,具体内容如下

1.dialog_delete.xml

<?xml version="1.0" encoding="utf-8"?>
<relativelayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <relativelayout
        android:layout_width="236dp"
        android:layout_height="184dp"
        android:layout_centerhorizontal="true"
        android:layout_centervertical="true"
        android:background="@drawable/dialog_white_back">
        <textview
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="删除设备"
            android:textcolor="#333333"
            android:textsize="15sp"
            android:layout_centerhorizontal="true"
            android:layout_margintop="13dp"></textview>
        <imageview
            android:id="@+id/delete_close_id"
            android:layout_width="10dp"
            android:layout_height="10dp"
            android:background="@mipmap/login_close_back"
            android:layout_alignparentright="true"
            android:layout_margintop="16dp"
            android:layout_marginright="13dp"></imageview>
 
        <textview
            android:id="@+id/delete_device_id"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="设备   id:123456789"
            android:textcolor="#333333"
            android:textsize="16sp"
            android:layout_margintop="75dp"
            android:layout_centerhorizontal="true"></textview>
 
        <textview
            android:id="@+id/delete_cancle_id"
            android:layout_width="77dp"
            android:layout_height="26dp"
            android:background="@drawable/round_gray"
            android:layout_alignparentbottom="true"
            android:layout_marginbottom="18dp"
            android:layout_marginleft="31dp"
            android:text="取消"
            android:textsize="11sp"
            android:textcolor="#333333"
            android:gravity="center"></textview>
 
        <textview
            android:id="@+id/delete_sure_id"
            android:layout_width="77dp"
            android:layout_height="26dp"
            android:background="@drawable/round_blue"
            android:layout_alignparentbottom="true"
            android:layout_marginbottom="18dp"
            android:layout_alignparentright="true"
            android:layout_marginright="32dp"
            android:text="确定"
            android:textsize="11sp"
            android:textcolor="#fefdfd"
            android:gravity="center"></textview>
    </relativelayout>
</relativelayout>

2.设置背景边框,在drawable创建dialog_white_back.xml

颜色以及圆角 根据自己需求修改

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
 
    <solid android:color ="#ffffff"/>
    <corners
        android:radius="8dp"/>
</shape>

3.按钮的背景边框,在drawable创建round_gray.xml

颜色以及圆角 根据自己需求修改

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
 
    <solid android:color = "#dcdcdc" />
    <corners
        android:radius="360dp"/>
</shape>

4.在style文件中添加

<!--dialog 样式 -->
    <style name="bottomdialog" parent="alertdialog.appcompat">
        <item name="android:windowisfloating">true</item>
        <item name="android:windowframe">@null</item>
        <item name="android:windownotitle">true</item>
        <item name="android:windowbackground">@android:color/transparent</item>
        <item name="android:backgrounddimenabled">true</item>
        <item name="android:windowcontentoverlay">@null</item>
        <item name="android:fullbright">@color/clear</item>
        <item name="android:fulldark">@color/clear</item>
        <item name="android:topbright">@color/clear</item>
        <item name="android:topdark">@color/clear</item>
        <item name="android:borderlessbuttonstyle">@color/clear</item>
</style>

5.java代码部分

/**
     * 删除alertdialog
     */
    public void deletedialog() {
        //布局、id
        view view = layoutinflater.from(getactivity()).inflate(r.layout.dialog_delete, null);
        imageview delete_close_id = view.findviewbyid(r.id.delete_close_id);
        textview delete_device_id = view.findviewbyid(r.id.delete_device_id);
        textview delete_cancle_id = view.findviewbyid(r.id.delete_cancle_id);
        textview delete_sure_id = view.findviewbyid(r.id.delete_sure_id);
        //显示样式
        final dialog dialog = new dialog(getactivity(), r.style.bottomdialog);
        dialog.setcontentview(view);
        dialog.getwindow().setbackgrounddrawableresource(android.r.color.transparent);
 
        displaymetrics dm = getresources().getdisplaymetrics();
        int displaywidth = dm.widthpixels;
        int displayheight = dm.heightpixels;
        android.view.windowmanager.layoutparams p = dialog.getwindow().getattributes(); //获取对话框当前的参数值
        p.width = (int) (displaywidth * 0.8); //宽度设置为屏幕的0.5
        //dialog.setcanceledontouchoutside(false);// 设置点击屏幕dialog不消失
        dialog.getwindow().setattributes(p);  //设置生效
        dialog.show();
        //点击关闭
        delete_close_id.setonclicklistener(new view.onclicklistener() {
            @override
            public void onclick(view v) {
                dialog.dismiss();
            }
        });
        //点击确定删除
        delete_sure_id.setonclicklistener(new view.onclicklistener() {
            @override
            public void onclick(view v) {
                dialog.dismiss();
            }
        });
        //点击取消删除
        delete_cancle_id.setonclicklistener(new view.onclicklistener() {
            @override
            public void onclick(view v) {
                dialog.dismiss();
            }
        });
    }

感谢各位的阅读,以上就是“Android实现一个简易的自定义弹框方法是什么”的内容了,通过以上内容的阐述,相信大家对Android实现一个简易的自定义弹框方法是什么已经有了进一步的了解,如果想要了解更多相关的内容,欢迎关注群英网络,群英网络将为大家推送更多相关知识点的文章。

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。

标签: 自定义弹框
相关信息推荐
2022-10-11 17:52:28 
摘要:本文主要介绍了springboot大文件上传、分片上传、断点续传、秒传的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
2022-05-16 17:19:12 
摘要:本篇文章给大家介绍一下Bootstrap中的导航组件。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。
2022-04-28 14:07:48 
摘要:给大家带来一篇关于python两种数据类型的转换的相关教程文章,内容涉及到Python、python教程等相关内容,更多关于python的内容希望能够帮助到大家。
群英网络助力开启安全的云计算之旅
立即注册,领取新人大礼包
  • 联系我们
  • 24小时售后:4006784567
  • 24小时TEL :0668-2555666
  • 售前咨询TEL:400-678-4567

  • 官方微信

    官方微信
Copyright  ©  QY  Network  Company  Ltd. All  Rights  Reserved. 2003-2019  群英网络  版权所有   茂名市群英网络有限公司
增值电信经营许可证 : B1.B2-20140078   粤ICP备09006778号
免费拨打  400-678-4567
免费拨打  400-678-4567 免费拨打 400-678-4567 或 0668-2555555
微信公众号
返回顶部
返回顶部 返回顶部