ExpandableTextView
ExpandableTextView is an android TextView library that performs multiline ellipsize.
Gradle
Repository
Add this to your root build.gradle
file.
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
Dependency
Add this to your app build.gradle
file.
dependencies {
...
implementation 'com.github.yuzumone:ExpandableTextView:0.2.4'
}
Usage
XML
<net.expandable.ExpandableTextView
android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
Attributes
<net.expandable.ExpandableTextView
app:expand="false"
app:expand_enabled="true"
app:collapse_lines="1"
/>
Expand
To set a state the TextView of ellipsize you use the setExpand functionality via xml or kotlin. Default value is false.
XML
app:expand="true"
or
app:expand="false"
Kotlin
textView.setExpand(true)
or
textView.setExpand(false)
Expand_enabled
To set a state as to whether expand when clicking you use the setExpandEnabled functionality via xml or kotlin. Default value is true.
XML
app:expand_enabled="true"
or
app:expand_enabled="false"
Kotlin
textView.setExpandEnabled(true)
or
textView.setExpandEnabled(false)
Collapse_lines
To set the number of lines when TextView ellipsize you use the setCollapseLines functionality via xml or kotlin. Default value is 1.
XML
app:collapse_lines="1"
Kotlin
textView.setCollapseLines(1)
OnExpandableClickListener
textView.setOnExpandableClickListener(object : OnExpandableClickListener {
override fun expand(view: ExpandableTextView) {
// Expand action
}
override fun collapse(view: ExpandableTextView) {
// Collapse action
}
})
// OR
textView.setOnExpandableClickListener(
onExpand = { // Expand action },
onCollapse = { // Collapse action }
)