├── library ├── .gitignore ├── src │ └── main │ │ ├── res │ │ └── values │ │ │ ├── ids.xml │ │ │ └── attrs.xml │ │ ├── AndroidManifest.xml │ │ └── java │ │ └── com │ │ └── tjerkw │ │ └── slideexpandable │ │ └── library │ │ ├── SlideExpandableListAdapter.java │ │ ├── ExpandCollapseAnimation.java │ │ ├── ActionSlideExpandableListView.java │ │ ├── WrapperListAdapterImpl.java │ │ ├── SlideExpandableListView.java │ │ └── AbstractSlideExpandableListAdapter.java ├── build.gradle └── project.properties ├── settings.gradle ├── raw ├── screenshot0.png ├── screenshot1.png ├── screenshot2.png ├── example-screens.png └── example-screens.psd ├── sample ├── src │ └── main │ │ ├── res │ │ ├── drawable │ │ │ └── icon.png │ │ ├── values │ │ │ └── strings.xml │ │ └── layout │ │ │ ├── single_expandable_list.xml │ │ │ └── expandable_list_item.xml │ │ ├── AndroidManifest.xml │ │ └── java │ │ └── com │ │ └── tjerkw │ │ └── slideexpandable │ │ └── sample │ │ └── ExampleActivity.java ├── build.gradle └── project.properties ├── .travis.yml ├── .gitignore ├── README.md └── LICENSE.txt /library/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /settings.gradle: -------------------------------------------------------------------------------- 1 | include ':library' -------------------------------------------------------------------------------- /raw/screenshot0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjerkw/Android-SlideExpandableListView/HEAD/raw/screenshot0.png -------------------------------------------------------------------------------- /raw/screenshot1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjerkw/Android-SlideExpandableListView/HEAD/raw/screenshot1.png -------------------------------------------------------------------------------- /raw/screenshot2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjerkw/Android-SlideExpandableListView/HEAD/raw/screenshot2.png -------------------------------------------------------------------------------- /raw/example-screens.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjerkw/Android-SlideExpandableListView/HEAD/raw/example-screens.png -------------------------------------------------------------------------------- /raw/example-screens.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjerkw/Android-SlideExpandableListView/HEAD/raw/example-screens.psd -------------------------------------------------------------------------------- /sample/src/main/res/drawable/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjerkw/Android-SlideExpandableListView/HEAD/sample/src/main/res/drawable/icon.png -------------------------------------------------------------------------------- /sample/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | SlideExpandable Example 4 | 5 | -------------------------------------------------------------------------------- /library/src/main/res/values/ids.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /sample/src/main/res/layout/single_expandable_list.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | -------------------------------------------------------------------------------- /library/src/main/res/values/attrs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 12 | 13 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: java 2 | 3 | before_install: 4 | - sudo apt-get update 5 | - sudo apt-get install -qq libstdc++6:i386 lib32z1 6 | - export COMPONENTS=build-tools-19.1.0,android-19 7 | - curl -L https://raw.github.com/embarkmobile/android-sdk-installer/version-1/android-sdk-installer | bash /dev/stdin --install=$COMPONENTS 8 | - source ~/.android-sdk-installer/env 9 | -------------------------------------------------------------------------------- /library/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /sample/build.gradle: -------------------------------------------------------------------------------- 1 | buildscript { 2 | repositories { 3 | mavenCentral() 4 | } 5 | dependencies { 6 | classpath 'com.android.tools.build:gradle:0.8.+' 7 | } 8 | } 9 | 10 | apply plugin: 'android-library' 11 | 12 | dependencies { 13 | compile project(':library') 14 | } 15 | 16 | android { 17 | compileSdkVersion 19 18 | buildToolsVersion = '19.0.1' 19 | } -------------------------------------------------------------------------------- /library/build.gradle: -------------------------------------------------------------------------------- 1 | buildscript { 2 | repositories { 3 | mavenCentral() 4 | } 5 | dependencies { 6 | classpath 'com.android.tools.build:gradle:0.11.+' 7 | } 8 | } 9 | 10 | apply plugin: 'android-library' 11 | 12 | group='com.tjerkw.slideexpandable' 13 | archivesBaseName='library' 14 | version = '1.0' 15 | 16 | android { 17 | compileSdkVersion 19 18 | buildToolsVersion = '19.1.0' 19 | } 20 | -------------------------------------------------------------------------------- /library/project.properties: -------------------------------------------------------------------------------- 1 | # This file is automatically generated by Android Tools. 2 | # Do not modify this file -- YOUR CHANGES WILL BE ERASED! 3 | # 4 | # This file must be checked in Version Control Systems. 5 | # 6 | # To customize properties used by the Ant build system use, 7 | # "ant.properties", and override values to adapt the script to your 8 | # project structure. 9 | 10 | # Project target. 11 | target=android-8 12 | android.library=true 13 | -------------------------------------------------------------------------------- /sample/project.properties: -------------------------------------------------------------------------------- 1 | # This file is automatically generated by Android Tools. 2 | # Do not modify this file -- YOUR CHANGES WILL BE ERASED! 3 | # 4 | # This file must be checked in Version Control Systems. 5 | # 6 | # To customize properties used by the Ant build system use, 7 | # "ant.properties", and override values to adapt the script to your 8 | # project structure. 9 | 10 | # Project target. 11 | target=android-4 12 | android.library.reference.1=../library 13 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | #IntelliJ IDEA 2 | .idea 3 | *.iml 4 | *.ipr 5 | *.iws 6 | out 7 | gen-external-apklibs 8 | 9 | #Gradke 10 | .gradle 11 | build 12 | 13 | #OSX 14 | .DS_Store 15 | 16 | #Android generated 17 | bin 18 | gen 19 | 20 | # files for the dex VM 21 | *.dex 22 | 23 | # Java class files 24 | *.class 25 | 26 | # generated files 27 | bin/ 28 | gen/ 29 | 30 | # Local configuration file (sdk path, etc) 31 | local.properties 32 | 33 | #Eclipse 34 | .project 35 | **.settings 36 | .classpath 37 | -------------------------------------------------------------------------------- /sample/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 10 | 11 | 14 | 17 | 18 | 20 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /library/src/main/java/com/tjerkw/slideexpandable/library/SlideExpandableListAdapter.java: -------------------------------------------------------------------------------- 1 | package com.tjerkw.slideexpandable.library; 2 | 3 | import android.view.View; 4 | import android.widget.ListAdapter; 5 | 6 | /** 7 | * ListAdapter that adds sliding functionality to a list. 8 | * Uses R.id.expandalbe_toggle_button and R.id.expandable id's if no 9 | * ids are given in the contructor. 10 | * 11 | * @author tjerk 12 | * @date 6/13/12 8:04 AM 13 | */ 14 | public class SlideExpandableListAdapter extends AbstractSlideExpandableListAdapter { 15 | private int toggle_button_id; 16 | private int expandable_view_id; 17 | 18 | public SlideExpandableListAdapter(ListAdapter wrapped, int toggle_button_id, int expandable_view_id) { 19 | super(wrapped); 20 | this.toggle_button_id = toggle_button_id; 21 | this.expandable_view_id = expandable_view_id; 22 | } 23 | 24 | public SlideExpandableListAdapter(ListAdapter wrapped) { 25 | this(wrapped, R.id.expandable_toggle_button, R.id.expandable); 26 | } 27 | 28 | @Override 29 | public View getExpandToggleButton(View parent) { 30 | return parent.findViewById(toggle_button_id); 31 | } 32 | 33 | @Override 34 | public View getExpandableView(View parent) { 35 | return parent.findViewById(expandable_view_id); 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /sample/src/main/res/layout/expandable_list_item.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 12 | 13 | 18 | 19 |