aboutsummaryrefslogtreecommitdiff
path: root/fastadapter/src/main/kotlin/ca/allanwang/kau/iitems/HeaderIItem.kt
diff options
context:
space:
mode:
authorAllan Wang <me@allanwang.ca>2019-06-17 23:35:08 -0700
committerAllan Wang <me@allanwang.ca>2019-06-17 23:35:08 -0700
commit80b303819d18c3c34c4071f352134b3048768805 (patch)
tree928de20fe68b37b1b80d8b926327d4afbf6f04d2 /fastadapter/src/main/kotlin/ca/allanwang/kau/iitems/HeaderIItem.kt
parent8725ae5647e15a38281ca6778b33413490dff91b (diff)
downloadkau-80b303819d18c3c34c4071f352134b3048768805.tar.gz
kau-80b303819d18c3c34c4071f352134b3048768805.tar.bz2
kau-80b303819d18c3c34c4071f352134b3048768805.zip
Separate adapter from fastadapter
Diffstat (limited to 'fastadapter/src/main/kotlin/ca/allanwang/kau/iitems/HeaderIItem.kt')
-rw-r--r--fastadapter/src/main/kotlin/ca/allanwang/kau/iitems/HeaderIItem.kt59
1 files changed, 59 insertions, 0 deletions
diff --git a/fastadapter/src/main/kotlin/ca/allanwang/kau/iitems/HeaderIItem.kt b/fastadapter/src/main/kotlin/ca/allanwang/kau/iitems/HeaderIItem.kt
new file mode 100644
index 0000000..2c488b1
--- /dev/null
+++ b/fastadapter/src/main/kotlin/ca/allanwang/kau/iitems/HeaderIItem.kt
@@ -0,0 +1,59 @@
+/*
+ * Copyright 2018 Allan Wang
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package ca.allanwang.kau.iitems
+
+import android.view.View
+import android.widget.TextView
+import androidx.cardview.widget.CardView
+import androidx.recyclerview.widget.RecyclerView
+import ca.allanwang.kau.adapter.R
+import ca.allanwang.kau.adapters.ThemableIItem
+import ca.allanwang.kau.adapters.ThemableIItemDelegate
+import ca.allanwang.kau.utils.INVALID_ID
+import ca.allanwang.kau.utils.string
+
+/**
+ * Created by Allan Wang on 2017-06-28.
+ *
+ * Simple Header with lots of padding on the top
+ * Contains only one text view
+ */
+class HeaderIItem(
+ text: String? = null,
+ var textRes: Int = INVALID_ID
+) : KauIItem<HeaderIItem, HeaderIItem.ViewHolder>(
+ R.layout.kau_iitem_header, { ViewHolder(it) }, R.id.kau_item_header_big_margin_top
+), ThemableIItem by ThemableIItemDelegate() {
+
+ var text: String = text ?: "Header Placeholder"
+
+ override fun bindView(holder: ViewHolder, payloads: MutableList<Any>) {
+ super.bindView(holder, payloads)
+ holder.text.text = holder.itemView.context.string(textRes, text)
+ bindTextColor(holder.text)
+ bindBackgroundColor(holder.container)
+ }
+
+ override fun unbindView(holder: ViewHolder) {
+ super.unbindView(holder)
+ holder.text.text = null
+ }
+
+ class ViewHolder(v: View) : RecyclerView.ViewHolder(v) {
+ val text: TextView = v.findViewById(R.id.kau_header_text)
+ val container: CardView = v.findViewById(R.id.kau_header_container)
+ }
+}