diff --git a/app/src/main/java/me/ibrahimsn/smoothbottombar/New_KT_Test/Dashboard.kt b/app/src/main/java/me/ibrahimsn/smoothbottombar/New_KT_Test/Dashboard.kt new file mode 100644 index 0000000..e047afc --- /dev/null +++ b/app/src/main/java/me/ibrahimsn/smoothbottombar/New_KT_Test/Dashboard.kt @@ -0,0 +1,59 @@ +package com.example.myapplication + +import android.os.Bundle +import androidx.fragment.app.Fragment +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup + +// TODO: Rename parameter arguments, choose names that match +// the fragment initialization parameters, e.g. ARG_ITEM_NUMBER +private const val ARG_PARAM1 = "param1" +private const val ARG_PARAM2 = "param2" + +/** + * A simple [Fragment] subclass. + * Use the [Dashboard.newInstance] factory method to + * create an instance of this fragment. + */ +class Dashboard : Fragment() { + // TODO: Rename and change types of parameters + private var param1: String? = null + private var param2: String? = null + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + arguments?.let { + param1 = it.getString(ARG_PARAM1) + param2 = it.getString(ARG_PARAM2) + } + } + + override fun onCreateView( + inflater: LayoutInflater, container: ViewGroup?, + savedInstanceState: Bundle? + ): View? { + // Inflate the layout for this fragment + return inflater.inflate(R.layout.fragment_dashboard, container, false) + } + + companion object { + /** + * Use this factory method to create a new instance of + * this fragment using the provided parameters. + * + * @param param1 Parameter 1. + * @param param2 Parameter 2. + * @return A new instance of fragment Dashboard. + */ + // TODO: Rename and change types and number of parameters + @JvmStatic + fun newInstance(param1: String, param2: String) = + Dashboard().apply { + arguments = Bundle().apply { + putString(ARG_PARAM1, param1) + putString(ARG_PARAM2, param2) + } + } + } +} \ No newline at end of file diff --git a/app/src/main/java/me/ibrahimsn/smoothbottombar/New_KT_Test/Leaderboard.kt b/app/src/main/java/me/ibrahimsn/smoothbottombar/New_KT_Test/Leaderboard.kt new file mode 100644 index 0000000..ad7af66 --- /dev/null +++ b/app/src/main/java/me/ibrahimsn/smoothbottombar/New_KT_Test/Leaderboard.kt @@ -0,0 +1,59 @@ +package com.example.myapplication + +import android.os.Bundle +import androidx.fragment.app.Fragment +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup + +// TODO: Rename parameter arguments, choose names that match +// the fragment initialization parameters, e.g. ARG_ITEM_NUMBER +private const val ARG_PARAM1 = "param1" +private const val ARG_PARAM2 = "param2" + +/** + * A simple [Fragment] subclass. + * Use the [Leaderboard.newInstance] factory method to + * create an instance of this fragment. + */ +class Leaderboard : Fragment() { + // TODO: Rename and change types of parameters + private var param1: String? = null + private var param2: String? = null + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + arguments?.let { + param1 = it.getString(ARG_PARAM1) + param2 = it.getString(ARG_PARAM2) + } + } + + override fun onCreateView( + inflater: LayoutInflater, container: ViewGroup?, + savedInstanceState: Bundle? + ): View? { + // Inflate the layout for this fragment + return inflater.inflate(R.layout.fragment_leaderboard, container, false) + } + + companion object { + /** + * Use this factory method to create a new instance of + * this fragment using the provided parameters. + * + * @param param1 Parameter 1. + * @param param2 Parameter 2. + * @return A new instance of fragment Leaderboard. + */ + // TODO: Rename and change types and number of parameters + @JvmStatic + fun newInstance(param1: String, param2: String) = + Leaderboard().apply { + arguments = Bundle().apply { + putString(ARG_PARAM1, param1) + putString(ARG_PARAM2, param2) + } + } + } +} \ No newline at end of file diff --git a/app/src/main/java/me/ibrahimsn/smoothbottombar/New_KT_Test/MainActivity.kt b/app/src/main/java/me/ibrahimsn/smoothbottombar/New_KT_Test/MainActivity.kt new file mode 100644 index 0000000..4b5355d --- /dev/null +++ b/app/src/main/java/me/ibrahimsn/smoothbottombar/New_KT_Test/MainActivity.kt @@ -0,0 +1,56 @@ +package com.example.myapplication + +import android.app.Activity +import android.content.Intent +import android.os.Bundle +import android.widget.Button +import android.widget.EditText +import android.widget.TextView +import androidx.activity.enableEdgeToEdge +import androidx.appcompat.app.AppCompatActivity +import androidx.core.view.ViewCompat +import androidx.core.view.WindowInsetsCompat +import androidx.fragment.app.Fragment +import com.google.android.material.bottomnavigation.BottomNavigationView + +class MainActivity : AppCompatActivity() { + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + enableEdgeToEdge() + setContentView(R.layout.activity_main) + ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main)) { v, insets -> + val systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars()) + v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom) + insets + } + val bottom = findViewById(R.id.bottombar) + bottom.setOnItemSelectedListener { menuItem -> + when(menuItem.itemId){ + R.id.item0->{ + replaceFragment(Dashboard()) + true + } + R.id.item1->{ + replaceFragment(Leaderboard()) + true + } + R.id.item2->{ + replaceFragment(Store()) + true + } + R.id.item3->{ + replaceFragment(Profile()) + true + } + else -> false + } + } + } + private fun replaceFragment(fragment: Fragment){ + var manager = supportFragmentManager //supportFragmentManager + var tr = manager.beginTransaction() //beginTransaction //By default BlankFragment will be shown + tr.replace(R.id.frameLayout1,Fragment()) //replace + tr.addToBackStack(null) //add to back stack for back button + tr.commit() + } +} \ No newline at end of file diff --git a/app/src/main/java/me/ibrahimsn/smoothbottombar/New_KT_Test/Profile.kt b/app/src/main/java/me/ibrahimsn/smoothbottombar/New_KT_Test/Profile.kt new file mode 100644 index 0000000..894d90a --- /dev/null +++ b/app/src/main/java/me/ibrahimsn/smoothbottombar/New_KT_Test/Profile.kt @@ -0,0 +1,59 @@ +package com.example.myapplication + +import android.os.Bundle +import androidx.fragment.app.Fragment +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup + +// TODO: Rename parameter arguments, choose names that match +// the fragment initialization parameters, e.g. ARG_ITEM_NUMBER +private const val ARG_PARAM1 = "param1" +private const val ARG_PARAM2 = "param2" + +/** + * A simple [Fragment] subclass. + * Use the [Profile.newInstance] factory method to + * create an instance of this fragment. + */ +class Profile : Fragment() { + // TODO: Rename and change types of parameters + private var param1: String? = null + private var param2: String? = null + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + arguments?.let { + param1 = it.getString(ARG_PARAM1) + param2 = it.getString(ARG_PARAM2) + } + } + + override fun onCreateView( + inflater: LayoutInflater, container: ViewGroup?, + savedInstanceState: Bundle? + ): View? { + // Inflate the layout for this fragment + return inflater.inflate(R.layout.fragment_profile, container, false) + } + + companion object { + /** + * Use this factory method to create a new instance of + * this fragment using the provided parameters. + * + * @param param1 Parameter 1. + * @param param2 Parameter 2. + * @return A new instance of fragment Profile. + */ + // TODO: Rename and change types and number of parameters + @JvmStatic + fun newInstance(param1: String, param2: String) = + Profile().apply { + arguments = Bundle().apply { + putString(ARG_PARAM1, param1) + putString(ARG_PARAM2, param2) + } + } + } +} \ No newline at end of file diff --git a/app/src/main/java/me/ibrahimsn/smoothbottombar/New_KT_Test/Store.kt b/app/src/main/java/me/ibrahimsn/smoothbottombar/New_KT_Test/Store.kt new file mode 100644 index 0000000..3fa2f7b --- /dev/null +++ b/app/src/main/java/me/ibrahimsn/smoothbottombar/New_KT_Test/Store.kt @@ -0,0 +1,59 @@ +package com.example.myapplication + +import android.os.Bundle +import androidx.fragment.app.Fragment +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup + +// TODO: Rename parameter arguments, choose names that match +// the fragment initialization parameters, e.g. ARG_ITEM_NUMBER +private const val ARG_PARAM1 = "param1" +private const val ARG_PARAM2 = "param2" + +/** + * A simple [Fragment] subclass. + * Use the [Store.newInstance] factory method to + * create an instance of this fragment. + */ +class Store : Fragment() { + // TODO: Rename and change types of parameters + private var param1: String? = null + private var param2: String? = null + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + arguments?.let { + param1 = it.getString(ARG_PARAM1) + param2 = it.getString(ARG_PARAM2) + } + } + + override fun onCreateView( + inflater: LayoutInflater, container: ViewGroup?, + savedInstanceState: Bundle? + ): View? { + // Inflate the layout for this fragment + return inflater.inflate(R.layout.fragment_store, container, false) + } + + companion object { + /** + * Use this factory method to create a new instance of + * this fragment using the provided parameters. + * + * @param param1 Parameter 1. + * @param param2 Parameter 2. + * @return A new instance of fragment Store. + */ + // TODO: Rename and change types and number of parameters + @JvmStatic + fun newInstance(param1: String, param2: String) = + Store().apply { + arguments = Bundle().apply { + putString(ARG_PARAM1, param1) + putString(ARG_PARAM2, param2) + } + } + } +} \ No newline at end of file diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 8d462bc..30c9aec 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Fri Apr 10 16:03:05 EET 2020 +#Sat Apr 26 13:35:35 IST 2025 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-6.5-bin.zip