瀏覽代碼

Moved toolbar to separate layout

Vadik Sirekanyan 6 年之前
父節點
當前提交
eeb24369f8

+ 2 - 1
app/src/main/java/com/sirekanyan/knigopis/common/android/dialog/DialogFactory.kt

@@ -2,6 +2,7 @@ package com.sirekanyan.knigopis.common.android.dialog
 
 import android.content.Context
 import android.support.design.widget.BottomSheetDialog
+import android.view.View
 import com.sirekanyan.knigopis.R
 import com.sirekanyan.knigopis.common.extensions.inflate
 import kotlinx.android.synthetic.main.bottom_sheet_dialog_item.view.*
@@ -21,7 +22,7 @@ class BottomSheetDialogFactory(private val context: Context) : DialogFactory {
         dialog.bottomSheetTitle.text = title
         val container = dialog.bottomSheetContainer
         items.forEach { item ->
-            val itemView = container.inflate(R.layout.bottom_sheet_dialog_item)
+            val itemView = container.inflate<View>(R.layout.bottom_sheet_dialog_item)
             itemView.bottomSheetItemIcon.setImageResource(item.iconRes)
             item.title.setValueTo(itemView.bottomSheetItemText)
             itemView.setOnClickListener {

+ 2 - 3
app/src/main/java/com/sirekanyan/knigopis/common/extensions/ViewGroup.kt

@@ -2,8 +2,7 @@ package com.sirekanyan.knigopis.common.extensions
 
 import android.support.annotation.LayoutRes
 import android.view.LayoutInflater
-import android.view.View
 import android.view.ViewGroup
 
-fun ViewGroup.inflate(@LayoutRes layout: Int): View =
-    LayoutInflater.from(context).inflate(layout, this, false)
+inline fun <reified T> ViewGroup.inflate(@LayoutRes layout: Int) =
+    LayoutInflater.from(context).inflate(layout, this, false) as T

+ 1 - 0
app/src/main/java/com/sirekanyan/knigopis/feature/MainView.kt

@@ -15,6 +15,7 @@ import kotlinx.android.extensions.LayoutContainer
 import kotlinx.android.synthetic.main.about.view.*
 import kotlinx.android.synthetic.main.activity_main.*
 import kotlinx.android.synthetic.main.books_page.*
+import kotlinx.android.synthetic.main.default_app_bar.*
 import kotlinx.android.synthetic.main.notes_page.*
 import kotlinx.android.synthetic.main.users_page.*
 

+ 1 - 0
app/src/main/java/com/sirekanyan/knigopis/feature/book/BookView.kt

@@ -12,6 +12,7 @@ import com.sirekanyan.knigopis.model.DateModel
 import com.sirekanyan.knigopis.model.EditBookModel
 import kotlinx.android.extensions.LayoutContainer
 import kotlinx.android.synthetic.main.book_edit.*
+import kotlinx.android.synthetic.main.default_app_bar.*
 
 interface BookView : CommonView {
 

+ 1 - 13
app/src/main/res/layout/activity_main.xml

@@ -8,19 +8,7 @@
     android:orientation="vertical"
     tools:context=".feature.MainActivity">
 
-    <android.support.design.widget.AppBarLayout
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:theme="@style/AppBarTheme">
-
-        <android.support.v7.widget.Toolbar
-            android:id="@+id/toolbar"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            app:popupTheme="?attr/toolbar_popup_theme"
-            app:title="@string/common.title.app" />
-
-    </android.support.design.widget.AppBarLayout>
+    <include layout="@layout/default_app_bar" />
 
     <android.support.v4.widget.SwipeRefreshLayout
         android:id="@+id/swipeRefresh"

+ 1 - 14
app/src/main/res/layout/book_edit.xml

@@ -8,20 +8,7 @@
     android:orientation="vertical"
     tools:ignore="Autofill">
 
-    <android.support.design.widget.AppBarLayout
-        android:id="@+id/app_bar_layout"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:theme="@style/AppBarTheme">
-
-        <android.support.v7.widget.Toolbar
-            android:id="@+id/toolbar"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            app:popupTheme="?attr/toolbar_popup_theme"
-            tools:title="@string/book.title.add" />
-
-    </android.support.design.widget.AppBarLayout>
+    <include layout="@layout/default_app_bar" />
 
     <ScrollView
         android:layout_width="match_parent"

+ 16 - 0
app/src/main/res/layout/default_app_bar.xml

@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="utf-8"?>
+<android.support.design.widget.AppBarLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    android:id="@+id/app_bar_layout"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:theme="@style/AppBarTheme">
+
+    <android.support.v7.widget.Toolbar
+        android:id="@+id/toolbar"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        app:popupTheme="?attr/toolbar_popup_theme"
+        app:title="@string/common.title.app" />
+
+</android.support.design.widget.AppBarLayout>