Comments (7)
@smallgirl
你下载我的demo在你这款手机上使用方法三可以正常使用吗?
from immersionbar.
demo中方案三在部分的4.4手机上是有些问题,在4.4联想手机上有问题,但是在4.4htc没有问题
from immersionbar.
能贴个图吗?或者加我微信想聊
from immersionbar.
@gyf-dev @chengzichen 在三星手机也不行,理论上上载所有手机都不行,因为在setupStatusBarView()方法里面没有处理,而
/**
* 解决安卓4.4和EMUI3.1导航栏与状态栏的问题
*/
private void solveNavigation() {
// 解决android4.4有导航栏的情况下,activity底部被导航栏遮挡的问题
if (mConfig.hasNavigtionBar() && !mBarParams.fullScreenTemp && !mBarParams.fullScreen) {
if (mConfig.isNavigationAtBottom()) { //判断导航栏是否在底部
if (mBarParams.fits)
mContentView.setPadding(0, getStatusBarHeight(mActivity), 0, mConfig.getNavigationBarHeight()); //有导航栏,获得rootView的根节点,然后设置距离底部的padding值为导航栏的高度值
else
mContentView.setPadding(0, 0, 0, mConfig.getNavigationBarHeight());
} else {
if (mBarParams.fits)
mContentView.setPadding(0, getStatusBarHeight(mActivity), mConfig.getNavigationBarWidth(), 0); //不在底部,设置距离右边的padding值为导航栏的宽度值
else
mContentView.setPadding(0, 0, mConfig.getNavigationBarWidth(), 0);
}
} else {
// mContentView.setPadding(0, 0, 0, 0); //没有导航栏,什么都不做
}
}
这个方法处理的只是有底部导航栏的手机,对于底部没有导航栏的手机,没做处理,其次我在setupStatusBarView() 方法里加上mContentView.setPadding(0, getStatusBarHeight(mActivity), 0, 0);可以但是有bug,就是activity 必须继承AppCompatActivity 不能继承Activity 不然如果状态栏与布局的第一个view颜色一样,会出现一条黑线,微信wanghaitao2016
from immersionbar.
@smallgirl
这是由于上次修改bug导致这一块代码有修改,然后忘了处理没有导航栏的情况,下个版本修复,至于继承activity有一条黑线的情况下,在style里设置下面属性即可解决
<item name="android:windowContentOverlay">@null</item>
from immersionbar.
@gyf-dev 你好,@null这句话加上在华为4.4上确实解决了黑线问题。不知道lib是否更新,我用的是最新的库,翻了很久issues好久才找到这,如果没有更新lib希望可以放到首页,因为不太好找!谢谢作者,辛苦了~
from immersionbar.
<item name="android:windowContentOverlay">@null</item>
from immersionbar.
Related Issues (20)
- 内存泄漏问题 HOT 4
- padding全部失效
- 3.2.2版本内存泄漏 HOT 5
- Xiaomi Redmi7 hasNavigationBar判断有误,getNavigationBarHeight返回高度不正确
- 华为手机鸿蒙系统小窗模式,上面有留白,应该是高度没算准
- 老哥,设置透明导航栏会使recyclerView和图标重叠,但是不设置使用默认黑色就不会😂
- immersionbar 3.2.2 报错 HOT 1
- 初始化的时候检测出来ANR HOT 2
- Android11在3.2.2版本中隐藏导航栏存在的问题
- 为什么会废弃
- 有计划提供Compose版本的吗?
- 小米横屏之后,左边是空白的。如图 HOT 3
- 小米手机ImmersionBar.hasNavigationBar(context)判断有误
- 状态栏从白色darkfont(false)变成黑色darkfont(true)失效
- 获取状态栏高度
- getSmallestWidthDp导致ANR问题
- Caused by: java.lang.ClassNotFoundException: Didn't find class "androidx.fragment.app.FragmentActivity"
- 我将状态栏设置为透明,但是我想修改状态栏文字的颜色,无法生效
- Android Compose当中使用 直接崩掉了 HOT 1
- vivo的 origin os 上有效嘛
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from immersionbar.