Skip to content

Commit 82eea0f

Browse files
committed
update 3.2.0
1 parent 888e0af commit 82eea0f

File tree

6 files changed

+27
-11
lines changed

6 files changed

+27
-11
lines changed

README.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
![logo](https://github.com/gyf-dev/Screenshots/blob/master/ImmersionBar/readme_head.png)
22
# ImmersionBar -- android 4.4以上沉浸式实现
3-
[![version](https://img.shields.io/badge/version-3.1.1-brightgreen.svg)](https://bintray.com/geyifeng/maven/immersionbar) [![author](https://img.shields.io/badge/author-gyf--dev-orange.svg)](https://github.com/gyf-dev) [![简书](https://img.shields.io/badge/%E7%AE%80%E4%B9%A6-HeLe%E5%B0%8F%E5%AD%90%E6%8B%BD-blue.svg)](https://www.jianshu.com/p/2a884e211a62) [![QQ群](https://img.shields.io/badge/QQ%E7%BE%A4-314360549-red.svg)]()
3+
[![version](https://img.shields.io/badge/version-3.2.0-brightgreen.svg)](https://bintray.com/geyifeng/maven/immersionbar) [![author](https://img.shields.io/badge/author-gyf--dev-orange.svg)](https://github.com/gyf-dev) [![简书](https://img.shields.io/badge/%E7%AE%80%E4%B9%A6-HeLe%E5%B0%8F%E5%AD%90%E6%8B%BD-blue.svg)](https://www.jianshu.com/p/2a884e211a62) [![QQ群](https://img.shields.io/badge/QQ%E7%BE%A4-314360549-red.svg)]()
44

55
## 直接看效果图,建议下载demo体验,最下面有各个版本的效果图
66
<img width="300" src="https://github.com/gyf-dev/Screenshots/blob/master/ImmersionBar/Screenshot_6.0.gif"/>
@@ -9,11 +9,11 @@
99
> 3.1.1以上版本(mavenCentral)
1010
```groovy
1111
// 基础依赖包,必须要依赖
12-
implementation 'com.geyifeng.immersionbar:immersionbar:3.1.1'
12+
implementation 'com.geyifeng.immersionbar:immersionbar:3.2.0'
1313
// kotlin扩展(可选)
14-
implementation 'com.geyifeng.immersionbar:immersionbar-ktx:3.1.1'
14+
implementation 'com.geyifeng.immersionbar:immersionbar-ktx:3.2.0'
1515
// fragment快速实现(可选)已废弃
16-
implementation 'com.geyifeng.immersionbar:immersionbar-components:3.1.1'
16+
implementation 'com.geyifeng.immersionbar:immersionbar-components:3.2.0'
1717
```
1818
> 3.0.0版本(jcenter)
1919
```groovy
@@ -29,7 +29,7 @@
2929
#### [点我查看版本说明](https://github.com/gyf-dev/ImmersionBar/wiki)
3030

3131
## 下载demo
32-
#### [点我下载immersionBar-3.1.1.apk](https://github.com/gyf-dev/ImmersionBar/blob/master/apk/immersionbar-3.1.1.apk)
32+
#### [点我下载immersionBar-3.2.0.apk](https://github.com/gyf-dev/ImmersionBar/blob/master/apk/immersionbar-3.2.0.apk)
3333

3434
## 关于全面屏与刘海
3535
#### 关于全面屏
@@ -148,14 +148,14 @@
148148

149149
#### 在Activity使用ImmersionBar
150150
- 第一种,当结合viewpager2使用的时候,请使用viewpager2的registerOnPageChangeCallback的方法监听沉浸式
151-
- 第二种,当结合viewpager使用的时候,请使用viewpager的addOnPageChangeListener的方法监听沉浸式,参考demo中[FragmentThreeActivity](https://github.com/gyf-dev/ImmersionBar/blob/master/immersionbar-simple/src/main/java/com/gyf/immersionbar/simple/activity/FragmentThreeActivity.java)这个类
152-
- 第三种,当使用show()和hide()来控制Fragment显示隐藏的时候,请在tab切换的时候使用ImmersionBar,参考demo中[FragmentFourActivity](https://github.com/gyf-dev/ImmersionBar/blob/master/immersionbar-simple/src/main/java/com/gyf/immersionbar/simple/activity/FragmentFourActivity.java)这个类
151+
- 第二种,当结合viewpager使用的时候,请使用viewpager的addOnPageChangeListener的方法监听沉浸式,参考demo中[FragmentThreeActivity](https://github.com/gyf-dev/ImmersionBar/tree/master/immersionbar-sample/src/main/java/com/gyf/immersionbar/sample/activity/FragmentThreeActivity.java)这个类
152+
- 第三种,当使用show()和hide()来控制Fragment显示隐藏的时候,请在tab切换的时候使用ImmersionBar,参考demo中[FragmentFourActivity](https://github.com/gyf-dev/ImmersionBar/tree/master/immersionbar-sample/src/main/java/com/gyf/immersionbar/sample/activity/FragmentFourActivity.java)这个类
153153

154154
#### 使用Fragment第三方框架[Fragmentation](https://github.com/YoKeyword/Fragmentation)实现沉浸式
155-
- 参考demo中[FragmentFiveActivity](https://github.com/gyf-dev/ImmersionBar/blob/master/immersionbar-simple/src/main/java/com/gyf/immersionbar/simple/activity/FragmentFiveActivity.java)[BaseFiveFragment](https://github.com/gyf-dev/ImmersionBar/blob/master/immersionbar-simple/src/main/java/com/gyf/immersionbar/simple/fragment/five/BaseFiveFragment.java)这个类
155+
- 参考demo中[FragmentFiveActivity](https://github.com/gyf-dev/ImmersionBar/blob/master/immersionbar-sample/src/main/java/com/gyf/immersionbar/sample/activity/FragmentFiveActivity.java)[BaseFiveFragment](https://github.com/gyf-dev/ImmersionBar/tree/master/immersionbar-sample/src/main/java/com/gyf/immersionbar/sample/fragment/five/BaseFiveFragment.java)这个类
156156

157157
## 在Dialog中实现沉浸式,具体实现参考demo
158-
- ①结合dialogFragment使用,可以参考demo中的[BaseDialogFragment](https://github.com/gyf-dev/ImmersionBar/blob/master/immersionbar-simple/src/main/java/com/gyf/immersionbar/simple/fragment/dialog/BaseDialogFragment.java)这个类
158+
- ①结合dialogFragment使用,可以参考demo中的[BaseDialogFragment](https://github.com/gyf-dev/ImmersionBar/tree/master/immersionbar-sample/src/main/java/com/gyf/immersionbar/sample/fragment/dialog/BaseDialogFragment.java)这个类
159159
```java
160160
ImmersionBar.with(this).init();
161161
```
Binary file not shown.

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import java.util.function.Consumer
44

55
buildscript {
66
ext.kotlin_version = '1.6.10'
7-
ext.immersionbar_version = '3.1.1'
7+
ext.immersionbar_version = '3.2.0'
88
repositories {
99
mavenCentral()
1010
google()

immersionbar-ktx/src/main/java/com/gyf/immersionbar/ktx/ImmersionBar.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ val android.app.Fragment.notchHeight get() = ImmersionBar.getNotchHeight(this)
118118
// 是否支持状态栏字体变色
119119
val isSupportStatusBarDarkFont get() = ImmersionBar.isSupportStatusBarDarkFont()
120120

121-
// 师傅支持导航栏图标
121+
// 是否支持导航栏图标
122122
val isSupportNavigationIconDark get() = ImmersionBar.isSupportNavigationIconDark()
123123

124124
// 检查view是否使用了fitsSystemWindows

immersionbar/src/main/java/com/gyf/immersionbar/FitsKeyboard.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,10 @@
22

33
import android.graphics.Rect;
44
import android.os.Build;
5+
56
import androidx.fragment.app.Fragment;
67
import androidx.drawerlayout.widget.DrawerLayout;
8+
79
import android.view.View;
810
import android.view.ViewTreeObserver;
911
import android.view.Window;
@@ -89,6 +91,10 @@ void cancel() {
8991
}
9092
}
9193

94+
void resetKeyboardHeight() {
95+
mTempKeyboardHeight = 0;
96+
}
97+
9298
@Override
9399
public void onGlobalLayout() {
94100
if (mImmersionBar != null && mImmersionBar.getBarParams() != null && mImmersionBar.getBarParams().keyboardEnable) {
@@ -141,6 +147,9 @@ public void onGlobalLayout() {
141147
if (!isPopup && mImmersionBar.getBarParams().barHide != BarHide.FLAG_SHOW_BAR) {
142148
mImmersionBar.setBar();
143149
}
150+
if (!isPopup) {
151+
mImmersionBar.fitsParentBarKeyboard();
152+
}
144153
}
145154
}
146155
}

immersionbar/src/main/java/com/gyf/immersionbar/ImmersionBar.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -963,6 +963,13 @@ private void fitsKeyboard() {
963963
}
964964
}
965965

966+
void fitsParentBarKeyboard() {
967+
if (mParentBar != null && mParentBar.mFitsKeyboard != null) {
968+
mParentBar.mFitsKeyboard.disable();
969+
mParentBar.mFitsKeyboard.resetKeyboardHeight();
970+
}
971+
}
972+
966973
/**
967974
* Gets bar params.
968975
*

0 commit comments

Comments
 (0)