首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

实现一个网易云音乐的 BottomSheetDialog

BottomSheetDialog 网易云音乐 的 BottomSheetDialog 我开源 的仿网易云音乐 BottomSheetDialog 核心代码简述 前序: 因为APP 需要参照到 网易云音乐的...-Measure 模式 相对屏幕取 View 的坐标 先来直观对比下 gif 效果 首先是-- Android SDK 自带的 BottomSheetDialog 然后是--网易云音乐 的 BottomSheetDialog...最后是--我开源 的仿网易云音乐 BottomSheetDialog 首先是-- Android SDK 自带的 BottomSheetDialog 下面的 gif 图是一个Android SDK 自带的...然后是--网易云音乐 的 BottomSheetDialog 下面的 gif 图是一个Android 版 网易云音乐的BottomSheetDialog效果 ?...-FrameLayout --|--|--|--Our ContentView // 最后是我们设置的 ContentView CoordinatorLayout 在 Action_Move 事件时,必要的时候对其子

2.2K70
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    BottomSheetDialog 使用详解,设置圆角、固定高度、默认全屏等

    可以看到弹出来之后是有一个半透明的蒙层的,这时候是影响主界面交互的,也就意味着此时BottomSheetDialog的优先级是要高于主界面的。...代码 val bottomSheetDialog = BottomSheetDialog(this) bottomSheetDialog.setContentView...这里只是一个展示效果,实际上使用场景可能会复杂一些,还要做一些操作等等,所以,也可以自定义dialog继承自BottomSheetDialog,然后处理自己的业务逻辑。...看看效果 可以了,这下是直接就全屏了,但是向下拉的时候发现,并没有一次性收起,而是先停在了全屏时显示的默认位置,我们再设置高度为全屏试试 behavior.peekHeight = 3000...10.Github https://github.com/yechaoa/MaterialDesign ok,至此BottomSheetDialog相关的功能完全演示完了。

    4.2K30

    全球机器人外骨骼TOP10:中国创客研发产品入选

    据国外媒体报道,外骨骼的本来含意是指动物的外部骨骼,用于支撑或保护内骨骼。经过不懈研究,科学家已研制出很多性能卓越的外骨骼,帮助有需要的人更有效地打理他们的日常生活和工作。...HAL-5是一款可以穿在身上的机器人,高1600毫米,重23公斤,利用充电电池(交流电100V)驱动,工作时间可达到近2小时40分钟。...2.救援机器人T52Enryu T52Enryu是机器人家族的一个大块头,重量近5吨,身高达到3米。它非常强劲,可以帮助救援人员清理路面上的碎片。...3.松下充气式外骨骼 松下充气式外骨骼在设计上用于帮助瘫痪患者。它的肘部和腕部装有传感器,允许手臂控制8块人造肌肉。人造肌肉内装有压缩空气,用于挤压瘫痪部位。...它是一种混合人机,充气和放气之后便可膨胀和收缩,与其他外骨骼相比具有更高的灵活性。使用时,操作人员需站在中间,控制机器朝着面部方向移动。Stelarc外骨骼由流体肌肉传动装置驱动,装有大量传感器。

    1K40

    Android日常开发问题总结:这些问题火候不够,随时变成删库跑路!

    );// 隐藏标题 需要在onCreate之前调用,否则在4.4.2的机型上会报错: 2.小米6.0系统打开浏览器时闪退 Calling startActivity() from outside of...时,A应用的其它Activity也会被打开(之前存在的,A应用一直在后台) 这是taskAffinity的缘故,因为共用了同一个任务栈,所以在manifest文件中设置另外一个任务栈即可: android...20. android studio 全局搜索结果不全 缓存原因 image.png 21. bottomSheetDialog设置圆角 BottomSheetDialog"...(context,R.style.BottomSheetDialog)//设置style 22.ScrollView中的LinearLayout的layout_weigt无效 ScrollView中添加...关于这一点,在我当时确立好Android方向时,就已经开始梳理自己的成长路线了,包括技术要怎么系统地去学习,都列得非常详细。

    1.4K30

    Android BottomSheetDialog使用实现底部拖动弹窗

    为了不浪费你的时间,先看一下效果图。 ? 然后进入实际操作环节。   ...平时我们使用其他APP时对于评论这快,通常都是点击之后底部弹窗一个窗口,高度是各不相同,而且如果没有占满屏幕的话还可以往上拖,直到吸附在顶部,感觉是挺有意思的,但其实做起来没有那么难,这篇文章就是以一个新手刚接触这个功能的视觉来写的...' 添加位置如下图所示,添加只有记得右上角Sync一下,否则不生效的。...android:text="New Bottom" /> 然后在MainActivity中写入一个方法: public void doClick(View view) { BottomSheetDialog...mBottomSheetDialog = new BottomSheetDialog(this); View view1 = getLayoutInflater().inflate(R.layout.dialog_bottom_new

    2.5K31

    东京大学研发充气折叠电动自行车,可以放进背包

    大数据文摘授权转载自学术头条 作者:赵雅琦 共享式移动出行工具,已经进入了电动2.0时代。人们已经不能满足于普通自行车出行。在很多体量较大的城市,电动自行车可以更好的解决中等距离的通行需要。...例如,东京大学的研究团队正在研究的Poimo,一种可以充气折叠的电动自行车,包括充气式车身主体和电动轮两部分。目前该产品并未投放市场,处在原型阶段。...当他们使用公共交通工具时,可以从背包中自取,快速方便的到达他们想去的地方。除此之外,为旅游业也可以带来极大的好处。人们将更加灵活地到达不同的景点,减少过长的步行距离带来的疲劳。...图4缝合部分(图片来源:东京大学) 图5充气展开过程(图片来源:东京大学) 上路测试实验 实验过程 为了评估一个人骑在Poimo上时车体的物理特性,该团队进行了一项实验。...此外研究人员还检查了将样品从平坦状态充气到41.4kPa状态所需的时间。使用手持式20PSI充气机(THE SHARK,Outdoor Master Inc.)时,大约需要71秒。

    51320

    案例:汽车安全气囊高压钢瓶测试系统

    当汽车受到碰撞时,安全气囊系统透过一个盛满压缩气体的储气筒,对隐藏在方向盘中央以及仪表板旁的空气袋快速充气,借此来减少车上人员受到伤害。...在保障驾驶员与乘客安全的前提下,一套具有安全品质保障的汽车安全气囊系统必不能忽略其储气筒的品质,因为一旦容器破裂,高速喷出的气体作用力将会使容器碎片对周遭物件及人员造成重大危害,因此目前各国对于高压钢瓶均订定了相关的制造...系统需求 各种类型的钢瓶在制造过程中都需要对容器进行相关验证的测试,其中最主要的两大项目即是疲劳与爆破测试。...过去这样的测试设备采用的是个人电脑(PC)与可程式逻辑控制器(PLC)的搭配来完成测试机台的运作,PLC对于模拟讯号的取样速度不足,因此会造成资料失真,在无法取得正确样本的情况下,对于钢瓶的耐压性也就无法进行精确的分析...,当测试机台在对钢瓶进行十万次的加压、减压疲劳测试时,透过机台上的压力感应器,PCIE-1810可以每秒八十万次的取样速度,大幅提升取样率,获取快速变化的连续性压力讯号并以此解决了客户过去以PC搭配PLC

    28630

    上海交大和MIT提出的软性机械手,可提供实时的触觉控制

    该团队还开发了一个控制器,可指导气动系统在模仿五种常见的抓握方式下给手指充气,包括将两个和三个手指捏在一起,握成拳头,和捧手的姿势。...在这种布置下,传感器可以接收来自残肢的信号,例如,当截肢者想象握拳时。 然后,该团队使用一种现有的算法,对肌肉信号进行 "解码",并将其与常见的抓握类型联系起来。...他们用这种算法为他们的气动系统的控制器编程。例如,当截肢者想象拿着一个酒杯时,传感器会接收到残余的肌肉信号,然后控制器将其转化为相应的压力。...为了做到这一点,他们在每个指尖都缝制了一个压力传感器,当触摸或挤压时,会产生一个与感应到的压力成正比的电信号。每个传感器都被连接到截肢者残肢上的特定位置,因此用户可以“感觉”到假肢的拇指何时被按下。...他们用一只更坚硬的假手重复了同样的测试,发现充气假肢在大多数任务中与硬质假肢一样好,甚至更好。

    52120

    大福利 | PUPU ╳ COME4ARTS 萌宠噗噗上线

    距离地球200亿光年的地方 有着一颗噗噗星球 生活着一群追随声音的噗噗星人 由于星系间的挤压碰撞 噗噗星球上出现了几处时空裂缝 跳进裂缝中的噗噗星人穿过银光长河 恰巧坠落在蜜瓜岛周围的海滩 一场海滨奇遇就此展开...在蜜瓜岛调查PUPU星球收到的不明声波 宠物:EE依依 金蛋 配件:两对替换手型/EE依依金蛋/充气艇身 | 小丸 Oo PUPU星的水中贵族 喜欢冲浪的她希望能挑战 蜜瓜岛十年一遇的超级大浪 宠物...:OTO章鱼 配件:OTO小章鱼/一对三色手环/一支替换手型/等比例冲浪板 | 泡泡 Pink 小丸的好朋友 钟情深海探险 探索更多来自深海的神秘声音 宠物:BOBO波波太空河豚 配件:BOBO波波太空河豚.../手环/一支替换手型/船桨的杆 | 诺米 Nomi 喜欢一边听着栀子花开的声音 一边拨弹神奇力量的尤克里里歌唱 宠物:DINOO呆奴小恐龙 配件:DINOO呆奴小恐龙/栀子花手环/尤克里里/替换手型...耳机 那是来回噗噗星球的重要工具 配件:PUPU包包/充气艇一套/一对替换手型 五、包装展示 产品包装延续了品牌独特的“金属易拉罐”盲盒概念; 啤酒罐的外包装在潮玩圈中拥有极高的辨识度; “来一打C4A

    1K20

    Android MVVM框架搭建(八)高德地图定位、天气查询、BottomSheetDialog

    ① 实时天气数据 ② 天气弹窗布局 ③ BottomSheetDialog使用 八、源码 前言   在上一篇文章中完成了对个人用户信息的修改,同时讲述了对弹窗数据的处理,权限的使用,本文将在App中接入一个地图...下面进入到HomeActivity中去配置,配置切换菜单时的Fragment布局改变,如下图所示: ③ Fragment中地图生命周期绑定 要显示地图需要将地图的生命周期与Fragment的生命周期绑定起来...: 当收位置信息改变时,进行坐标的搜索,在onMyLocationChange中添加如下代码: //创建一个经纬度点,参数一是纬度,参数二是经度 LatLonPoint...因此在model包下新建一个LiveWeather,把我们在通过你地理编码返回时的区/县的值放进去,代码如下: public class LiveWeather { private String...③ BottomSheetDialog使用 在写之前,我们先写一个ForecastAdapter,这是天气预报的列表适配器,在adapter包下创建它,代码如下: public class ForecastAdapter

    1.9K30
    领券