Need help with ExpandableTextView?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

3.9K Stars 798 Forks Apache License 2.0 37 Commits 43 Opened issues


Android's TextView that can expand/collapse like the Google Play's app description

Services available


Need anything else?

Contributors list

# 26,296
23 commits
# 68,420
1 commit
# 22,738
1 commit
# 136,517
1 commit

ExpandableTextView Android Arsenal

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.

Quick Demo


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 ''


Using the library is really simple, just look at the source code of the provided sample. (Look at the 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/expandabletext" and "@id/expandcollapse" 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 code snippet to set the text content on the ExpandableTextView
ExpandableTextView expTv1 = (ExpandableTextView) rootView.findViewById(

// IMPORTANT - call setText on the ExpandableTextView to set the text content to display expTv1.setText(getString(R.string.dummy_text1));


Copyright 2014 Manabu Shimobe

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

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.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.