Giter VIP home page Giter VIP logo

ultimatebarx's Issues

布局里BottomNavigationView FrameLayout或FragmentContainerView 点击item之后,item会拉伸变高

布局文件


<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)

状态栏透明的情况下adjustResize无效

UltimateBarX.with(this) .transparent() .light(true) .applyStatusBar()
这个配置下会导致状态栏透明,透明会导致软键盘的adjustResize无效,不用这个库的情况下状态栏透明后在根布局加上android:fitsSystemWindows="true"可以解决,但是用这个库加上也没用,请问如何解决这个问题。

adjustResize存在bug

RecyclerView中的EditText,点击后弹出软键盘,底栏会出现在软键盘之上。

但光标会在底栏的下方(也就是说依然是类似被软键盘遮挡的状态)。

addStatusBarTopPadding(view)无法动态设置吗?

或者说清除之前设置的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()
}

}

使用透明状态栏后问题

我是初学者,我仅在activity中使用 UltimateBarX.with(this)
.transparent()
.applyStatusBar()
后,发现toolbar(整体布局都)上移了
image
这样。
这是正常的
image

addStatusBarTopPadding高度问题

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);

不能导入library

你好,感谢你的开源代码。可是当我试着导入您的library时,我发现我找不到 关于 UltimateBarX 的相关代码。
"Rebuild Project" 后 我得到一下的问题。
请问可以帮帮我吗?谢谢你。

image

单Activity,多Fragment的情况下的问题

只为Activity指定不侵入状态栏,Fragment正常使用;为Activity指定不侵入状态栏,再单独指定某一个Fragment不侵入状态栏,其他Fragment全部变成侵入状态栏。

状态栏设置light模式不生效

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();

...
}

java.lang.IllegalStateException

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下小白条看不见了

设置navigationbar无效

红米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有效

navigation和fragment一起出现的bug

image

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();
换成这个底部黑色区域没了,但是状态栏颜色跟没适配之前一样了
这是我使用的方式有问题吗

底部导航栏重叠问题

当在全面屏模式下开启手势提示线时,导航栏会和布局重叠。
demo的效果如下:
AirPlay_Screenshot_2020-12-22_07-18-40
AirPlay_Screenshot_2020-12-22_07-17-28

机型:Redmi note 8 pro

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.