Skip to content

Commit 504bfa1

Browse files
committed
Bottom navigation view added
1 parent 8acffdd commit 504bfa1

File tree

10 files changed

+77
-3
lines changed

10 files changed

+77
-3
lines changed

app/src/main/java/ru/bis/basearchitectureexample/ui/MainActivity.kt

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
package ru.bis.basearchitectureexample.ui
22

33
import androidx.navigation.findNavController
4+
import androidx.navigation.ui.NavigationUI
5+
import com.google.android.material.bottomnavigation.BottomNavigationView
46
import ru.bis.basearchitectureexample.R
57
import ru.bis.example1.ui.fragments.NavActions
68
import ru.sir.presentation.base.BaseActivity
@@ -10,9 +12,14 @@ class MainActivity : BaseActivity() {
1012
override val layoutId: Int = R.layout.activity_main
1113
override fun getNavController() = findNavController(R.id.navHostFragment)
1214

15+
override fun onActivityCreated() {
16+
val bottomNavigation: BottomNavigationView = findViewById(R.id.navigationView)
17+
NavigationUI.setupWithNavController(bottomNavigation, navigator)
18+
}
19+
1320
override fun navigateTo(action: UiAction) {
1421
when(action.id) {
1522
NavActions.OPEN_EXAMPLE_2 -> { navigator.navigate(R.id.example2) }
1623
}
1724
}
18-
}
25+
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<selector xmlns:android="http://schemas.android.com/apk/res/android">
3+
4+
<item
5+
android:color="@android:color/darker_gray"
6+
android:state_checked="false"/>
7+
<item
8+
android:color="@android:color/white"
9+
android:state_checked="true"/>
10+
11+
</selector>
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
<vector xmlns:android="http://schemas.android.com/apk/res/android"
2+
android:width="24dp"
3+
android:height="24dp"
4+
android:viewportWidth="24"
5+
android:viewportHeight="24"
6+
android:tint="?attr/colorControlNormal">
7+
<path
8+
android:fillColor="@android:color/white"
9+
android:pathData="M19,3L5,3c-1.1,0 -2,0.9 -2,2v14c0,1.1 0.9,2 2,2h14c1.1,0 2,-0.9 2,-2L21,5c0,-1.1 -0.9,-2 -2,-2zM14,17L7,17v-2h7v2zM17,13L7,13v-2h10v2zM17,9L7,9L7,7h10v2z"/>
10+
</vector>
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
<vector xmlns:android="http://schemas.android.com/apk/res/android"
2+
android:width="24dp"
3+
android:height="24dp"
4+
android:viewportWidth="24"
5+
android:viewportHeight="24"
6+
android:tint="?attr/colorControlNormal">
7+
<path
8+
android:fillColor="@android:color/white"
9+
android:pathData="M12,2L4.5,20.29l0.71,0.71L12,18l6.79,3 0.71,-0.71z"/>
10+
</vector>

app/src/main/res/layout/activity_main.xml

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,21 @@
1414
app:layout_constraintLeft_toLeftOf="parent"
1515
app:layout_constraintRight_toRightOf="parent"
1616
app:layout_constraintTop_toTopOf="parent"
17-
app:layout_constraintBottom_toBottomOf="parent"
17+
app:layout_constraintBottom_toTopOf="@id/navigationView"
1818
app:defaultNavHost="true"
1919
app:navGraph="@navigation/main_graph"/>
2020

21+
<com.google.android.material.bottomnavigation.BottomNavigationView
22+
android:id="@+id/navigationView"
23+
android:layout_width="match_parent"
24+
android:layout_height="wrap_content"
25+
android:layout_alignParentBottom="true"
26+
android:background="@color/colorPrimary"
27+
app:itemIconTint="@color/selector_menu_item"
28+
app:itemTextColor="@color/selector_menu_item"
29+
app:layout_constraintBottom_toBottomOf="parent"
30+
app:layout_constraintStart_toStartOf="parent"
31+
app:layout_constraintEnd_toEndOf="parent"
32+
app:menu="@menu/menu_bottom_navigation" />
33+
2134
</androidx.constraintlayout.widget.ConstraintLayout>
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<menu xmlns:android="http://schemas.android.com/apk/res/android">
3+
<item
4+
android:id="@+id/example1"
5+
android:icon="@android:drawable/ic_dialog_dialer"
6+
android:title="Main"/>
7+
<item
8+
android:id="@+id/recyclerViewExample"
9+
android:icon="@drawable/ic_baseline_article"
10+
android:title="RecyclerView" />
11+
<item
12+
android:id="@+id/action_navigation"
13+
android:icon="@drawable/ic_baseline_navigation"
14+
android:title="Navigation" />
15+
</menu>

app/src/main/res/navigation/main_graph.xml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,4 +11,8 @@
1111
android:id="@+id/example2"
1212
android:name="ru.bis.example2.ui.fragments.Example2"
1313
android:label="Example2" />
14+
<fragment
15+
android:id="@+id/recyclerViewExample"
16+
android:name="ru.sir.recycler_view_example.ui.RecyclerViewExample"
17+
android:label="RecyclerViewExample" />
1418
</navigation>

deps/deps_versions.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ ext {
1717
speedViewVersion = '1.5.3'
1818
materialVersion = '1.2.0'
1919
simpleRatingBarVersion = '1.5.0'
20-
bottomNavigationViewExVersion = '1.2.4'
20+
bottomNavigationViewExVersion = '2.0.4'
2121
circleImageViewVersion = '3.1.0'
2222
mpAndroidChartVersion = 'v3.1.0'
2323
lifecycleVersion = '1.1.0'

entities/presentation/src/main/java/ru/sir/presentation/base/BaseActivity.kt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package ru.sir.presentation.base
22

33
import android.os.Bundle
4+
import android.view.View
45
import androidx.appcompat.app.AppCompatActivity
56
import androidx.navigation.NavController
67
import ru.sir.presentation.navigation.UiAction
@@ -11,6 +12,7 @@ abstract class BaseActivity : AppCompatActivity() {
1112

1213
abstract fun getNavController(): NavController
1314
abstract fun navigateTo(action: UiAction)
15+
protected open fun onActivityCreated() = Unit
1416

1517
fun navigateTo(action: String, bundle: Bundle? = null) {
1618
navigateTo(UiAction(action, bundle))
@@ -21,5 +23,6 @@ abstract class BaseActivity : AppCompatActivity() {
2123
setContentView(layoutId)
2224

2325
navigator = getNavController()
26+
onActivityCreated()
2427
}
2528
}

features/recycler_view_example/src/main/res/layout/fragment_recycler_view_example.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
android:id="@+id/rvExample"
1818
android:layout_height="0dp"
1919
android:layout_width="match_parent"
20+
android:padding="30dp"
2021
app:layout_constraintTop_toTopOf="parent"
2122
app:layout_constraintBottom_toBottomOf="parent"
2223
app:layout_constraintStart_toStartOf="parent"

0 commit comments

Comments
 (0)