ReadMoreTextView
Text components supporting 'Read more' UX for Android View and Jetpack Compose
Install / Use
/learn @webtoon/ReadMoreTextViewREADME
ReadMoreTextView
<a href="https://opensource.org/licenses/Apache-2.0"><img src="https://img.shields.io/badge/License-Apache%202.0-blue.svg"/></a> <a href='https://developer.android.com'><img src='http://img.shields.io/badge/platform-android-green.svg'/></a>
This library provides collapsible Text widgets with 'Read more' and 'Read less' text. (Including [Jetpack Compose][compose])
| Collapsed | <img width="300" src="docs/collapsed.png" /> | | ------------- | -------------------------------------------- | | Expanded | <img width="300" src="docs/expanded.png" /> |
Versions
Each release outlines the version of the AppCompat or Compose library it depends on.
View
<table> <tr><td>AppCompat 1.3 (1.3.x)</td><td><img alt="Maven Central" src="https://img.shields.io/maven-central/v/com.webtoonscorp.android/readmore-view?versionPrefix=1.0"/></td></tr> <tr><td>AppCompat 1.4 (1.4.x)</td><td><img alt="Maven Central" src="https://img.shields.io/maven-central/v/com.webtoonscorp.android/readmore-view?versionPrefix=1.1"/></td></tr> <tr><td>AppCompat 1.5 (1.5.x)</td><td><img alt="Maven Central" src="https://img.shields.io/maven-central/v/com.webtoonscorp.android/readmore-view?versionPrefix=1.2"/></td></tr> <tr><td>AppCompat 1.6 (1.6.x)</td><td><img alt="Maven Central" src="https://img.shields.io/maven-central/v/com.webtoonscorp.android/readmore-view?versionPrefix=1.3"/></td></tr> <tr><td>AppCompat 1.7 (1.7.x)</td><td><img alt="Maven Central" src="https://img.shields.io/maven-central/v/com.webtoonscorp.android/readmore-view?versionPrefix=1.4"/></td></tr> </table>Compose
<table> <tr><td>Compose 1.1 (1.1.x)</td><td><img alt="Maven Central" src="https://img.shields.io/maven-central/v/com.webtoonscorp.android/readmore-foundation?versionPrefix=1.0"/></td></tr> <tr><td>Compose 1.2 (1.2.x)</td><td><img alt="Maven Central" src="https://img.shields.io/maven-central/v/com.webtoonscorp.android/readmore-foundation?versionPrefix=1.1"></td></tr> <tr><td>Compose 1.3 (1.3.x)</td><td><img alt="Maven Central" src="https://img.shields.io/maven-central/v/com.webtoonscorp.android/readmore-foundation?versionPrefix=1.2"></td></tr> <tr><td>Compose 1.4 (1.4.x)</td><td><img alt="Maven Central" src="https://img.shields.io/maven-central/v/com.webtoonscorp.android/readmore-foundation?versionPrefix=1.3"></td></tr> <tr><td>Compose 1.5 (1.5.x)</td><td><img alt="Maven Central" src="https://img.shields.io/maven-central/v/com.webtoonscorp.android/readmore-foundation?versionPrefix=1.4"></td></tr> <tr><td>Compose 1.6 (1.6.x)</td><td><img alt="Maven Central" src="https://img.shields.io/maven-central/v/com.webtoonscorp.android/readmore-foundation?versionPrefix=1.5"></td></tr> <tr><td>Compose 1.7 (1.7.x)</td><td><img alt="Maven Central" src="https://img.shields.io/maven-central/v/com.webtoonscorp.android/readmore-foundation?versionPrefix=1.6"></td></tr> <tr><td>Compose 1.8 (1.8.x)</td><td><img alt="Maven Central" src="https://img.shields.io/maven-central/v/com.webtoonscorp.android/readmore-foundation?versionPrefix=1.7"></td></tr> <tr><td>Compose 1.9 (1.9.x)</td><td><img alt="Maven Central" src="https://img.shields.io/maven-central/v/com.webtoonscorp.android/readmore-foundation?versionPrefix=1.9"></td></tr> </table>Libraries
We are currently releasing various libraries for AppCompat or Compose.
ReadMore-View
A library that provides collapsible TextView with 'Read more' and 'Read less' text. (for Android View System)
ReadMore-Foundation
A library that provides collapsible BasicText with 'Read more' and 'Read less' text. (for [Jetpack Compose][compose])
ReadMore-Material
A library that provides collapsible Text with 'Read more' and 'Read less' text based on Material Theme. (for [Jetpack Compose][compose])
ReadMore-Material3
A library that provides collapsible Text with 'Read more' and 'Read less' text based on Material3 Theme. (for [Jetpack Compose][compose])
Attributes
This libraries provide the same attributes as much as possible regardless of View or [Compose][compose].
Attributes for 'Read More'
readMoreMaxLines
| 2 (default) | <img width="300" src="docs/readMoreMaxLines_default.png" /> |
| --------------- | ------------------------------------------------------------ |
| "1" | <img width="300" src="docs/readMoreMaxLines_custom.png" /> |
readMoreOverflow
| Ellipsis (default) | <img width="300" src="docs/readMoreOverflow_default.png" /> | | ---------------------- | ------------------------------------------------------------ | | Clip | <img width="300" src="docs/readMoreOverflow_clip.png" /> |
readMoreText
| "" (default) | <img width="300" src="docs/readMoreText_default.png" /> |
| ----------------- | ------------------------------------------------------------ |
| "Read more" | <img width="300" src="docs/readMoreText_custom.png" /> |
readMoreTextSize
| Same with textSize (default) | <img width="300" src="docs/readMoreTextSize_default.png" /> |
| ---------------------------------- | ------------------------------------------------------------ |
| "11sp" | <img width="300" src="docs/readMoreTextSize_custom.png" /> |
readMoreTextColor
| Same with textColor (default) | <img width="300" src="docs/readMoreTextColor_default.png" /> |
| ----------------------------------- | ------------------------------------------------------------ |
| "#FF0000" | <img width="300" src="docs/readMoreTextColor_custom.png" /> |
readMoreTextStyle
| Normal (default) | <img width="300" src="docs/readMoreTextStyle_default.png" /> | | -------------------- | ------------------------------------------------------------ | | Bold | <img width="300" src="docs/readMoreTextStyle_bold.png" /> | | Italic | <img width="300" src="docs/readMoreTextStyle_italic.png" /> |
readMoreTextUnderline (View only)
| false (default) | <img width="300" src="docs/readMoreTextUnderline_default.png" /> | | ------------------- | ------------------------------------------------------------ | | true | <img width="300" src="docs/readMoreTextUnderline_true.png" /> |
readMoreTextDecoration (Compose only)
| null (default) | <img width="300" src="docs/readMoreTextUnderline_default.png" /> |
|-----------------------| ------------------------------------------------------------ |
| TextDecoration.Underline | <img width="300" src="docs/readMoreTextUnderline_true.png" /> |
Attributes for 'Read Less'
readLessText
| "" (default) | <img width="300" src="docs/readLessText_default.png" /> |
|-------------------| ------------------------------------------------------------ |
| "Read less" | <img width="300" src="docs/readLessText_custom.png" /> |
readLessTextSize
| Same with textSize (default) | <img width="300" src="docs/readLessTextSize_default.png" /> |
| ---------------------------------- | ------------------------------------------------------------ |
| "11sp" | <img width="300" src="docs/readLessTextSize_custom.png" /> |
readLessTextColor
| Same with textColor (default) | <img width="300" src="docs/readLessTextColor_default.png" /> |
| ----------------------------------- | ------------------------------------------------------------ |
| "#FF0000" | <img width="300" src="docs/readLessTextColor_custom.png" /> |
readLessTextStyle
| Normal (default) | <img width="300" src="docs/readLessTextStyle_default.png" /> | | -------------------- | ------------------------------------------------------------ | | Bold | <img width="300" src="docs/readLessTextStyle_bold.png" /> | | Italic | <img width="300" src="docs/readLessTextStyle_italic.png" /> |
readLessTextUnderline (View only)
| false (default) | <img width="300" src="docs/readLessTextUnderline_default.png" /> | | ------------------- | ------------------------------------------------------------ | | true | <img width="300" src="docs/readLessTextUnderline_true.png" /> |
readLessTextDecoration (Compose only)
| null (default) | <img width="300" src="docs/readLessTextUnderline_default.png" /> |
|-----------------------| ------------------------------------------------------------ |
| TextDecoration.Underline | <img width="300" src="docs/readLessTextUnderline_true.png" /> |
Attributes for toggle area
The toggle area is the red box in the following image.
readMoreToggleArea (View only)
| all (default) | <img width="300" src="docs/readMoreToggleArea_all.png" /> | |-------------------|------------------------------------------------------------| | more | <img width="300" src="docs/readMoreToggleArea_more.png" /> | | none | <img width="300" src="docs/readMoreToggleArea_none.png" /> |
toggleArea (Compose only)
| All (default) | <img width="300" src="docs/toggleArea_all.png" /> | |-------------------|---------------------------------------------------------------| | More | <img width="300" src="docs/toggleArea_more.png" /> |
Snapshots
If you want to check the version currently in development, you can use the snapshot versions.
The snapshot versions are updated on every commit to main branch.
repositories {
maven { url 'https://s01.oss.sonatype.org/content/repositories/snapshots' }
}
dependencies {
// Check the latest SNAPSHOT version from the link above
classpath 'com.webtoonscorp.android:readmore-view:XXX-SNAPSHOT'
}
