先简单的说下普通弹框使用 步骤

首先项目需要添加design 库

简单的使用和dialog 一样 如下

                BottomSheetDialog sheelt = new BottomSheetDialog(BottomSheeltActvity.this);View contentView = LayoutInflater.from(BottomSheeltActvity.this).inflate(R.layout.bottom__pop_item, null);sheelt.setContentView(contentView);sheelt.show();
 这样就弹框了,简单吧

下面给其添加一个监听事件

public class BottomSheeltActvity extends AppCompatActivity {BottomSheetDialog sheelt;@Overrideprotected void onCreate(@Nullable Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.bottom_sheet_activity_layout);findViewById(R.id.txt).setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {sheelt = new BottomSheetDialog(BottomSheeltActvity.this);View contentView = LayoutInflater.from(BottomSheeltActvity.this).inflate(R.layout.bottom__pop_item, null);sheelt.setContentView(contentView);sheelt.show();//设置背景为透明sheelt.getWindow().findViewById(R.id.design_bottom_sheet).setBackgroundResource(android.R.color.transparent);//设置id 的监听TextView photo = contentView.findViewById(R.id.photo);photo.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {Toast.makeText(BottomSheeltActvity.this, "点击了", Toast.LENGTH_SHORT).show();sheelt.dismiss();//消失}});}});}
}

下面说下其他的注意点

1 BottomSheetDialog 默认点击弹框之外的区域 弹框消失,如果想让其不消失可以设置如下
sheelt.setCanceledOnTouchOutside(false);

2 BottomSheetDialog 点击消失的方法

sheelt.dismiss();

3 设置背景透明

sheelt.getWindow().findViewById(R.id.design_bottom_sheet).setBackgroundResource(android.R.color.transparent);

可能有人会问这个id那来的,这个是系统自带的,直接赋值过去使用即可

4 弹框布局上面2个角变为圆角

这个可以用shape

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

但是需要设置弹框背景为透明 否则 显示的效果 被默认的白色背景挡着可也看不到效果

5 弹框 分模块 有间距的那那种

这个同样布局设置距离即可,但是需要设置背景为透明,然后在吧自己写的弹框的区域设置为自己想要的颜色即可。。

6 修改BottomSheetDialog 的默认高度

这里说下自己在项目中什么地方用到了这个修改默认高度

假如 弹框里面有一个控件点击 弹框增提布局增加1/3 的高度,再次点击 这个高度消失 ,如果弹框整体布局没有高出默认高度

没有问题 ,如果弹框布局高于默认高度 这样弹框之后它它不会增加而是高度一致,变成了滑动了

如果使用popwindow 做这样的弹框 你会发现效果非常的不好看,有兴趣的可以自己试试 ,这里只给出修改默认高度的

方法

BottomSheetBehavior sheetBehavior = BottomSheetBehavior.from((View) contentView.getParent());
sheetBehavior.setPeekHeight(1500);//修改默认的高度

到这里基本知识就讲完了,希望能帮助到您。

android 底部弹框 BottomSheetDialog 的使用相关推荐

  1. android 仿ios 底部弹出,项目需求讨论-仿ios底部弹框实现及分析

    hi,在项目开发中,有时候需要仿照ios的底部弹框做效果,比如我们在iPhone上面关闭定位的时候,就会弹出ios特有的底部弹框: 屏幕快照 2017-10-09 08.20.30 PM.png 弹框 ...

  2. Android之底部弹框

    文章链接: Android之底部弹窗 知识点: 1.dialog的简单使用: 2.自定义底部弹框: 3.新名词记录 { 5.0 转场动画 } 底部弹框:就是从手机屏幕底边位置弹出来,最常见的就是弹框里 ...

  3. java安卓弹框样式_Android 实现抖音头像底部弹框效果的实例代码

    布局文件 activity_test.xml android:layout_width="match_parent" android:layout_height="mat ...

  4. flutter 分割线_Flutter 底部弹框 showModalBottomSheet 使用Demo

