android:fitsSystemWindows
16lz
2021-12-04
背景
最近在做沉浸式状态栏(状态栏背景透明)时,使用android:fitsSystemWindows属性来适配内容不超出状态栏,但出现了toast显示异常,内容被截断后超出背景。最后发现是因为在theme中设置android:fitsSystemWindows=“true”导致了。随即在布局文件xml的根节点设置android:fitsSystemWindows=“true”就解决问题。在此记录一下。
fitSystemWindows属性
这个一个boolean值的内部属性,让view可以根据系统窗口(如status bar)来调整自己的布局,如果值为true,就会调整view的paingding属性来给system windows留出空间....
实际效果
当status bar为透明或半透明时(4.4以上),系统会设置view的paddingTop值为一个适合的值(status bar的高度)让view的内容不被上拉到状态栏,当在不占据status bar的情况下(4.4以下)会设置paddingTop值为0(因为没有占据status bar所以不用留出空间)。
注意:在theme中设置此属性可能会导致toast显示异常,所以尽量在布局文件的根节点设置此属性。
更多相关文章
- android:contentDescription 的用途
- android 在EditText内嵌入图片资源
- Android(安卓)启动 白屏问题 解决
- TextView——文本省略显示
- Android(安卓)界面的基本属性
- Android抽象布局——include、merge 、ViewStub
- 有关布局问题:TextView、EditText……(二)
- android 状态栏沉浸
- Android(安卓)OpenGL 开发