aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClyhtsuriva <aimeric@adjutor.xyz>2021-05-31 15:15:39 +0200
committerClyhtsuriva <aimeric@adjutor.xyz>2021-05-31 15:15:39 +0200
commitfc2156374611421c242ff7d65315f52fe57ceecf (patch)
treebbc122054ed71e1032dfbc2e022f202cae28e0c2
parenteea218eda48b3a35a4940d2525b8b7a9fa316ee7 (diff)
Adding the base of bottom navigation.
Also changing the the prev and next button for top manga
-rw-r--r--app/build.gradle3
-rw-r--r--app/src/main/java/xyz/adjutor/aniki/presentation/view/activity/MainActivity.kt30
-rw-r--r--app/src/main/java/xyz/adjutor/aniki/presentation/view/fragment/TopMangaFragment.kt5
-rw-r--r--app/src/main/res/drawable/ic_home_black_24dp.xml9
-rw-r--r--app/src/main/res/layout/activity_main.xml32
-rw-r--r--app/src/main/res/layout/content_main.xml2
-rw-r--r--app/src/main/res/layout/top_manga_page.xml16
-rw-r--r--app/src/main/res/menu/bottom_nav_menu.xml19
-rw-r--r--app/src/main/res/navigation/mobile_navigation.xml25
-rw-r--r--app/src/main/res/values/strings.xml8
10 files changed, 126 insertions, 23 deletions
diff --git a/app/build.gradle b/app/build.gradle
index 8a48d02..4d56e32 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -30,6 +30,9 @@ android {
kotlinOptions {
jvmTarget = '1.8'
}
+ buildFeatures {
+ viewBinding true
+ }
}
dependencies {
diff --git a/app/src/main/java/xyz/adjutor/aniki/presentation/view/activity/MainActivity.kt b/app/src/main/java/xyz/adjutor/aniki/presentation/view/activity/MainActivity.kt
index 3a50028..4a3b08b 100644
--- a/app/src/main/java/xyz/adjutor/aniki/presentation/view/activity/MainActivity.kt
+++ b/app/src/main/java/xyz/adjutor/aniki/presentation/view/activity/MainActivity.kt
@@ -2,14 +2,42 @@ package xyz.adjutor.aniki.presentation.view.activity
import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
+import androidx.navigation.NavController
+import androidx.navigation.fragment.NavHostFragment
+import androidx.navigation.ui.AppBarConfiguration
+import androidx.navigation.ui.setupActionBarWithNavController
+import androidx.navigation.ui.setupWithNavController
+import com.google.android.material.bottomnavigation.BottomNavigationView
import xyz.adjutor.aniki.R
+import xyz.adjutor.aniki.databinding.ActivityMainBinding
+
class MainActivity : AppCompatActivity() {
+ private lateinit var binding: ActivityMainBinding
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
- setContentView(R.layout.activity_main)
+
+ binding = ActivityMainBinding.inflate(layoutInflater)
+ setContentView(binding.root)
+
+ val navView: BottomNavigationView = binding.navView
+
+ val navHostFragment =
+ supportFragmentManager.findFragmentById(R.id.nav_host_fragment_activity_main) as NavHostFragment
+ val navController: NavController = navHostFragment.navController
+ // Passing each menu ID as a set of Ids because each
+ // menu should be considered as top level destinations.
+ val appBarConfiguration = AppBarConfiguration(
+ setOf(
+ R.id.navigation_home, R.id.navigation_manga, R.id.navigation_anime
+ )
+ )
setSupportActionBar(findViewById(R.id.toolbar))
+ setupActionBarWithNavController(navController, appBarConfiguration)
+ navView.setupWithNavController(navController)
+
+
}
} \ No newline at end of file
diff --git a/app/src/main/java/xyz/adjutor/aniki/presentation/view/fragment/TopMangaFragment.kt b/app/src/main/java/xyz/adjutor/aniki/presentation/view/fragment/TopMangaFragment.kt
index 7821e50..eb76e86 100644
--- a/app/src/main/java/xyz/adjutor/aniki/presentation/view/fragment/TopMangaFragment.kt
+++ b/app/src/main/java/xyz/adjutor/aniki/presentation/view/fragment/TopMangaFragment.kt
@@ -6,7 +6,6 @@ import android.view.View
import android.view.ViewGroup
import android.widget.Button
import androidx.fragment.app.Fragment
-import androidx.navigation.fragment.findNavController
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout
@@ -38,10 +37,6 @@ class TopMangaFragment : Fragment() {
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
- //button to return to the home page
- view.findViewById<Button>(R.id.button_home).setOnClickListener {
- findNavController().navigate(R.id.action_TopMangaPage_to_HomePage)
- }
view.findViewById<Button>(R.id.button_prev).setOnClickListener {
controller.onButtonPrevClick()
}
diff --git a/app/src/main/res/drawable/ic_home_black_24dp.xml b/app/src/main/res/drawable/ic_home_black_24dp.xml
new file mode 100644
index 0000000..f8bb0b5
--- /dev/null
+++ b/app/src/main/res/drawable/ic_home_black_24dp.xml
@@ -0,0 +1,9 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:width="24dp"
+ android:height="24dp"
+ android:viewportWidth="24.0"
+ android:viewportHeight="24.0">
+ <path
+ android:fillColor="#FF000000"
+ android:pathData="M10,20v-6h4v6h5v-8h3L12,3 2,12h3v8z" />
+</vector>
diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml
index dc71220..9c34ba0 100644
--- a/app/src/main/res/layout/activity_main.xml
+++ b/app/src/main/res/layout/activity_main.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<androidx.constraintlayout.widget.ConstraintLayout 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:layout_width="match_parent"
@@ -9,6 +9,8 @@
<com.google.android.material.appbar.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
android:theme="@style/Theme.Aniki.AppBarOverlay">
<androidx.appcompat.widget.Toolbar
@@ -20,6 +22,30 @@
</com.google.android.material.appbar.AppBarLayout>
- <include layout="@layout/content_main" />
+ <com.google.android.material.bottomnavigation.BottomNavigationView
+ android:id="@+id/nav_view"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_marginStart="0dp"
+ android:layout_marginEnd="0dp"
+ android:background="?android:attr/windowBackground"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintLeft_toLeftOf="parent"
+ app:layout_constraintRight_toRightOf="parent"
+ app:menu="@menu/bottom_nav_menu" />
+
+ <androidx.fragment.app.FragmentContainerView
+ android:id="@+id/nav_host_fragment_activity_main"
+ android:name="androidx.navigation.fragment.NavHostFragment"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ app:defaultNavHost="true"
+ app:layout_constraintBottom_toTopOf="@id/nav_view"
+ app:layout_constraintLeft_toLeftOf="parent"
+ app:layout_constraintRight_toRightOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:navGraph="@navigation/mobile_navigation" />
+
+ <!--include layout="@layout/content_main" /-->
-</androidx.coordinatorlayout.widget.CoordinatorLayout> \ No newline at end of file
+</androidx.constraintlayout.widget.ConstraintLayout> \ No newline at end of file
diff --git a/app/src/main/res/layout/content_main.xml b/app/src/main/res/layout/content_main.xml
index c4e7db6..f4c4e46 100644
--- a/app/src/main/res/layout/content_main.xml
+++ b/app/src/main/res/layout/content_main.xml
@@ -5,7 +5,7 @@
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior">
- <fragment
+ <androidx.fragment.app.FragmentContainerView
android:id="@+id/nav_host_fragment"
android:name="androidx.navigation.fragment.NavHostFragment"
android:layout_width="0dp"
diff --git a/app/src/main/res/layout/top_manga_page.xml b/app/src/main/res/layout/top_manga_page.xml
index b9b3182..cde56c7 100644
--- a/app/src/main/res/layout/top_manga_page.xml
+++ b/app/src/main/res/layout/top_manga_page.xml
@@ -8,6 +8,7 @@
tools:context=".presentation.view.fragment.TopMangaFragment">
<androidx.swiperefreshlayout.widget.SwipeRefreshLayout
+ android:paddingVertical="50dp"
android:id="@+id/swiperefresh"
android:layout_width="match_parent"
android:layout_height="match_parent">
@@ -30,16 +31,8 @@
android:layout_height="wrap_content"
android:text="@string/prev"
app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintEnd_toStartOf="@id/button_home" />
-
- <Button
- android:id="@+id/button_home"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="@string/home"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintStart_toStartOf="parent" />
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent" />
<Button
android:id="@+id/button_next"
@@ -47,6 +40,7 @@
android:layout_height="wrap_content"
android:text="@string/next"
app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintStart_toEndOf="@id/button_home" />
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout> \ No newline at end of file
diff --git a/app/src/main/res/menu/bottom_nav_menu.xml b/app/src/main/res/menu/bottom_nav_menu.xml
new file mode 100644
index 0000000..0ea00a0
--- /dev/null
+++ b/app/src/main/res/menu/bottom_nav_menu.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<menu xmlns:android="http://schemas.android.com/apk/res/android">
+
+ <item
+ android:id="@+id/navigation_manga"
+ android:icon="@drawable/ic_home_black_24dp"
+ android:title="@string/title_manga" />
+
+ <item
+ android:id="@+id/navigation_home"
+ android:icon="@drawable/ic_home_black_24dp"
+ android:title="@string/title_home" />
+
+ <item
+ android:id="@+id/navigation_anime"
+ android:icon="@drawable/ic_home_black_24dp"
+ android:title="@string/title_anime" />
+
+</menu> \ No newline at end of file
diff --git a/app/src/main/res/navigation/mobile_navigation.xml b/app/src/main/res/navigation/mobile_navigation.xml
new file mode 100644
index 0000000..8d197c0
--- /dev/null
+++ b/app/src/main/res/navigation/mobile_navigation.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?>
+<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/navigation_home">
+
+ <fragment
+ android:id="@+id/navigation_manga"
+ android:name="xyz.adjutor.aniki.presentation.view.fragment.TopMangaFragment"
+ android:label="@string/title_manga"
+ tools:layout="@layout/top_manga_page" />
+
+ <fragment
+ android:id="@+id/navigation_home"
+ android:name="xyz.adjutor.aniki.presentation.view.fragment.HomePage"
+ android:label="@string/title_home"
+ tools:layout="@layout/home_page" />
+
+ <fragment
+ android:id="@+id/navigation_anime"
+ android:name="xyz.adjutor.aniki.presentation.view.fragment.TopAnimeFragment"
+ android:label="@string/title_anime"
+ tools:layout="@layout/top_anime_page" />
+</navigation> \ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 861a440..c998872 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -42,7 +42,11 @@
<string name="search_anime">Search Anime</string>
<string name="search_anime_page_label">Search Anime Page</string>
<string name="hint_query">Your query …</string>
- <string name="prev">PREV</string>
- <string name="next">NEXT</string>
+ <string name="prev">&lt;</string>
+ <string name="next">&gt;</string>
+
+ <string name="title_home">Home</string>
+ <string name="title_manga">Manga</string>
+ <string name="title_anime">Anime</string>
</resources> \ No newline at end of file