diff --git a/.changeset/metal-bobcats-juggle.md b/.changeset/metal-bobcats-juggle.md new file mode 100644 index 00000000..e5fe3d6c --- /dev/null +++ b/.changeset/metal-bobcats-juggle.md @@ -0,0 +1,5 @@ +--- +'react-native-bottom-tabs': patch +--- + +fix: properly set background color on Android diff --git a/.changeset/two-socks-tie.md b/.changeset/two-socks-tie.md new file mode 100644 index 00000000..62fa89f1 --- /dev/null +++ b/.changeset/two-socks-tie.md @@ -0,0 +1,5 @@ +--- +'react-native-bottom-tabs': patch +--- + +fix: iOS crash on old architecture when setting font style diff --git a/packages/react-native-bottom-tabs/android/src/main/java/com/rcttabview/RCTTabView.kt b/packages/react-native-bottom-tabs/android/src/main/java/com/rcttabview/RCTTabView.kt index 6bf87658..0ab17711 100644 --- a/packages/react-native-bottom-tabs/android/src/main/java/com/rcttabview/RCTTabView.kt +++ b/packages/react-native-bottom-tabs/android/src/main/java/com/rcttabview/RCTTabView.kt @@ -1,8 +1,8 @@ package com.rcttabview import android.annotation.SuppressLint +import android.content.Context import android.content.res.ColorStateList -import android.graphics.Color import android.graphics.drawable.ColorDrawable import android.graphics.drawable.Drawable import android.os.Build @@ -20,14 +20,10 @@ import android.widget.LinearLayout import android.widget.TextView import androidx.core.view.children import androidx.core.view.forEachIndexed -import androidx.core.view.isGone -import androidx.core.view.isVisible -import androidx.viewpager2.widget.ViewPager2 import coil3.ImageLoader import coil3.asDrawable import coil3.request.ImageRequest import coil3.svg.SvgDecoder -import com.facebook.react.bridge.ReactContext import com.facebook.react.bridge.ReadableArray import com.facebook.react.common.assets.ReactFontManager import com.facebook.react.modules.core.ReactChoreographer @@ -38,8 +34,7 @@ import com.google.android.material.navigation.NavigationBarView.LABEL_VISIBILITY import com.google.android.material.navigation.NavigationBarView.LABEL_VISIBILITY_UNLABELED import com.google.android.material.transition.platform.MaterialFadeThrough -class ReactBottomNavigationView(context: ReactContext) : LinearLayout(context) { - private val reactContext: ReactContext = context +class ReactBottomNavigationView(context: Context) : LinearLayout(context) { private val bottomNavigation = BottomNavigationView(context) val layoutHolder = FrameLayout(context) @@ -335,11 +330,7 @@ class ReactBottomNavigationView(context: ReactContext) : LinearLayout(context) { val colorDrawable = ColorDrawable(backgroundColor) bottomNavigation.itemBackground = colorDrawable - backgroundTintList = ColorStateList.valueOf(backgroundColor) - // Set navigationBarColor for edge-to-edge. - if (Utils.isEdgeToEdge()) { - reactContext.currentActivity?.window?.navigationBarColor = backgroundColor - } + bottomNavigation.backgroundTintList = ColorStateList.valueOf(backgroundColor) } fun setActiveTintColor(color: Int?) { @@ -430,9 +421,6 @@ class ReactBottomNavigationView(context: ReactContext) : LinearLayout(context) { override fun onDetachedFromWindow() { super.onDetachedFromWindow() - if (Utils.isEdgeToEdge()) { - reactContext.currentActivity?.window?.navigationBarColor = Color.TRANSPARENT - } imageLoader.shutdown() } } diff --git a/packages/react-native-bottom-tabs/android/src/main/java/com/rcttabview/Utils.kt b/packages/react-native-bottom-tabs/android/src/main/java/com/rcttabview/Utils.kt index e7c9f4b5..52144e09 100644 --- a/packages/react-native-bottom-tabs/android/src/main/java/com/rcttabview/Utils.kt +++ b/packages/react-native-bottom-tabs/android/src/main/java/com/rcttabview/Utils.kt @@ -27,13 +27,5 @@ class Utils { ) return baseColor.defaultColor } - - // Detect `react-native-edge-to-edge` (https://github.com/zoontek/react-native-edge-to-edge) - fun isEdgeToEdge() = try { - Class.forName("com.zoontek.rnedgetoedge.EdgeToEdgePackage") - true - } catch (exception: ClassNotFoundException) { - false - } } }