底部菜单弹出按钮,纯Dialog自定义菜单栏,打造最简单的动画效果

最近项目用到了底部滑出按钮,拿到需求的时候想了一下实现的方法,发现github有一些库用到了此类菜单,虽然说效果很好,但是不想引入过多的库,所以用原生代码写了一个简单的实现,本人小菜鸟,大佬们觉得不好请勿喷,咱们下面就开始一步步实现过程吧。。

实现此类需求,我们要想一想怎么去设计才是最简单的方法,做到心中有模型,手中有代码肯定使我们的成功提高一半呀,首先我们知道这个底部按钮弹出,无非简单textView做一个排列,为了我们的效果更佳的美观,我们可以调用shape或者style来设计我们认为最优秀的风格,话不多说,我们先来看一下我们的代码。

dialog布局,这里我们用最简单的布局格式


可以看到我们这边调用了background属性,而我们的这个属性里面引用了我们的drawable下面的也就是我们说的shape,来调节我们dialog布局的圆角,这样就使我们的弹窗更加的立体感有木有,下面我们看这个shape,很简单,就是一个属性设置,这个我们不用过多的讲


现在基本条件都已经具备了,那么我们该怎么实现我们的方式呢,下面开始撸码。


看到上面,我们很轻松的就能看到我们引用了LayoutInflater这个局部引入类,不得不说这个类在android中真的是非常的强大,例如我们自定义view的时候都会用到,想知道这个类的同学可以自行百度一下,这里我们要简单了解几个属性,Window dialogWindow =dialog.getWindow();这个里面我们是获取当前Activity的窗体,从而去显示我们的view,然后我们调用dialogWindow下面的setGravity方法设置我们的dialog从底部弹出, 然后再调用我们的WindowManager.LayoutParams这个属性获得窗口的属性,设置我们的宽度等等然后赋给我们窗口,可能这边有点绕,但是无非就是获取窗口,设置属性,赋给窗口,这时候我们就可以设置我们的dialog.show了,当然在我们调用的时候我们要绑定点击事件或者我们可以引用butterknife去优化我们的代码,是不是很简单的就实现了我们的需求,而且完全不用去引用我们的第三方库,其实实现的方式有很多种,我只是选择了我简单的dialog方式去实现,后期将会为大家带来更多自己的想法,谢谢啦


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值