【移动应用开发技术】Android实现状态栏(statusbar)渐变效果的示例_第1页
【移动应用开发技术】Android实现状态栏(statusbar)渐变效果的示例_第2页
【移动应用开发技术】Android实现状态栏(statusbar)渐变效果的示例_第3页
全文预览已结束

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

【移动应用开发技术】Android实现状态栏(statusbar)渐变效果的示例

前言qq最近更新搞了渐变式状态栏.然后...新需求就是要加这个.唉先来张效果图:

常见的方式:设置Theme,状态栏透明.实现起来比较简单.

比如:SystemBarTint

几行代码搞定了.但是.我要泼冷水,这种方式会引起这些问题:1.软键盘弹起bug

2.fragment不适应

这种方式的优点:兼容到4.4我的看法:1.用全屏模式或者状态栏透明的方式去实现,感觉很勉强

2.为了一个statusbar的效果,然后去处理一大堆不适应,我认为是不值得的.特别是软键盘弹出的问题

3.如果为了适配4.4,要费这么大功夫的话...我的实现方式:1.拿到StatusBar:很简单,翻翻DecorView源码,就能知道,是通过ColorViewState配置创建的View.

由于是私有成员,要拿到对应的参数,一般做法是使用反射.

这里我取了点巧,既然是View,那么就能findviewbyId找到

只要想办法拿到ernal.R.id.statusBarBackground这个id值就行了2.等StatusBar绘制完成如果你直接在onCreate中调用上面的方法,你会发现,拿到的是null.

这是因为Statusbar还没绘制完成.

所以,可以在onCreate()中使用Looper.myQueue().addIdleHandler()来保证Statusbar绘制完成后再findview.

然后对DecorView设置addOnLayoutChangeListener监听

当布局发生变化,就设置statusbar的背景3.为什么要addOnLayoutChangeListener:其实不加监听,也能实现改变statusbar颜色的效果..但是会出现问题

比如弹软键盘后,弹popwindow后,引起window状态改变时,statusbar的颜色就会复原

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论