aboutsummaryrefslogtreecommitdiff
path: root/about/src/main/kotlin/ca/allanwang/kau/about/CollapsibleTextView.kt
diff options
context:
space:
mode:
Diffstat (limited to 'about/src/main/kotlin/ca/allanwang/kau/about/CollapsibleTextView.kt')
-rw-r--r--about/src/main/kotlin/ca/allanwang/kau/about/CollapsibleTextView.kt33
1 files changed, 33 insertions, 0 deletions
diff --git a/about/src/main/kotlin/ca/allanwang/kau/about/CollapsibleTextView.kt b/about/src/main/kotlin/ca/allanwang/kau/about/CollapsibleTextView.kt
new file mode 100644
index 0000000..32573bc
--- /dev/null
+++ b/about/src/main/kotlin/ca/allanwang/kau/about/CollapsibleTextView.kt
@@ -0,0 +1,33 @@
+package ca.allanwang.kau.about
+
+import android.content.Context
+import android.content.res.Configuration
+import android.util.AttributeSet
+import android.widget.LinearLayout
+import android.widget.TextView
+import ca.allanwang.kau.ui.views.CollapsibleView
+import ca.allanwang.kau.ui.views.CollapsibleViewDelegate
+
+/**
+ * Created by Allan Wang on 2017-08-02.
+ *
+ */
+class CollapsibleTextView @JvmOverloads constructor(
+ context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0
+) : TextView(context, attrs, defStyleAttr), CollapsibleView by CollapsibleViewDelegate() {
+
+ init {
+ initCollapsible(this)
+ }
+
+ override fun onConfigurationChanged(newConfig: Configuration?) {
+ resetCollapsibleAnimation()
+ super.onConfigurationChanged(newConfig)
+ }
+
+ override fun onMeasure(widthMeasureSpec: Int, heightMeasureSpec: Int) {
+ super.onMeasure(widthMeasureSpec, heightMeasureSpec)
+ val result = getCollapsibleDimension()
+ setMeasuredDimension(result.first, result.second)
+ }
+} \ No newline at end of file