Android开源库-BottomDialog两种样式弹框

关于

  网上这种底部弹窗一大堆,写这个开源library主要还是自己后面项目集成使用方便。。仓库地址

效果图(目前仅两种dialog,后续会增加)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

添加引用

allprojects {
		repositories {
			maven { url 'https://jitpack.io' }
		}
	}
dependencies {
	        implementation 'com.github.Tobeyr1:libBottomDialog:1.0.0-alpha'
	}

使用

  这里只介绍java 版使用方法,kotin版使用可以在github的app里面看到(正常使用):

BottomAlertDialog dialog = new BottomAlertDialog()
                    .openFullScreenMask(false,R.color.color_transparent,0.1f) //是否开启全屏以及弹框透明度,设置true则无法修改dialog位置,仅限底部使用
                    .setBackGroundColor(R.color.white)
                    .setContent("Exiting out of this form will remove all record information. Would you like to exit anyway?")
                    .setConfirmBg(R.drawable.bg_button_full_green_408)
                    .setCancelBg(R.drawable.bg_button_login_full_border_black_stroke_2)
                    .setTitle("Java title")
                     //.setCancelBtnGone() //是否隐藏取消按钮
                    .setTitleColor(R.color.black)
                    .setGravityStyle(Gravity.BOTTOM)
                    .setCanceledOnTouchOutside(false)
                    .setPositiveButtonMethod("Ok",R.color.white,(d,view) ->{
                        d.dismiss();
                        return null;
                    })
                    .setNegativeButtonMethod("Cancel",R.color.black,(d,view) ->{
                        d.dismiss();
                        return null;
                    })
                    .setFragmentManager(getSupportFragmentManager())
                    ;
            dialog.show();
 BottomChoiceDialog bottomChoiceDialog = new BottomChoiceDialog(
                    arrayList,(position,value) ->{
                        switch (position){
                            case 0 :
                                Toast.makeText(this, "take photo", Toast.LENGTH_SHORT).show();
                                break;
                            case 1 :
                                Toast.makeText(this, "Select from library", Toast.LENGTH_SHORT).show();
                                break;
                            case 2 :
                                Toast.makeText(this, "View image full Screen", Toast.LENGTH_SHORT).show();
                                break;
                        }
                return null;
            });
            bottomChoiceDialog.show(getSupportFragmentManager(),"dialog");

中间圆角样式

在这里插入图片描述

 BottomAlertDialog dialog = new BottomAlertDialog()
                    .openFullScreenMask(false, R.color.color_transparent,0.1f)
                    .setBackGroundColor(R.drawable.bg_dialog_full_radius_14_white)
                    .setContent("Exiting out of this form will remove all record information. Would you like to exit anyway?")
                    .setConfirmBg(R.drawable.bg_button_full_green_408)
                    .setCancelBg(R.drawable.bg_button_login_full_border_black_stroke_2)
                    .setTitle("Java title")
                    .setTitleColor(R.color.black)
                    .setGravityStyle(Gravity.CENTER)
                    .setCanceledOnTouchOutside(false)
                    .setWidth(getScreenWidth()-dpToPx(32))//单独设置宽度
                    //.setWindowSize(getScreenWidth()-dpToPx(32),dpToPx(280)) //整体size
                    .setPositiveButtonMethod("Ok",R.color.white,(d,view) ->{
                        d.dismiss();
                        return null;
                    })
                    .setNegativeButtonMethod("Cancel",R.color.black,(d,view) ->{
                        d.dismiss();
                        return null;
                    })
                    .setFragmentManager(getSupportFragmentManager())
                    ;
            dialog.show();
            
    private int getScreenWidth(){
        return getResources().getDisplayMetrics().widthPixels;
    }

    private int getScreenHeight(){
        return getResources().getDisplayMetrics().heightPixels;
    }

    private int dpToPx(int dp){
        return (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP,dp,getResources().getDisplayMetrics());
    }

中间圆角+弹窗阴影效果

在这里插入图片描述

 BottomAlertDialog dialog = new BottomAlertDialog()
                    .openFullScreenMask(false, R.drawable.bg_dialog_full_radius_14_white,0.1f)//同时使用圆角shape
                    .setBackGroundColor(R.drawable.bg_dialog_full_radius_14_white)
                    //.setCancelBtnGone() //是否隐藏取消按钮
                    .setContent("Exiting out of this form will remove all record information. Would you like to exit anyway?")
                    .setConfirmBg(R.drawable.bg_button_full_green_408)
                    .setCancelBg(R.drawable.bg_button_login_full_border_black_stroke_2)
                    .setTitle("Java title")
                    .setTitleColor(R.color.black)
                    .setGravityStyle(Gravity.CENTER)
                    .setCanceledOnTouchOutside(false)
                    .setWidth(getScreenWidth()-dpToPx(32))
                    //.setWindowSize(getScreenWidth()-dpToPx(32),dpToPx(280))
                    .setPositiveButtonMethod("Ok",R.color.white,(d,view) ->{
                        d.dismiss();
                        return null;
                    })
                    .setNegativeButtonMethod("Cancel",R.color.black,(d,view) ->{
                        d.dismiss();
                        return null;
                    })
                    .setFragmentManager(getSupportFragmentManager())
                    ;
            dialog.show();

bg_dialog_full_radius_14_white.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <corners android:radius="14dp" />
    <solid android:color="#FFFFFF" />
</shape>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

雪の星空朝酱

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值