    题记 -- 执剑天涯,从你的点滴积累开始,所及之处,必精益求精. Flutter是谷歌推出的最新的移动开发框架. [x1]微信公众号的每日提醒 随时随记 每日积累 随心而过 文章底部扫码关注 [x2] ...

  5. Flutter 底部弹框 showModalBottomSheet 使用Demo

    题记 -- 执剑天涯,从你的点滴积累开始,所及之处,必精益求精. Flutter是谷歌推出的最新的移动开发框架. [x1]微信公众号的每日提醒 随时随记 每日积累 随心而过 文章底部扫码关注 [x2] ...

  6. 微信小程序之底部弹框预约插件

    代码地址如下: http://www.demodashi.com/demo/13982.html 一.前期准备工作: 软件环境:微信开发者工具 官方下载地址:https://mp.weixin.qq. ...

  7. 小程序头像和昵称填写能力用底部弹框界面实现

    最近,微信小程序又更新了文档,关于获取头像和昵称需要进行适配. https://developers.weixin.qq.com/community/develop/doc/00022c683e8a8 ...

  8. Axure如何制作app底部弹框,固定在底部

    相信大家在日常的app原型绘制中,经常会遇到做底部弹框的功能,如果底部弹框会弹出不同的操作的话,这个时候大家就会使用动态面板进行原型制作,但是此时会存在一个问题,如果动态面板在不同的状态下高度不一样的 ...

  9. android弹框 简书,Android -自定义弹框

    前言 开发中避免不了自定义一些弹框的使用,经常开发觉得麻烦,就封装了一些常用的弹框,经供参考. Dialog-Master Dialog 各种自定义黑色主题,适用于黑色主题的APP 白色的需要修改背景 ...

最新文章

  1. select子句顺序
  2. 在MySQL中保存Java对象_java对象储存到数据库
  3. f5 ppt图标_PPT制作学习 (PPT技巧干货,拿走不谢)
  4. 无法打开虚拟机,获取该虚拟机的所有权失败。 主机上的某个应用程序正在使用该虚拟机。
  5. 带着canvas去流浪系列之七 绘制水球图
  6. nodejs对文件进行分页
  7. 如何卸载mysql5.6.28_如何完全删除MySQL以进行全新安装
  8. ubuntu20.04 下查看(改变)本地端口开放情况,开启和关闭防火墙
  9. 从日志中截取某个时间段的日志分析
  10. 福建农林大学统计学和计算机,福建农林大学特色专业介绍_统计学_专业课程介绍_专业排名_就业方向...
  11. VSCODE 远程编译调试ARM开发板
  12. 【Angular/TS】一文弄懂安全导航操作符(?.)、非空断言操作符/可选链(?.) 、空值合并运算符
  13. java截图+中文图片识别
  14. 用matlab怎么仿真升降压电路,(最新整理)升降压斩波电路matlab仿真
  15. VB——消费记录及查询系统。
  16. matlab实现RGB图转为BAYER图像以及Bayer格式对应的txt
  17. 【bug】vue.runtime.esm.js?2b0e:619 [Vue warn]: Failed to mount component: template or render function
  18. 透彻分析微信公众平台三大矛盾
  19. [本校测试] 魔王的消失Day2——By Hineven T3葬诗 提交答案题(爬山算法)
  20. 网新恒天php,网新恒天,为德邦快递插上数字化翅膀

热门文章

  1. 2022-2028年中国椎间孔镜行业市场研究及前瞻分析报告
  2. Go 学习笔记(68)— goroutine 并发控制神器 Context
  3. Redis 高级特性(3)—— 持久化及数据恢复
  4. 第五周周记(国庆第一天)
  5. SpringBoot集成AOP管理日志
  6. SpringBoot (七) :SpringBoot 整合dubbo
  7. Jenkins首次安装推荐插件出错 No such plugin: cloudbees-folder 超详细解决方案
  8. JIT Compiler编译器
  9. 用NumPy genfromtxt导入数据
  10. 什么是视觉Visual SLAM