Skip to content

Commit 14746ff

Browse files
Move toolbar to activity
1 parent f854ad4 commit 14746ff

File tree

9 files changed

+58
-57
lines changed

9 files changed

+58
-57
lines changed

app/build.gradle.kts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ dependencies {
4040
implementation("androidx.constraintlayout:constraintlayout:1.1.3")
4141
implementation("androidx.lifecycle:lifecycle-runtime-ktx:2.2.0")
4242
implementation("androidx.recyclerview:recyclerview:1.1.0")
43+
implementation("androidx.navigation:navigation-runtime-ktx:2.3.0")
4344
implementation("androidx.navigation:navigation-fragment-ktx:2.3.0")
4445
implementation("androidx.navigation:navigation-ui-ktx:2.3.0")
4546
implementation("com.google.android.material:material:1.3.0-alpha01")

app/src/main/java/guide/graphql/toc/MainActivity.kt

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,14 @@ import android.os.Bundle
44
import androidx.appcompat.app.AppCompatActivity
55
import androidx.navigation.NavController
66
import androidx.navigation.findNavController
7+
import androidx.navigation.ui.AppBarConfiguration
8+
import androidx.navigation.ui.NavigationUI
9+
import guide.graphql.toc.databinding.ActivityMainBinding
710

811
class MainActivity : AppCompatActivity() {
912

13+
private lateinit var binding: ActivityMainBinding
14+
1015
private val navigationListener = NavController.OnDestinationChangedListener { controller, destination, arguments ->
1116
if (destination.id == R.id.chapters_fragment) {
1217
this.setTitle(R.string.app_name)
@@ -15,8 +20,17 @@ class MainActivity : AppCompatActivity() {
1520

1621
override fun onCreate(savedInstanceState: Bundle?) {
1722
super.onCreate(savedInstanceState)
23+
binding = ActivityMainBinding.inflate(layoutInflater)
24+
val view = binding.root
25+
setContentView(view)
26+
27+
setSupportActionBar(binding.toolbar)
28+
NavigationUI.setupActionBarWithNavController(this, findNavController(R.id.nav_host_fragment))
29+
30+
}
1831

19-
setContentView(R.layout.activity_main)
32+
override fun onSupportNavigateUp(): Boolean {
33+
return findNavController(R.id.nav_host_fragment).navigateUp() || super.onSupportNavigateUp()
2034
}
2135

2236
override fun onResume() {

app/src/main/java/guide/graphql/toc/Resource.kt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package guide.graphql.toc
22

33
//https://github.com/android/architecture-components-samples/blob/master/GithubBrowserSample/app/src/main/java/com/android/example/github/vo/Resource.kt
4-
54
data class Resource<out T>(val status: Status, val data: T?, val message: String?) {
65
companion object {
76
fun <T> success(data: T?): Resource<T> {

app/src/main/java/guide/graphql/toc/ui/chapters/ChaptersFragment.kt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,7 @@ class ChaptersFragment : Fragment() {
4141
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
4242
super.onViewCreated(view, savedInstanceState)
4343

44-
(requireActivity() as AppCompatActivity).setSupportActionBar(binding.bookHeader)
45-
44+
requireActivity()
4645
val adapter =
4746
ChaptersAdapter(
4847
listOf(),

app/src/main/java/guide/graphql/toc/ui/sections/SectionsFragment.kt

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -46,21 +46,21 @@ class SectionsFragment : Fragment() {
4646

4747
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
4848
super.onViewCreated(view, savedInstanceState)
49-
val activity = (requireActivity() as AppCompatActivity)
50-
activity.setSupportActionBar(binding.chapterHeader)
51-
activity.supportActionBar?.setDisplayHomeAsUpEnabled(true)
52-
53-
binding.chapterHeader.setNavigationOnClickListener {
54-
findNavController().navigateUp()
55-
}
56-
57-
binding.chapterHeader.setNavigationIcon(R.drawable.ic_baseline_arrow_back_24)
58-
activity.title =
59-
if (args.chapterNumber == -1) args.chapterTitle else getString(
60-
R.string.chapter_title,
61-
args.chapterNumber.toString(),
62-
args.chapterTitle
63-
)
49+
// val activity = (requireActivity() as AppCompatActivity)
50+
// activity.setSupportActionBar(binding.chapterHeader)
51+
// activity.supportActionBar?.setDisplayHomeAsUpEnabled(true)
52+
//
53+
// binding.chapterHeader.setNavigationOnClickListener {
54+
// findNavController().navigateUp()
55+
// }
56+
//
57+
// binding.chapterHeader.setNavigationIcon(R.drawable.ic_baseline_arrow_back_24)
58+
// activity.title =
59+
// if (args.chapterNumber == -1) args.chapterTitle else getString(
60+
// R.string.chapter_title,
61+
// args.chapterNumber.toString(),
62+
// args.chapterTitle
63+
// )
6464

6565
val adapter =
6666
SectionsAdapter(
Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,36 @@
11
<?xml version="1.0" encoding="utf-8"?>
2-
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
2+
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
33
xmlns:app="http://schemas.android.com/apk/res-auto"
44
xmlns:tools="http://schemas.android.com/tools"
55
android:id="@+id/main_frame_layout"
66
android:layout_width="match_parent"
77
android:layout_height="match_parent"
88
tools:context=".MainActivity">
99

10-
<androidx.fragment.app.FragmentContainerView
10+
<com.google.android.material.appbar.AppBarLayout
11+
android:id="@+id/app_bar_layout"
12+
android:layout_width="match_parent"
13+
android:layout_height="wrap_content"
14+
android:background="@color/colorPrimary"
15+
app:layout_constraintEnd_toEndOf="parent"
16+
app:layout_constraintStart_toStartOf="parent"
17+
app:layout_constraintTop_toTopOf="parent">
18+
19+
<androidx.appcompat.widget.Toolbar
20+
android:id="@+id/toolbar"
21+
android:layout_width="match_parent"
22+
android:layout_height="?attr/actionBarSize"
23+
android:theme="@style/AppTheme.Toolbar"/>
24+
</com.google.android.material.appbar.AppBarLayout>
25+
26+
27+
<fragment
1128
android:id="@+id/nav_host_fragment"
29+
app:layout_behavior="com.google.android.material.appbar.AppBarLayout$ScrollingViewBehavior"
1230
android:name="androidx.navigation.fragment.NavHostFragment"
1331
android:layout_width="match_parent"
1432
android:layout_height="match_parent"
1533
app:defaultNavHost="true"
1634
app:navGraph="@navigation/main" />
1735

18-
</FrameLayout>
36+
</androidx.coordinatorlayout.widget.CoordinatorLayout>

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

Lines changed: 1 addition & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -4,29 +4,13 @@
44
android:layout_width="match_parent"
55
android:layout_height="match_parent">
66

7-
<com.google.android.material.appbar.AppBarLayout
8-
android:id="@+id/book_header_appbar"
9-
android:layout_width="match_parent"
10-
android:layout_height="wrap_content"
11-
android:background="@color/colorPrimary"
12-
app:layout_constraintEnd_toEndOf="parent"
13-
app:layout_constraintStart_toStartOf="parent"
14-
app:layout_constraintTop_toTopOf="parent">
15-
16-
<androidx.appcompat.widget.Toolbar
17-
android:id="@+id/book_header"
18-
android:layout_width="match_parent"
19-
android:layout_height="?attr/actionBarSize"
20-
app:titleTextColor="?attr/colorOnPrimary" />
21-
</com.google.android.material.appbar.AppBarLayout>
22-
237
<androidx.recyclerview.widget.RecyclerView
248
android:id="@+id/chapters"
259
android:layout_width="0dp"
2610
android:layout_height="0dp"
2711
app:layout_constraintBottom_toBottomOf="parent"
2812
app:layout_constraintEnd_toEndOf="parent"
2913
app:layout_constraintStart_toStartOf="parent"
30-
app:layout_constraintTop_toBottomOf="@+id/book_header_appbar" />
14+
app:layout_constraintTop_toTopOf="parent" />
3115

3216
</androidx.constraintlayout.widget.ConstraintLayout>

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

Lines changed: 1 addition & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -5,31 +5,14 @@
55
android:layout_height="match_parent"
66
android:orientation="vertical">
77

8-
<com.google.android.material.appbar.AppBarLayout
9-
android:id="@+id/chapter_header_appbar"
10-
android:layout_width="match_parent"
11-
android:layout_height="wrap_content"
12-
android:background="@color/colorPrimary"
13-
app:layout_constraintEnd_toEndOf="parent"
14-
app:layout_constraintStart_toStartOf="parent"
15-
app:layout_constraintTop_toTopOf="parent">
16-
17-
<androidx.appcompat.widget.Toolbar
18-
android:id="@+id/chapter_header"
19-
android:layout_width="match_parent"
20-
android:layout_height="?attr/actionBarSize"
21-
app:titleTextColor="?attr/colorOnPrimary" />
22-
23-
</com.google.android.material.appbar.AppBarLayout>
24-
258
<androidx.recyclerview.widget.RecyclerView
269
android:id="@+id/sections"
2710
android:layout_width="0dp"
2811
android:layout_height="0dp"
2912
app:layout_constraintBottom_toBottomOf="parent"
3013
app:layout_constraintEnd_toEndOf="parent"
3114
app:layout_constraintStart_toStartOf="parent"
32-
app:layout_constraintTop_toBottomOf="@+id/chapter_header_appbar" />
15+
app:layout_constraintTop_toTopOf="parent" />
3316

3417
<ProgressBar
3518
android:id="@+id/spinner"

app/src/main/res/values/styles.xml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,9 @@
88
</style>
99

1010

11+
<style name="AppTheme.Toolbar" parent="@style/ThemeOverlay.MaterialComponents.Dark.ActionBar">
12+
</style>
13+
1114
<style name="AppTheme.Heading">
1215
<item name="android:textSize">18dp</item>
1316
<item name="android:textStyle">bold</item>

0 commit comments

Comments
 (0)