├── README.md ├── firstPage_template1.apk ├── firstPage_template1 ├── .classpath ├── .project ├── .settings │ └── org.eclipse.jdt.core.prefs ├── AndroidManifest.xml ├── gen │ └── com │ │ └── stone │ │ └── firstpage │ │ ├── BuildConfig.java │ │ └── R.java ├── ic_launcher-web.png ├── libs_ref │ └── android-support-v4.jar ├── proguard-project.txt ├── project.properties ├── res │ ├── anim │ │ ├── anim_item.xml │ │ ├── bottom_shake.xml │ │ ├── cycle_interpolator.xml │ │ ├── image_in.xml │ │ ├── layout_animation.xml │ │ ├── left_shake.xml │ │ └── right_shake.xml │ ├── drawable-hdpi │ │ ├── ic_launcher.png │ │ ├── image01.jpg │ │ ├── image02.jpg │ │ ├── image03.jpg │ │ ├── image04.jpg │ │ ├── image05.jpg │ │ ├── left.png │ │ ├── right.png │ │ └── up.png │ ├── drawable-mdpi │ │ └── ic_launcher.png │ ├── drawable-xhdpi │ │ └── ic_launcher.png │ ├── drawable-xxhdpi │ │ └── ic_launcher.png │ ├── layout │ │ ├── activity_main.xml │ │ ├── fragment_main.xml │ │ └── template1_layout.xml │ ├── values-w820dp │ │ └── dimens.xml │ └── values │ │ ├── dimens.xml │ │ ├── strings.xml │ │ └── styles.xml └── src │ └── com │ └── stone │ └── firstpage │ ├── AntiAliasTextView.java │ ├── ImageSlidePanel.java │ ├── MainActivity.java │ └── Template1Fragment.java ├── screen01.gif └── screen02.gif /README.md: -------------------------------------------------------------------------------- 1 | # android-image-slide-panel 2 | image as a card, which can be slided to the left or the right and fade away
3 | 4 | To highlight my English skills, i decide to create this README.md file in English this time.
5 | Here should arise some applause.
6 | 7 | ####original intention 8 | There exists a Chinese app "初页" which enables users to customize their gorgeous html5 pages, which is really cool. I was totally shocked at the first sight of those various splendid H5 visual effects.

9 | Recently, as i was not busy at my work time, i decide to implement one of those fantastic effects in native android language. However, while i was able to control every details when sliding the image which is on the screen, i added some new features to this demo, and maybe you will like it more. 10 | ####features 11 | * only the foremost image could be slided to the horizontal side of the screen and fade away. 12 | * the image which was faded away is restored at the bottom of the view stack. 13 | * all the images could be reborn without creating a new view. 14 | 15 | ####captured images 16 | 17 | 18 | 19 | 20 | 21 | #### demo apk 22 | [apk download](firstPage_template1.apk) (right in this github project) 23 | 24 | ####extras 25 | When you see the source files, you will find that there exists lots of Chinese explainations. However, i did not complete a commonly used ViewGroup widget which is compatable with all kinds of veiws.

26 | And, i m clear about one thing: the imageViews could be replaced with other kinds of components, such as Fragments/LinearLayout and so on.

