最近项目需要实现沉浸式的状态栏,其实我在之前就了解过Android的沉浸式,发现有些棘手就放弃了,但是此次是公司的项目需要的,就花了几天把这个问题搞定了,在此记录一下,并mark几个坑。 首先,沉浸式是Android 4.4及以上才有的,在后续的5.0及6.0上面都增加了一些相关支持,于是问题就不太好办了。先看我实现的效果:
android开发
-
Android实现沉浸式状态栏的那些坑
-
如何去掉toolbar导航栏中向右的箭头
今天又需求要去掉,toolbar中的返回键
-
设置EditText不自动聚焦
如果界面中有EditText的时候,用户打开界面的话EditText就会自动聚焦。如果想取消这种一打开界面EditText就聚焦效果,可在EditText的上级父容器中加入如下代码:
-
动态设置元素宽高
动态设置元素宽高
-
Android开发笔记——SharedPreferences 存储实体类以及任意类型
我们常常要用到保存数据,Android中常用的存储方式有SQLite,sharedPreferences 等,当然也有各自的应用场景,前者适用于保存较多数据的情形,后者责倾向于保存用户偏好设置比如某个checkbox的选择状态,用户登录的状态等等,都是以键值对的形式进行的文件读取,可以存储String,int,booean等一些基本数据类型等等。
-
Android中finish掉其它的Activity
在Android开发时,一般情况下我们如果需要关掉当前Activity非常容易,只需要一行代码 this.finish;即可。 那么,如果是想要在当前Activity中关掉其它的Activity应该怎么实现呢? 比如更改了某个设定,程序需要重新运行并加载新的配置文件,就要用到restart或finish让程序重启。
-
android点击事件,第一次无效,第二次才响应的问题
今天碰到的问题,android的标题栏一个回退button,每次进入的时候第一次点击无效,一直到第二次点击时才响应,然后把代码copy到系统的回退按钮里面,结果每次都能响应,后面想了想,应该跟焦点有关系
-
使用Intent传递对象的两种方式
Intent 的用法相信你已经比较熟悉了,我们可以借助它来启动活动、发送广播、启动服务等。在进行上述操作的时候,我们还可以在Intent 中添加一些附加数据,以达到传值的效果,比如在FirstActivity 中添加如下代码:
-
TextView——setCompoundDrawables用法
setCompoundDrawables与setCompoundDrawablesWithIntrinsicBounds区别
-
Android退出应用最优雅的方式(改进版)
我们先来看看几种常见的退出方法(不优雅的方式)
-
PowerManager之PowerManager
当你在做一些事情时,如果持续时间过长,那么一段时间后屏幕会灭掉,如果你想在你做这些事时屏幕始终保持点亮状态,那么你需要WakeLock的帮助。
-
Android Sqlite查询优化之一---运用索引
最近笔者在做聊天功能模块,发现当本地聊天数据记录过大,以10万行数据进行了检索测试,发现时间太长了,要6s左右,但学着运用了下索引,时间大大提升,紧要几百毫秒就能完成. 以下内容,摘抄至网络
-
android Fresco gif图片不显示
最后百度搜索,发现高版本的Fresco 需要单独引入,gif模块。官方文档如下。
-
Only the original thread that created a view hierarchy can touch its views
很多网友在Android中使用多线程处理UI相关内容时可能会发现Logcat提示Only the original thread that created a view hierarchy can touch its views这样的错误,这主要是Android的相关View和控件不是线程安全的,我们必须做独立的处理这点比J2ME麻烦一些,这里Android给 我们提供了很多方法,有关线程的
-
Android BASE64Encoder不能用的问题
昨天项目与后台交互的接口传参数需要加密,用的是BASE64Encoder加密,可是这个类不能用,谷歌了一下说的是:
-
lib引入jar包,引起jar包冲突,transformDexArchiveWithExternalLibsDexMergerForDebug unable to merge dex
一般jar包冲突,多是两个jar包版本不一样引起的。 我的解决方案是:
-
layer-list -- layer-list的基本使用介绍
简单理解,layer 是层,list 是列表,那么 layer-list 就是层列表的意思。但是,是什么层列表呢?? 其实 layer-list 是用来创建 LayerDrawable 的,LayerDrawable 是 DrawableResource 的一种, 所以,layer-list 创建出来的是 图层列表,也就是一个drawable 图形。
-
TraceView报错:unable to open trace file
程序效率有些问题,想起用TraceView来分析一下,可是一直报标题中的错误,无法创建出我所需要的aa.trace文件,分析也就无从做起。
-
Android中的TextView超过n行显示省略号
在TextView中添加这两个属性的设置即可(显示n行,超过n行,用省略号代替) 例如:n = 3时,设置如下: