├── .classpath ├── .project ├── AndroidManifest.xml ├── README.md ├── ic_launcher-web.png ├── images └── demo.gif ├── libs └── android-support-v4.jar ├── proguard-project.txt ├── project.properties ├── res ├── drawable-hdpi │ └── ic_launcher.png ├── drawable-mdpi │ └── ic_launcher.png ├── drawable-xhdpi │ └── ic_launcher.png ├── drawable-xxhdpi │ └── ic_launcher.png ├── layout │ ├── activity_main.xml │ └── list_item.xml ├── values-v11 │ └── styles.xml ├── values-v14 │ └── styles.xml └── values │ ├── attrs.xml │ ├── strings.xml │ └── styles.xml └── src └── com └── example └── collapselayout ├── CollapseLayout.java ├── DemoList.java ├── ListViewDemo.java └── MainActivity.java /.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | CollapseLayout 4 | 5 | 6 | 7 | 8 | 9 | com.android.ide.eclipse.adt.ResourceManagerBuilder 10 | 11 | 12 | 13 | 14 | com.android.ide.eclipse.adt.PreCompilerBuilder 15 | 16 | 17 | 18 | 19 | org.eclipse.jdt.core.javabuilder 20 | 21 | 22 | 23 | 24 | com.android.ide.eclipse.adt.ApkBuilder 25 | 26 | 27 | 28 | 29 | 30 | com.android.ide.eclipse.adt.AndroidNature 31 | org.eclipse.jdt.core.javanature 32 | 33 | 34 | -------------------------------------------------------------------------------- /AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 10 | 11 | 16 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | CollapseLayout 2 | ================= 3 | CollapseLayout can collapse/expand layout with smooth animation. 4 | 5 | Here is a gif showing the effect: 6 | 7 | ![demo gif](/images/demo.gif "Demo gif") 8 | 9 | 10 | How to use 11 | --------------- 12 | 13 | ```xml 14 | 18 | 19 | 23 | 24 | ......... 25 | 26 | 27 | 28 | 29 | ``` 30 | 31 | ```java 32 | public void showEffect(View v) { 33 | int modeId = modeGroup.getCheckedRadioButtonId(); 34 | switch (modeId) { 35 | case R.id.fixedTop: 36 | el.setCollapseMode(Mode.FIXED_START); 37 | break; 38 | case R.id.fixedBottom: 39 | el.setCollapseMode(Mode.FIXED_END); 40 | break; 41 | } 42 | 43 | int interpolatorId = interpolatorGroup.getCheckedRadioButtonId(); 44 | switch (interpolatorId) { 45 | case R.id.linear: 46 | el.setInterpolator(linearInterpolator); 47 | break; 48 | case R.id.bounce: 49 | el.setInterpolator(bounceInterpolator); 50 | break; 51 | case R.id.accelerate: 52 | el.setInterpolator(accelerateDecelerateInterpolator); 53 | break; 54 | } 55 | 56 | int orientationId = orientationGroup.getCheckedRadioButtonId(); 57 | switch (orientationId) { 58 | case R.id.vertical: 59 | el.setCollapseOrientation(Orientation.VERTICAL); 60 | break; 61 | case R.id.horizontal: 62 | el.setCollapseOrientation(Orientation.HORIZONTAL); 63 | break; 64 | } 65 | 66 | int state = el.getState(); 67 | switch (state) { 68 | case CollapseLayout.STATE_OPEN: 69 | el.close(); 70 | break; 71 | case CollapseLayout.STATE_CLOSE: 72 | el.open(); 73 | break; 74 | } 75 | } 76 | ``` 77 | ```xml 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | ``` 94 | -------------------------------------------------------------------------------- /ic_launcher-web.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ubdc/CollapseLayout/391927c924601b2e2b34cecd2e4bbb996956db83/ic_launcher-web.png -------------------------------------------------------------------------------- /images/demo.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ubdc/CollapseLayout/391927c924601b2e2b34cecd2e4bbb996956db83/images/demo.gif -------------------------------------------------------------------------------- /libs/android-support-v4.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ubdc/CollapseLayout/391927c924601b2e2b34cecd2e4bbb996956db83/libs/android-support-v4.jar -------------------------------------------------------------------------------- /proguard-project.txt: -------------------------------------------------------------------------------- 1 | # To enable ProGuard in your project, edit project.properties 2 | # to define the proguard.config property as described in that file. 3 | # 4 | # Add project specific ProGuard rules here. 5 | # By default, the flags in this file are appended to flags specified 6 | # in ${sdk.dir}/tools/proguard/proguard-android.txt 7 | # You can edit the include path and order by changing the ProGuard 8 | # include property in project.properties. 9 | # 10 | # For more details, see 11 | # http://developer.android.com/guide/developing/tools/proguard.html 12 | 13 | # Add any project specific keep options here: 14 | 15 | # If your project uses WebView with JS, uncomment the following 16 | # and specify the fully qualified class name to the JavaScript interface 17 | # class: 18 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 19 | # public *; 20 | #} 21 | -------------------------------------------------------------------------------- /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 edit 7 | # "ant.properties", and override values to adapt the script to your 8 | # project structure. 9 | # 10 | # To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home): 11 | #proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt 12 | 13 | # Project target. 14 | target=android-19 15 | -------------------------------------------------------------------------------- /res/drawable-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ubdc/CollapseLayout/391927c924601b2e2b34cecd2e4bbb996956db83/res/drawable-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /res/drawable-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ubdc/CollapseLayout/391927c924601b2e2b34cecd2e4bbb996956db83/res/drawable-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /res/drawable-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ubdc/CollapseLayout/391927c924601b2e2b34cecd2e4bbb996956db83/res/drawable-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /res/drawable-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ubdc/CollapseLayout/391927c924601b2e2b34cecd2e4bbb996956db83/res/drawable-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /res/layout/activity_main.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 9 | 10 | 16 | 17 | 22 | 23 | 29 | 30 | 35 | 36 | 37 | 42 | 43 | 49 | 50 | 55 | 56 | 61 | 62 | 63 | 68 | 69 | 75 | 76 | 81 | 82 | 83 | 84 |