27 | Anything problems, please contact my email: 120809170@qq.com 28 | -------------------------------------------------------------------------------- /firstPage_template1.apk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luinnx/android-image-slide-panel/5468008d332fdcde4c07133e26fee4332577b03d/firstPage_template1.apk -------------------------------------------------------------------------------- /firstPage_template1/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /firstPage_template1/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | firstPage_template1 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 | -------------------------------------------------------------------------------- /firstPage_template1/.settings/org.eclipse.jdt.core.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled 3 | org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 4 | org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve 5 | org.eclipse.jdt.core.compiler.compliance=1.6 6 | org.eclipse.jdt.core.compiler.debug.lineNumber=generate 7 | org.eclipse.jdt.core.compiler.debug.localVariable=generate 8 | org.eclipse.jdt.core.compiler.debug.sourceFile=generate 9 | org.eclipse.jdt.core.compiler.problem.assertIdentifier=error 10 | org.eclipse.jdt.core.compiler.problem.enumIdentifier=error 11 | org.eclipse.jdt.core.compiler.source=1.6 12 | -------------------------------------------------------------------------------- /firstPage_template1/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 10 | 11 | 17 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /firstPage_template1/gen/com/stone/firstpage/BuildConfig.java: -------------------------------------------------------------------------------- 1 | /** Automatically generated file. DO NOT MODIFY */ 2 | package com.stone.firstpage; 3 | 4 | public final class BuildConfig { 5 | public final static boolean DEBUG = true; 6 | } -------------------------------------------------------------------------------- /firstPage_template1/gen/com/stone/firstpage/R.java: -------------------------------------------------------------------------------- 1 | /* AUTO-GENERATED FILE. DO NOT MODIFY. 2 | * 3 | * This class was automatically generated by the 4 | * aapt tool from the resource data it found. It 5 | * should not be modified by hand. 6 | */ 7 | 8 | package com.stone.firstpage; 9 | 10 | public final class R { 11 | public static final class anim { 12 | public static final int bottom_shake=0x7f040000; 13 | public static final int cycle_interpolator=0x7f040001; 14 | public static final int image_in=0x7f040002; 15 | public static final int left_shake=0x7f040003; 16 | public static final int right_shake=0x7f040004; 17 | } 18 | public static final class attr { 19 | } 20 | public static final class dimen { 21 | /** Default screen margins, per the Android Design guidelines. 22 | 23 | Example customization of dimensions originally defined in res/values/dimens.xml 24 | (such as screen margins) for screens with more than 820dp of available width. This 25 | would include 7" and 10" devices in landscape (~960dp and ~1280dp respectively). 26 | 27 | */ 28 | public static final int activity_horizontal_margin=0x7f050000; 29 | public static final int activity_vertical_margin=0x7f050001; 30 | public static final int imgpanel_margin_bottom=0x7f050002; 31 | } 32 | public static final class drawable { 33 | public static final int ic_launcher=0x7f020000; 34 | public static final int image01=0x7f020001; 35 | public static final int image02=0x7f020002; 36 | public static final int image03=0x7f020003; 37 | public static final int image04=0x7f020004; 38 | public static final int image05=0x7f020005; 39 | public static final int left=0x7f020006; 40 | public static final int right=0x7f020007; 41 | public static final int up=0x7f020008; 42 | } 43 | public static final class id { 44 | public static final int bottom_shake=0x7f080004; 45 | public static final int container=0x7f080000; 46 | public static final int image_slide_panel=0x7f080001; 47 | public static final int left_shake=0x7f080002; 48 | public static final int right_shake=0x7f080003; 49 | } 50 | public static final class layout { 51 | public static final int activity_main=0x7f030000; 52 | public static final int fragment_main=0x7f030001; 53 | public static final int template1_layout=0x7f030002; 54 | } 55 | public static final class string { 56 | public static final int action_settings=0x7f060002; 57 | public static final int app_name=0x7f060000; 58 | public static final int hello_world=0x7f060001; 59 | } 60 | public static final class style { 61 | /** 62 | Base application theme, dependent on API level. This theme is replaced 63 | by AppBaseTheme from res/values-vXX/styles.xml on newer devices. 64 | 65 | 66 | 67 | 68 | Theme customizations available in newer API levels can go in 69 | res/values-vXX/styles.xml, while customizations related to 70 | backward-compatibility can go here. 71 | 72 | 73 | 74 | */ 75 | public static final int AppBaseTheme=0x7f070000; 76 | /** Application theme. 77 | All customizations that are NOT specific to a particular API-level can go here. 78 | */ 79 | public static final int AppTheme=0x7f070001; 80 | } 81 | } 82 | -------------------------------------------------------------------------------- /firstPage_template1/ic_launcher-web.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luinnx/android-image-slide-panel/5468008d332fdcde4c07133e26fee4332577b03d/firstPage_template1/ic_launcher-web.png -------------------------------------------------------------------------------- /firstPage_template1/libs_ref/android-support-v4.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luinnx/android-image-slide-panel/5468008d332fdcde4c07133e26fee4332577b03d/firstPage_template1/libs_ref/android-support-v4.jar -------------------------------------------------------------------------------- /firstPage_template1/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 | -------------------------------------------------------------------------------- /firstPage_template1/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-17 15 | -------------------------------------------------------------------------------- /firstPage_template1/res/anim/anim_item.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 9 | -------------------------------------------------------------------------------- /firstPage_template1/res/anim/bottom_shake.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | 19 | 20 | -------------------------------------------------------------------------------- /firstPage_template1/res/anim/cycle_interpolator.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | -------------------------------------------------------------------------------- /firstPage_template1/res/anim/image_in.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | 16 | 17 | -------------------------------------------------------------------------------- /firstPage_template1/res/anim/layout_animation.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | -------------------------------------------------------------------------------- /firstPage_template1/res/anim/left_shake.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | -------------------------------------------------------------------------------- /firstPage_template1/res/anim/right_shake.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | -------------------------------------------------------------------------------- /firstPage_template1/res/drawable-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luinnx/android-image-slide-panel/5468008d332fdcde4c07133e26fee4332577b03d/firstPage_template1/res/drawable-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /firstPage_template1/res/drawable-hdpi/image01.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luinnx/android-image-slide-panel/5468008d332fdcde4c07133e26fee4332577b03d/firstPage_template1/res/drawable-hdpi/image01.jpg -------------------------------------------------------------------------------- /firstPage_template1/res/drawable-hdpi/image02.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luinnx/android-image-slide-panel/5468008d332fdcde4c07133e26fee4332577b03d/firstPage_template1/res/drawable-hdpi/image02.jpg -------------------------------------------------------------------------------- /firstPage_template1/res/drawable-hdpi/image03.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luinnx/android-image-slide-panel/5468008d332fdcde4c07133e26fee4332577b03d/firstPage_template1/res/drawable-hdpi/image03.jpg -------------------------------------------------------------------------------- /firstPage_template1/res/drawable-hdpi/image04.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luinnx/android-image-slide-panel/5468008d332fdcde4c07133e26fee4332577b03d/firstPage_template1/res/drawable-hdpi/image04.jpg -------------------------------------------------------------------------------- /firstPage_template1/res/drawable-hdpi/image05.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luinnx/android-image-slide-panel/5468008d332fdcde4c07133e26fee4332577b03d/firstPage_template1/res/drawable-hdpi/image05.jpg -------------------------------------------------------------------------------- /firstPage_template1/res/drawable-hdpi/left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luinnx/android-image-slide-panel/5468008d332fdcde4c07133e26fee4332577b03d/firstPage_template1/res/drawable-hdpi/left.png -------------------------------------------------------------------------------- /firstPage_template1/res/drawable-hdpi/right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luinnx/android-image-slide-panel/5468008d332fdcde4c07133e26fee4332577b03d/firstPage_template1/res/drawable-hdpi/right.png -------------------------------------------------------------------------------- /firstPage_template1/res/drawable-hdpi/up.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luinnx/android-image-slide-panel/5468008d332fdcde4c07133e26fee4332577b03d/firstPage_template1/res/drawable-hdpi/up.png -------------------------------------------------------------------------------- /firstPage_template1/res/drawable-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luinnx/android-image-slide-panel/5468008d332fdcde4c07133e26fee4332577b03d/firstPage_template1/res/drawable-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /firstPage_template1/res/drawable-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luinnx/android-image-slide-panel/5468008d332fdcde4c07133e26fee4332577b03d/firstPage_template1/res/drawable-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /firstPage_template1/res/drawable-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luinnx/android-image-slide-panel/5468008d332fdcde4c07133e26fee4332577b03d/firstPage_template1/res/drawable-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /firstPage_template1/res/layout/activity_main.xml: -------------------------------------------------------------------------------- 1 | 8 | 9 | -------------------------------------------------------------------------------- /firstPage_template1/res/layout/fragment_main.xml: -------------------------------------------------------------------------------- 1 | 10 | 11 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /firstPage_template1/res/layout/template1_layout.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 14 | 15 | 22 | 23 | 31 | 32 | 40 | 41 | 42 | 45 | 46 | 50 | 51 | 60 | 61 | 70 | 71 | 80 | 81 | 90 | 91 | 92 | 100 | 101 | 110 | 111 | 120 | 121 | 122 | 123 | 129 | 130 | 131 | 132 | 138 | 139 | 140 | -------------------------------------------------------------------------------- /firstPage_template1/res/values-w820dp/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 64dp 9 | 10 | 11 | -------------------------------------------------------------------------------- /firstPage_template1/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 16dp 5 | 16dp 6 | 16dp 7 | 8 | 9 | -------------------------------------------------------------------------------- /firstPage_template1/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | firstPage 5 | Hello world! 6 | Settings 7 | 8 | 9 | -------------------------------------------------------------------------------- /firstPage_template1/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 14 | 15 | 16 | 19 | 20 | -------------------------------------------------------------------------------- /firstPage_template1/src/com/stone/firstpage/AntiAliasTextView.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luinnx/android-image-slide-panel/5468008d332fdcde4c07133e26fee4332577b03d/firstPage_template1/src/com/stone/firstpage/AntiAliasTextView.java -------------------------------------------------------------------------------- /firstPage_template1/src/com/stone/firstpage/ImageSlidePanel.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luinnx/android-image-slide-panel/5468008d332fdcde4c07133e26fee4332577b03d/firstPage_template1/src/com/stone/firstpage/ImageSlidePanel.java -------------------------------------------------------------------------------- /firstPage_template1/src/com/stone/firstpage/MainActivity.java: -------------------------------------------------------------------------------- 1 | package com.stone.firstpage; 2 | 3 | import android.os.Bundle; 4 | import android.support.v4.app.FragmentActivity; 5 | import android.view.Window; 6 | 7 | public class MainActivity extends FragmentActivity { 8 | 9 | @Override 10 | protected void onCreate(Bundle savedInstanceState) { 11 | super.onCreate(savedInstanceState); 12 | requestWindowFeature(Window.FEATURE_NO_TITLE); 13 | setContentView(R.layout.activity_main); 14 | 15 | if (savedInstanceState == null) { 16 | getSupportFragmentManager().beginTransaction() 17 | .add(R.id.container, new Template1Fragment()).commit(); 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /firstPage_template1/src/com/stone/firstpage/Template1Fragment.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luinnx/android-image-slide-panel/5468008d332fdcde4c07133e26fee4332577b03d/firstPage_template1/src/com/stone/firstpage/Template1Fragment.java -------------------------------------------------------------------------------- /screen01.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luinnx/android-image-slide-panel/5468008d332fdcde4c07133e26fee4332577b03d/screen01.gif -------------------------------------------------------------------------------- /screen02.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luinnx/android-image-slide-panel/5468008d332fdcde4c07133e26fee4332577b03d/screen02.gif --------------------------------------------------------------------------------