zackratos / ultimatebarx Goto Github PK
View Code? Open in Web Editor NEWMake Android transparent statusbar and navigationbar easy.
License: Apache License 2.0
Make Android transparent statusbar and navigationbar easy.
License: Apache License 2.0
布局文件
<androidx.fragment.app.FragmentContainerView
android:id="@+id/fl_main"
android:layout_weight="1"
android:layout_width="match_parent"
android:layout_height="0dp" />
<com.google.android.material.bottomnavigation.BottomNavigationView
android:id="@+id/bottomNav"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/white"
app:menu="@menu/bottom_nav_menu"/>
class 文件
class BottomNavFragmentActivity : ViewBindingActivity() {
private var lastPosition = 0
private var mFragments = ArrayList()
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
mFragments.clear()
mFragments.add(FragmentTest())
mFragments.add(FragmentTest())
mFragments.add(FragmentTest())
mFragments.add(FragmentTest())
setFragmentPosition(0);
statusBar {
light = true
}
binding.bottomNav.setOnNavigationItemSelectedListener {
when (it.itemId) {
R.id.item_album -> {
setFragmentPosition(0);
}
R.id.item_android -> {
setFragmentPosition(1);
}
R.id.item_camera -> {
setFragmentPosition(2);
}
R.id.item_games -> {
setFragmentPosition(3);
}
else -> {
}
}
return@setOnNavigationItemSelectedListener true
}
}
private fun setFragmentPosition(position: Int) {
val ft = supportFragmentManager.beginTransaction()
val currentFragment = mFragments[position]
val lastFragment = mFragments[lastPosition]
lastPosition = position
ft.hide(lastFragment)
if (!currentFragment.isAdded) {
supportFragmentManager.beginTransaction().remove(currentFragment).commit()
ft.add(R.id.fl_main, mFragments[position])
}
ft.show(currentFragment)
ft.commitAllowingStateLoss()
}
}
大佬你好,遇到一个问题加载状态栏,导航栏也会出现,我根本用不到导航栏,目前是 UltimateBarX.create(UltimateBarX.NAVIGATION_BAR)
.transparent()
.apply(this);通过这个代码透明化。请问怎么去除导航栏
2021-01-28 11:43:52.083 17441-17441/com.pionex.lite E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.pionex.lite, PID: 17441
java.lang.StackOverflowError: stack size 8192KB
at android.util.MemoryIntArray.enforceValidIndex(MemoryIntArray.java:212)
at android.util.MemoryIntArray.get(MemoryIntArray.java:107)
at android.provider.Settings$GenerationTracker.readCurrentGeneration(Settings.java:2196)
at android.provider.Settings$GenerationTracker.isGenerationChanged(Settings.java:2180)
at android.provider.Settings$NameValueCache.getStringForUser(Settings.java:2310)
at android.provider.Settings$Global.getStringForUser(Settings.java:14009)
at android.provider.Settings$Global.getString(Settings.java:13997)
at android.provider.Settings$Global.getInt(Settings.java:14179)
at com.zackratos.ultimatebarx.library.rom.MiuiRom.fullScreenGestureOn(MiuiRom.kt:20)
at com.zackratos.ultimatebarx.library.rom.BaseRom.navigationBarExist(BaseRom.kt:18)
at com.zackratos.ultimatebarx.library.UltimateBarXExposedKt.getNavigationBarHeight(UltimateBarXExposed.kt:26)
at com.zackratos.ultimatebarx.library.rom.MiuiRom.screenIndicatorOn(MiuiRom.kt:25)
at com.zackratos.ultimatebarx.library.rom.BaseRom.navigationBarExist(BaseRom.kt:19)
at com.zackratos.ultimatebarx.library.UltimateBarXExposedKt.getNavigationBarHeight(UltimateBarXExposed.kt:26)
at com.zackratos.ultimatebarx.library.rom.MiuiRom.screenIndicatorOn(MiuiRom.kt:25)
at com.zackratos.ultimatebarx.library.rom.BaseRom.navigationBarExist(BaseRom.kt:19)
at com.zackratos.ultimatebarx.library.UltimateBarXExposedKt.getNavigationBarHeight(UltimateBarXExposed.kt:26)
at com.zackratos.ultimatebarx.library.rom.MiuiRom.screenIndicatorOn(MiuiRom.kt:25)
at com.zackratos.ultimatebarx.library.rom.BaseRom.navigationBarExist(BaseRom.kt:19)
at com.zackratos.ultimatebarx.library.UltimateBarXExposedKt.getNavigationBarHeight(UltimateBarXExposed.kt:26)
at com.zackratos.ultimatebarx.library.rom.MiuiRom.screenIndicatorOn(MiuiRom.kt:25)
at com.zackratos.ultimatebarx.library.rom.BaseRom.navigationBarExist(BaseRom.kt:19)
at com.zackratos.ultimatebarx.library.UltimateBarXExposedKt.getNavigationBarHeight(UltimateBarXExposed.kt:26)
at com.zackratos.ultimatebarx.library.rom.MiuiRom.screenIndicatorOn(MiuiRom.kt:25)
at com.zackratos.ultimatebarx.library.rom.BaseRom.navigationBarExist(BaseRom.kt:19)
at com.zackratos.ultimatebarx.library.UltimateBarXExposedKt.getNavigationBarHeight(UltimateBarXExposed.kt:26)
at com.zackratos.ultimatebarx.library.rom.MiuiRom.screenIndicatorOn(MiuiRom.kt:25)
at com.zackratos.ultimatebarx.library.rom.BaseRom.navigationBarExist(BaseRom.kt:19)
at com.zackratos.ultimatebarx.library.UltimateBarXExposedKt.getNavigationBarHeight(UltimateBarXExposed.kt:26)
at com.zackratos.ultimatebarx.library.rom.MiuiRom.screenIndicatorOn(MiuiRom.kt:25)
at com.zackratos.ultimatebarx.library.rom.BaseRom.navigationBarExist(BaseRom.kt:19)
at com.zackratos.ultimatebarx.library.UltimateBarXExposedKt.getNavigationBarHeight(UltimateBarXExposed.kt:26)
at com.zackratos.ultimatebarx.library.rom.MiuiRom.screenIndicatorOn(MiuiRom.kt:25)
at com.zackratos.ultimatebarx.library.rom.BaseRom.navigationBarExist(BaseRom.kt:19)
at com.zackratos.ultimatebarx.library.UltimateBarXExposedKt.getNavigationBarHeight(UltimateBarXExposed.kt:26)
at com.zackratos.ultimatebarx.library.rom.MiuiRom.screenIndicatorOn(MiuiRom.kt:25)
at com.zackratos.ultimatebarx.library.rom.BaseRom.navigationBarExist(BaseRom.kt:19)
at com.zackratos.ultimatebarx.library.UltimateBarXExposedKt.getNavigationBarHeight(UltimateBarXExposed.kt:26)
at com.zackratos.ultimatebarx.library.rom.MiuiRom.screenIndicatorOn(MiuiRom.kt:25)
at com.zackratos.ultimatebarx.library.rom.BaseRom.navigationBarExist(BaseRom.kt:19)
at com.zackratos.ultimatebarx.library.UltimateBarXExposedKt.getNavigationBarHeight(UltimateBarXExposed.kt:26)
at com.zackratos.ultimatebarx.library.rom.MiuiRom.screenIndicatorOn(MiuiRom.kt:25)
at com.zackratos.ultimatebarx.library.rom.BaseRom.navigationBarExist(BaseRom.kt:19)
2021-01-28 11:43:52.085 17441-17441/com.pionex.lite E/AndroidRuntime: at com.zackratos.ultimatebarx.library.UltimateBarXExposedKt.getNavigationBarHeight(UltimateBarXExposed.kt:26)
at com.zackratos.ultimatebarx.library.rom.MiuiRom.screenIndicatorOn(MiuiRom.kt:25)
at com.zackratos.ultimatebarx.library.rom.BaseRom.navigationBarExist(BaseRom.kt:19)
at com.zackratos.ultimatebarx.library.UltimateBarXExposedKt.getNavigationBarHeight(UltimateBarXExposed.kt:26)
at com.zackratos.ultimatebarx.library.rom.MiuiRom.screenIndicatorOn(MiuiRom.kt:25)
at com.zackratos.ultimatebarx.library.rom.BaseRom.navigationBarExist(BaseRom.kt:19)
at com.zackratos.ultimatebarx.library.UltimateBarXExposedKt.getNavigationBarHeight(UltimateBarXExposed.kt:26)
at com.zackratos.ultimatebarx.library.rom.MiuiRom.screenIndicatorOn(MiuiRom.kt:25)
at com.zackratos.ultimatebarx.library.rom.BaseRom.navigationBarExist(BaseRom.kt:19)
at com.zackratos.ultimatebarx.library.UltimateBarXExposedKt.getNavigationBarHeight(UltimateBarXExposed.kt:26)
at com.zackratos.ultimatebarx.library.rom.MiuiRom.screenIndicatorOn(MiuiRom.kt:25)
at com.zackratos.ultimatebarx.library.rom.BaseRom.navigationBarExist(BaseRom.kt:19)
at com.zackratos.ultimatebarx.library.UltimateBarXExposedKt.getNavigationBarHeight(UltimateBarXExposed.kt:26)
at com.zackratos.ultimatebarx.library.rom.MiuiRom.screenIndicatorOn(MiuiRom.kt:25)
at com.zackratos.ultimatebarx.library.rom.BaseRom.navigationBarExist(BaseRom.kt:19)
at com.zackratos.ultimatebarx.library.UltimateBarXExposedKt.getNavigationBarHeight(UltimateBarXExposed.kt:26)
at com.zackratos.ultimatebarx.library.rom.MiuiRom.screenIndicatorOn(MiuiRom.kt:25)
at com.zackratos.ultimatebarx.library.rom.BaseRom.navigationBarExist(BaseRom.kt:19)
at com.zackratos.ultimatebarx.library.UltimateBarXExposedKt.getNavigationBarHeight(UltimateBarXExposed.kt:26)
at com.zackratos.ultimatebarx.library.rom.MiuiRom.screenIndicatorOn(MiuiRom.kt:25)
at com.zackratos.ultimatebarx.library.rom.BaseRom.navigationBarExist(BaseRom.kt:19)
at com.zackratos.ultimatebarx.library.UltimateBarXExposedKt.getNavigationBarHeight(UltimateBarXExposed.kt:26)
at com.zackratos.ultimatebarx.library.rom.MiuiRom.screenIndicatorOn(MiuiRom.kt:25)
at com.zackratos.ultimatebarx.library.rom.BaseRom.navigationBarExist(BaseRom.kt:19)
at com.zackratos.ultimatebarx.library.UltimateBarXExposedKt.getNavigationBarHeight(UltimateBarXExposed.kt:26)
at com.zackratos.ultimatebarx.library.rom.MiuiRom.screenIndicatorOn(MiuiRom.kt:25)
at com.zackratos.ultimatebarx.library.rom.BaseRom.navigationBarExist(BaseRom.kt:19)
at com.zackratos.ultimatebarx.library.UltimateBarXExposedKt.getNavigationBarHeight(UltimateBarXExposed.kt:26)
at com.zackratos.ultimatebarx.library.rom.MiuiRom.screenIndicatorOn(MiuiRom.kt:25)
at com.zackratos.ultimatebarx.library.rom.BaseRom.navigationBarExist(BaseRom.kt:19)
at com.zackratos.ultimatebarx.library.UltimateBarXExposedKt.getNavigationBarHeight(UltimateBarXExposed.kt:26)
at com.zackratos.ultimatebarx.library.rom.MiuiRom.screenIndicatorOn(MiuiRom.kt:25)
at com.zackratos.ultimatebarx.library.rom.BaseRom.navigationBarExist(BaseRom.kt:19)
at com.zackratos.ultimatebarx.library.UltimateBarXExposedKt.getNavigationBarHeight(UltimateBarXExposed.kt:26)
at com.zackratos.ultimatebarx.library.rom.MiuiRom.screenIndicatorOn(MiuiRom.kt:25)
at com.zackratos.ultimatebarx.library.rom.BaseRom.navigationBarExist(BaseRom.kt:19)
at com.zackratos.ultimatebarx.library.UltimateBarXExposedKt.getNavigationBarHeight(UltimateBarXExposed.kt:26)
at com.zackratos.ultimatebarx.library.rom.MiuiRom.screenIndicatorOn(MiuiRom.kt:25)
at com.zackratos.ultimatebarx.library.rom.BaseRom.navigationBarExist(BaseRom.kt:19)
at com.zackratos.ultimatebarx.library.UltimateBarXExposedKt.getNavigationBarHeight(UltimateBarXExposed.kt:26)
at com.zackratos.ultimatebarx.library.rom.MiuiRom.screenIndicatorOn(MiuiRom.kt:25)
at com.zackratos.ultimatebarx.library.rom.BaseRom.navigationBarExist(BaseRom.kt:19)
2021-01-28 11:43:52.870 17441-17441/com.pionex.lite I/chatty: uid=10230(com.pionex.lite) identical 1872 lines
2021-01-28 11:43:52.870 17441-17441/com.pionex.lite E/AndroidRuntime: at com.zackratos.ultimatebarx.library.UltimateBarXExposedKt.getNavigationBarHeight(UltimateBarXExposed.kt:26)
at com.zackratos.ultimatebarx.library.rom.MiuiRom.screenIndicatorOn(MiuiRom.kt:25)
at com.zackratos.ultimatebarx.library.rom.BaseRom.navigationBarExist(BaseRom.kt:19)
at com.zackratos.ultimatebarx.library.UltimateBarXExposedKt.getNavigationBarHeight(UltimateBarXExposed.kt:26)
at com.zackratos.ultimatebarx.library.rom.MiuiRom.screenIndicatorOn(MiuiRom.kt:25)
at com.zackratos.ultimatebarx.library.rom.BaseRom.navigationBarExist(BaseRom.kt:19)
at com.zackratos.ultimatebarx.library.UltimateBarXExposedKt.getNavigationBarHeight(UltimateBarXExposed.kt:26)
at com.zackratos.ultimatebarx.library.rom.MiuiRom.screenIndicatorOn(MiuiRom.kt:25)
at com.zackratos.ultimatebarx.library.rom.BaseRom.navigationBarExist(BaseRom.kt:19)
at com.zackratos.ultimatebarx.library.UltimateBarXExposedKt.getNavigationBarHeight(UltimateBarXExposed.kt:26)
at com.zackratos.ultimatebarx.library.rom.MiuiRom.screenIndicatorOn(MiuiRom.kt:25)
at com.zackratos.ultimatebarx.library.rom.BaseRom.navigationBarExist(BaseRom.kt:19)
at com.zackratos.ultimatebarx.library.UltimateBarXExposedKt.getNavigationBarHeight(UltimateBarXExposed.kt:26)
at com.zackratos.ultimatebarx.library.rom.MiuiRom.screenIndicatorOn(MiuiRom.kt:25)
at com.zackratos.ultimatebarx.library.rom.BaseRom.navigationBarExist(BaseRom.kt:19)
at com.zackratos.ultimatebarx.library.UltimateBarXExposedKt.getNavigationBarHeight(UltimateBarXExposed.kt:26)
at com.zackratos.ultimatebarx.library.rom.MiuiRom.screenIndicatorOn(MiuiRom.kt:25)
at com.zackratos.ultimatebarx.library.rom.BaseRom.navigationBarExist(BaseRom.kt:19)
at com.zackratos.ultimatebarx.library.UltimateBarXExposedKt.getNavigationBarHeight(UltimateBarXExposed.kt:26)
at com.zackratos.ultimatebarx.library.rom.MiuiRom.screenIndicatorOn(MiuiRom.kt:25)
at com.zackratos.ultimatebarx.library.rom.BaseRom.navigationBarExist(BaseRom.kt:19)
at com.zackratos.ultimatebarx.library.UltimateBarXExposedKt.getNavigationBarHeight(UltimateBarXExposed.kt:26)
at com.zackratos.ultimatebarx.library.rom.MiuiRom.screenIndicatorOn(MiuiRom.kt:25)
at com.zackratos.ultimatebarx.library.rom.BaseRom.navigationBarExist(BaseRom.kt:19)
at com.zackratos.ultimatebarx.library.UltimateBarXExposedKt.getNavigationBarHeight(UltimateBarXExposed.kt:26)
at com.zackratos.ultimatebarx.library.rom.MiuiRom.screenIndicatorOn(MiuiRom.kt:25)
at com.zackratos.ultimatebarx.library.rom.BaseRom.navigationBarExist(BaseRom.kt:19)
at com.zackratos.ultimatebarx.library.UltimateBarXExposedKt.getNavigationBarHeight(UltimateBarXExposed.kt:26)
at com.zackratos.ultimatebarx.library.rom.MiuiRom.screenIndicatorOn(MiuiRom.kt:25)
at com.zackratos.ultimatebarx.library.rom.BaseRom.navigationBarExist(BaseRom.kt:19)
at com.zackratos.ultimatebarx.library.UltimateBarXExposedKt.getNavigationBarHeight(UltimateBarXExposed.kt:26)
at com.zackratos.ultimatebarx.library.rom.MiuiRom.screenIndicatorOn(MiuiRom.kt:25)
at com.zackratos.ultimatebarx.library.rom.BaseRom.navigationBarExist(BaseRom.kt:19)
at com.zackratos.ultimatebarx.library.UltimateBarXExposedKt.getNavigationBarHeight(UltimateBarXExposed.kt:26)
at com.zackratos.ultimatebarx.library.rom.MiuiRom.screenIndicatorOn(MiuiRom.kt:25)
at com.zackratos.ultimatebarx.library.rom.BaseRom.navigationBarExist(BaseRom.kt:19)
at com.zackratos.ultimatebarx.library.UltimateBarXExposedKt.getNavigationBarHeight(UltimateBarXExposed.kt:26)
at com.zackratos.ultimatebarx.library.rom.MiuiRom.screenIndicatorOn(MiuiRom.kt:25)
at com.zackratos.ultimatebarx.library.rom.BaseRom.navigationBarExist(BaseRom.kt:19)
at com.zackratos.ultimatebarx.library.UltimateBarXExposedKt.getNavigationBarHeight(UltimateBarXExposed.kt:26)
at com.zackratos.ultimatebarx.library.rom.MiuiRom.screenIndicatorOn(MiuiRom.kt:25)
at com.zackratos.ultimatebarx.library.rom.BaseRom.navigationBarExist(BaseRom.kt:19)
2021-01-28 11:43:52.871 17441-17441/com.pionex.lite E/AndroidRuntime: at com.zackratos.ultimatebarx.library.UltimateBarXExposedKt.getNavigationBarHeight(UltimateBarXExposed.kt:26)
at com.zackratos.ultimatebarx.library.rom.MiuiRom.screenIndicatorOn(MiuiRom.kt:25)
at com.zackratos.ultimatebarx.library.rom.BaseRom.navigationBarExist(BaseRom.kt:19)
at com.zackratos.ultimatebarx.library.UltimateBarXExposedKt.getNavigationBarHeight(UltimateBarXExposed.kt:26)
at com.zackratos.ultimatebarx.library.rom.MiuiRom.screenIndicatorOn(MiuiRom.kt:25)
at com.zackratos.ultimatebarx.library.rom.BaseRom.navigationBarExist(BaseRom.kt:19)
at com.zackratos.ultimatebarx.library.UltimateBarXExposedKt.getNavigationBarHeight(UltimateBarXExposed.kt:26)
at com.zackratos.ultimatebarx.library.rom.MiuiRom.screenIndicatorOn(MiuiRom.kt:25)
at com.zackratos.ultimatebarx.library.rom.BaseRom.navigationBarExist(BaseRom.kt:19)
at com.zackratos.ultimatebarx.library.UltimateBarXExposedKt.getNavigationBarHeight(UltimateBarXExposed.kt:26)
at com.zackratos.ultimatebarx.library.rom.MiuiRom.screenIndicatorOn(MiuiRom.kt:25)
at com.zackratos.ultimatebarx.library.rom.BaseRom.navigationBarExist(BaseRom.kt:19)
at com.zackratos.ultimatebarx.library.UltimateBarXExposedKt.getNavigationBarHeight(UltimateBarXExposed.kt:26)
at com.zackratos.ultimatebarx.library.rom.MiuiRom.screenIndicatorOn(MiuiRom.kt:25)
at com.zackratos.ultimatebarx.library.rom.BaseRom.navigationBarExist(BaseRom.kt:19)
at com.zackratos.ultimatebarx.library.UltimateBarXExposedKt.getNavigationBarHeight(UltimateBarXExposed.kt:26)
at com.zackratos.ultimatebarx.library.rom.MiuiRom.screenIndicatorOn(MiuiRom.kt:25)
at com.zackratos.ultimatebarx.library.rom.BaseRom.navigationBarExist(BaseRom.kt:19)
at com.zackratos.ultimatebarx.library.UltimateBarXExposedKt.getNavigationBarHeight(UltimateBarXExposed.kt:26)
at com.zackratos.ultimatebarx.library.rom.MiuiRom.screenIndicatorOn(MiuiRom.kt:25)
at com.zackratos.ultimatebarx.library.rom.BaseRom.navigationBarExist(BaseRom.kt:19)
at com.zackratos.ultimatebarx.library.UltimateBarXExposedKt.getNavigationBarHeight(UltimateBarXExposed.kt:26)
at com.zackratos.ultimatebarx.library.rom.MiuiRom.screenIndicatorOn(MiuiRom.kt:25)
at com.zackratos.ultimatebarx.library.rom.BaseRom.navigationBarExist(BaseRom.kt:19)
at com.zackratos.ultimatebarx.library.UltimateBarXExposedKt.getNavigationBarHeight(UltimateBarXExposed.kt:26)
at com.zackratos.ultimatebarx.library.rom.MiuiRom.screenIndicatorOn(MiuiRom.kt:25)
at com.zackratos.ultimatebarx.library.rom.BaseRom.navigationBarExist(BaseRom.kt:19)
at com.zackratos.ultimatebarx.library.UltimateBarXExposedKt.getNavigationBarHeight(UltimateBarXExposed.kt:26)
at com.zackratos.ultimatebarx.library.rom.MiuiRom.screenIndicatorOn(MiuiRom.kt:25)
at com.zackratos.ultimatebarx.library.rom.BaseRom.navigationBarExist(BaseRom.kt:19)
at com.zackratos.ultimatebarx.library.UltimateBarXExposedKt.getNavigationBarHeight(UltimateBarXExposed.kt:26)
at com.zackratos.ultimatebarx.library.rom.MiuiRom.screenIndicatorOn(MiuiRom.kt:25)
at com.zackratos.ultimatebarx.library.rom.BaseRom.navigationBarExist(BaseRom.kt:19)
at com.zackratos.ultimatebarx.library.UltimateBarXExposedKt.getNavigationBarHeight(UltimateBarXExposed.kt:26)
at com.zackratos.ultimatebarx.library.rom.MiuiRom.screenIndicatorOn(MiuiRom.kt:25)
at com.zackratos.ultimatebarx.library.rom.BaseRom.navigationBarExist(BaseRom.kt:19)
at com.zackratos.ultimatebarx.library.core.UltimateBarXKt.updateNavigationBarView(UltimateBarX.kt:139)
at com.zackratos.ultimatebarx.library.core.UltimateBarXKt.updateNavigationBar(UltimateBarX.kt:69)
at com.zackratos.ultimatebarx.library.core.UltimateBarXKt.defaultNavigationBar(UltimateBarX.kt:105)
at com.zackratos.ultimatebarx.library.operator.ActivityOperator.applyStatusBar(ActivityOperator.kt:27)
at com.pionex.lite.BaseReactActivity.onCreate(BaseReactActivity.java:26)
at com.pionex.lite.MainActivity.onCreate(MainActivity.java:21)
at android.app.Activity.performCreate(Activity.java:7893)
2021-01-28 11:43:52.871 17441-17441/com.pionex.lite E/AndroidRuntime: at android.app.Activity.performCreate(Activity.java:7880)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1306)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3286)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3460)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:83)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2047)
at android.os.Handler.dispatchMessage(Handler.java:107)
at android.os.Looper.loop(Looper.java:224)
at android.app.ActivityThread.main(ActivityThread.java:7584)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:539)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:950)
UltimateBarX.with(this) .transparent() .light(true) .applyStatusBar()
这个配置下会导致状态栏透明,透明会导致软键盘的adjustResize无效,不用这个库的情况下状态栏透明后在根布局加上android:fitsSystemWindows="true"可以解决,但是用这个库加上也没用,请问如何解决这个问题。
RecyclerView中的EditText,点击后弹出软键盘,底栏会出现在软键盘之上。
但光标会在底栏的下方(也就是说依然是类似被软键盘遮挡的状态)。
或者说清除之前设置的view add另一个view
CoordinatorLayout+AppBarLayout+CollapsingToolbarLayout使用的时候,我有个自己的标题栏,还有个系统的Toolbar 我需要根据展开收缩显示不同的标题布局,现在动态调用addStatusBarTopPadding(view)两个标题栏高度一直在叠加
基类里面调用没有效果
class MainActivity : BaseActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.main_activity)
if (savedInstanceState == null) {
supportFragmentManager.beginTransaction()
.replace(R.id.fragmetn_container, MainFragment())
.commitNow()
}
}
}
open class BaseActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
initStatusBar()
}
protected fun initStatusBar() {
UltimateBarX.with(this)
.fitWindow(true)
// .color(Color.RED) // 状态栏背景颜色(色值)
.colorRes(R.color.main_theme_color) // 状态栏背景颜色(资源id)
// .drawableRes(R.mipmap.user_center_top_nav_bg)
// .light(false)
.applyStatusBar()
}
}
添加最新版本的时候报错,旧版本0.3.1没问题,搞不懂啊大佬
Gradle版本4.1.1
kotlin版本1.4.21
internal fun View.addStatusBarTopPadding() {
setPadding(paddingLeft, paddingTop + statusBarHeight, paddingRight, paddingBottom)
val lp = layoutParams
if (lp.height != ViewGroup.LayoutParams.MATCH_PARENT && lp.height != ViewGroup.LayoutParams.WRAP_CONTENT) {
lp.height += statusBarHeight
layoutParams = lp
return
}
post {
lp.height = height + statusBarHeight
layoutParams = lp
}
}
addStatusBarTopPadding这个方法if+post里执行的都一样,你想排除WRAP_CONTENT和MATCH_PARENT的情况不就失效了吗?目前我的布局height是WRAP_CONTENT,就多加了statusBarHeight。
问题描述:
当手机设置的手势操作时,无导航栏时 使用插件设置状态栏时导航栏 会默认突然显示出来 在屏幕最低下 是一块黑色区域
正常导航栏不应该显示占位 原来UltimateBar 没有这种问题
正常应该是有导航栏显示时 如果未设置 按系统默认处理 不用管 布局默认不侵入 导航栏 如果侵入会导致 APP菜单栏 与导航栏重叠
当无导航栏 手势操控时 设置状态栏 不应该影响导航栏
现在插件主要问题是 当手机没有导航栏时 设置状态栏 会出现导航栏 在底部一块黑色区域占位 很不友好 需要再次 设置导航栏透明才可以 但是当设置导航栏透明后 如果用户将导航栏放出 又会出现 布局入侵到导航栏 导航栏与APP底部菜单重叠问题
希望作者能处理下 非常感谢
UltimateBarX.create(UltimateBarX.STATUS_BAR)
.fitWindow(isLayoutInvade) // 布局是否侵入状态栏(true 不侵入,false 侵入)
.bgColorRes(defaultStatusBarColor) // 状态栏背景颜色(资源id)
.light(statueBarTextColor) // 文字颜色 //true 黑色 false 白色
.apply(context);
RT
我试了你的方法,跟我配置还是一样,导航栏始终无法透明,android 9/10/11 都是
感谢支持!
这两种场景用处还是比较多的
只为Activity指定不侵入状态栏,Fragment正常使用;为Activity指定不侵入状态栏,再单独指定某一个Fragment不侵入状态栏,其他Fragment全部变成侵入状态栏。
fragment升级到最新版本(1.3.3),根布局为LinearLayout,整个页面会变成空白的。
implementation 'com.zackratos.ultimatebarx:ultimatebarx:0.3.3'
ROM : MIUI 11
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home);
UltimateBarX.with(this).light(false).applyStatusBar();
...
}
crash了,fragment一般都是在onCreateView()中设置的,Google官方建议的初始化方法也是onCreate()或者onCreateView(),这个库只能在onCreateView()之后在fragment中使用?
java.lang.IllegalStateException: Fragment HomeFragment{19cbea8} (3ebf211b-78e4-4379-998a-34caeb0aa6fc id=0x7f0800d6 tag=HOME) did not return a View from onCreateView() or this was called before onCreateView().
at androidx.fragment.app.Fragment.requireView(Fragment.java:1964)
at com.zackratos.ultimatebarx.ultimatebarx.core.CoreKt.addFrameLayoutWrapper(Core.kt:172)
at com.zackratos.ultimatebarx.ultimatebarx.core.CoreKt.ultimateBarXInitialization(Core.kt:53)
at com.zackratos.ultimatebarx.ultimatebarx.OperatorKt.applyStatusBar(Operator.kt:44)
at com.zackratos.ultimatebarx.ultimatebarx.UltimateBarXKt.statusBar(UltimateBarX.kt:88)
at com.zackratos.ultimatebarx.ultimatebarx.UltimateBarXKt.statusBar(UltimateBarX.kt:23)
at com.redflag.baselib.ui.BaseFragment.setStatusBar(BaseFragment.kt:81)
at com.redflag.baselib.ui.BaseFragment.onCreateView(BaseFragment.kt:40)
navigationBar {
fitWindow = true
color = Color.WHITE
light = true
}
miui下小白条看不见了
添加一下 隐藏/显示 状态栏导航栏
DialogFragment中更改状态栏颜色图标颜色无效
红米K30,有DrawerLayout
override fun onDrawerSlide(drawerView: View, slideOffset: Float) { val bar_color = if (slideOffset == 0F) R.color.colorPrimary else R.color.color_system_drawer navigationBar { colorRes = bar_color } statusBar { colorRes = bar_color } }
监听DrawerLayout打开关闭更新bar颜色。
进入界面是竖屏,打开DrawerLayout,关闭DrawerLayout,切换横屏,打开DrawerLayout,发现设置的navigationbar颜色无效,statusbar有效
implementation 'com.zackratos.ultimatebarx:ultimatebarx:0.3.1'
implementation 'androidx.navigation:navigation-fragment-ktx:2.3.1'
implementation 'androidx.navigation:navigation-ui-ktx:2.3.1'
//activity的布局
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<fragment
android:id="@+id/host_fragment"
android:name="androidx.navigation.fragment.NavHostFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:defaultNavHost="true"
app:navGraph="@navigation/bug_navigation" />
</FrameLayout>
//navigation的布局
<navigation xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/mobile_navigation"
app:startDestination="@+id/bugFragment">
<fragment
android:id="@+id/bugFragment"
android:name="com.zackratos.ultimatebarx.sample.BugFragment"
tools:layout="@layout/fragment_image"/>
</navigation>
//Fragment代码
public class BugFragment extends Fragment {
public BugFragment() {
super(R.layout.fragment_image);
}
@Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
UltimateBarX.with(this)
.fitWindow(true)// 布局是否侵入状态栏(true 不侵入,false 侵入)
.color(Color.BLACK)
.applyStatusBar();
}
}
fragment的根布局非FrameLayout和RelativeLayout
//fragment的布局
<ImageView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/ivYurisa"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="centerCrop"/>
UltimateBarX.with(this)
.fitWindow(false)
.transparent()
.light(true)
.applyStatusBar();
在vivox7 Android5.1系统上用上面的配置底部出现黑色的区域
UltimateBarX.with(this)
.fitWindow(false)
.transparent()
.light(true)
.applyNavigationBar();
换成这个底部黑色区域没了,但是状态栏颜色跟没适配之前一样了
这是我使用的方式有问题吗
大佬,能不能把那个全屏的效果添加上啊,类似微信视频时,没有状态栏和导航栏的那种效果。
navigationBarHeight, oppo 使用手势导航栏隐藏时,也是有高度的
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.