today:
11
yesterday:
158
Total:
1,001,265

ExpandableTextView

admin 2017.05.17 14:31 Views : 36

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

Requirements

API Level 8 (Froyo) and above.

Setup

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

Usage

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
28 Strings admin 2017.06.02 56
27 Activity About Center (layout) admin 2017.06.02 58
26 About GMI Center admin 2017.06.04 58
25 Contact Activity admin 2017.06.02 59
24 Contact Activity Layout admin 2017.06.02 61
23 Contact Activity admin 2017.06.04 66
22 Main Activity Layout admin 2017.06.02 70
21 AndroidManifest.xml solatoz 2017.06.02 92
20 Principles of American Democracy admin 2017.07.02 189
19 Rights And Responsibilities admin 2017.07.03 191
18 AdMob - Import the Mobile Ads SDK admin 2017.07.21 195
17 Geography admin 2017.07.03 202
16 Colonial Period And Independence admin 2017.07.03 208
15 System of Government admin 2017.07.03 212
14 Symbols And Holidays admin 2017.07.03 212
13 Custom Swipe admin 2017.06.04 214
12 Recent American History admin 2017.07.03 214
11 US1800s admin 2017.07.03 214
10 package com.solatoz.joseph.uscitizenshiptest; admin 2017.07.01 221
9 Image Center admin 2017.07.21 223