From f54fa9db4cfbb787bc1d970434a12bf2766956c3 Mon Sep 17 00:00:00 2001 From: vyshakhshanthi Date: Wed, 23 Jul 2025 21:10:07 +0530 Subject: [PATCH 1/2] - Added EmptyScreenFragment.kt to rollback if no bottom navs are included. --- .../com/example/app/EmptyScreenFragment.kt | 26 +++++++++++++++++++ .../main/java/com/example/app/MainActivity.kt | 7 +++++ app/src/main/res/values/strings.xml | 1 + 3 files changed, 34 insertions(+) create mode 100644 app/src/main/java/com/example/app/EmptyScreenFragment.kt diff --git a/app/src/main/java/com/example/app/EmptyScreenFragment.kt b/app/src/main/java/com/example/app/EmptyScreenFragment.kt new file mode 100644 index 0000000..6227ad7 --- /dev/null +++ b/app/src/main/java/com/example/app/EmptyScreenFragment.kt @@ -0,0 +1,26 @@ +package com.example.app + +import android.os.Bundle +import android.view.Gravity +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.TextView +import androidx.fragment.app.Fragment + +class EmptyScreenFragment : Fragment() { + override fun onCreateView( + inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle? + ): View { + return TextView(requireContext()).apply { + text = context.getString(R.string.no_bottom_navigation_defined) + gravity = Gravity.CENTER + textSize = 16f + setPadding(16, 16, 16, 16) + layoutParams = ViewGroup.LayoutParams( + ViewGroup.LayoutParams.MATCH_PARENT, + ViewGroup.LayoutParams.MATCH_PARENT + ) + } + } +} diff --git a/app/src/main/java/com/example/app/MainActivity.kt b/app/src/main/java/com/example/app/MainActivity.kt index 8df44a3..70c0227 100644 --- a/app/src/main/java/com/example/app/MainActivity.kt +++ b/app/src/main/java/com/example/app/MainActivity.kt @@ -40,6 +40,13 @@ class MainActivity : AppCompatActivity() { } } + private fun showEmptyScreen() { + val transaction = supportFragmentManager.beginTransaction() + val fragment = EmptyScreenFragment() + transaction.replace(R.id.fragment_container, fragment, "empty_screen") + transaction.commitNowAllowingStateLoss() + } + private fun setupBottomNavigation() { val sortedTabs = bottomNavEntries.sortedBy { it.bottomNavPosition() } binding.bottomNav.menu.clear() diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 38cb073..e0d2a5e 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1,3 +1,4 @@ Your App Name + No bottom navigation defined From 41574a0fa6c99858eadf44c0c57ac799e3f8bbdd Mon Sep 17 00:00:00 2001 From: vyshakhshanthi Date: Wed, 23 Jul 2025 21:22:51 +0530 Subject: [PATCH 2/2] - Added EmptyScreenFragment.kt to rollback if no bottom navs are included. --- app/src/main/java/com/example/app/EmptyScreenFragment.kt | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/example/app/EmptyScreenFragment.kt b/app/src/main/java/com/example/app/EmptyScreenFragment.kt index 6227ad7..ac00d98 100644 --- a/app/src/main/java/com/example/app/EmptyScreenFragment.kt +++ b/app/src/main/java/com/example/app/EmptyScreenFragment.kt @@ -10,7 +10,9 @@ import androidx.fragment.app.Fragment class EmptyScreenFragment : Fragment() { override fun onCreateView( - inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle? + inflater: LayoutInflater, + container: ViewGroup?, + savedInstanceState: Bundle?, ): View { return TextView(requireContext()).apply { text = context.getString(R.string.no_bottom_navigation_defined) @@ -19,7 +21,7 @@ class EmptyScreenFragment : Fragment() { setPadding(16, 16, 16, 16) layoutParams = ViewGroup.LayoutParams( ViewGroup.LayoutParams.MATCH_PARENT, - ViewGroup.LayoutParams.MATCH_PARENT + ViewGroup.LayoutParams.MATCH_PARENT, ) } }