ExpandableTextView is an Android library that allows developers to easily create an TextView which can expand/collapse just like the Google Play's app description. Feel free to use it all you want in your Android apps provided that you cite this project.
API Level 8 (Froyo) and above.
The library is pushed to Maven Central as an AAR, so you just need to add the followings to your build.gradle file:
dependencies {
compile 'com.ms-square:expandableTextView:0.1.4'
}
Using the library is really simple, just look at the source code of the provided sample. (Look at the SampleTextListAdapter.java for the use within a ListView)
The important thing to note is that the view Ids for TextView and ImageButton must be set to "@id/expandable_text" and "@id/expand_collapse" respectively for this library to work.
Also, you can optionally set the following attributes in your layout xml file to customize the behavior of the ExpandableTextView.
maxCollapsedLines
(defaults to 8) The maximum number of text lines allowed to be shown when the TextView gets collapsed
animDuration
(defaults to 300ms) Duration of the Animation for the expansion/collapse
animAlphaStart
(defaults to 0.7f) Alpha value of the TextView when the animation starts (NOTE) Set this value to 1 if you want to disable the alpha animation.
expandDrawable
Customize a drawable set to ImageButton to expand the TextView
collapseDrawable
Customize a drawable set to ImageButton to collapse the TextView
<!-- sample xml -->
<com.ms.square.android.expandabletextview.ExpandableTextView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:expandableTextView="http://schemas.android.com/apk/res-auto"
android:id="@+id/expand_text_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
expandableTextView:maxCollapsedLines="4"
expandableTextView:animDuration="200">
<TextView
android:id="@id/expandable_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:textSize="16sp"
android:textColor="#666666" />
<ImageButton
android:id="@id/expand_collapse"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="16dp"
android:layout_gravity="right|bottom"
android:background="@android:color/transparent"/>
</com.ms.square.android.expandabletextview.ExpandableTextView>
// sample code snippet to set the text content on the ExpandableTextView
ExpandableTextView expTv1 = (ExpandableTextView) rootView.findViewById(R.id.sample1)
.findViewById(R.id.expand_text_view);
// IMPORTANT - call setText on the ExpandableTextView to
No. | Subject | Author | Date | Views |
---|---|---|---|---|
8 | Google Map 2 | admin | 2017.05.29 | 52 |
7 | Google Map | admin | 2017.05.29 | 41 |
6 | Open Multiple Activities from Multiple Buttons | admin | 2017.05.24 | 74 |
5 | How To Create A Simple Web View In Xcode 8 (Swift 3.0) | admin | 2017.05.21 | 58 |
» | ExpandableTextView | admin | 2017.05.17 | 58 |
3 | Android Tutorial 9 - The Navigation Drawer | admin | 2017.05.17 | 54 |
2 | Android options menu tutorial | admin | 2017.05.17 | 56 |
1 | How to make Mobile Web | admin | 2017.05.08 | 67 |