Skip to content

Commit ec978ab

Browse files
committed
Fixed Issue #6 of front/back click. and publsihed v1.0.2 on jcenter()
1 parent bd8bd4d commit ec978ab

File tree

45 files changed

+130
-75
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

45 files changed

+130
-75
lines changed
File renamed without changes.
File renamed without changes.

EasyFlipView-Demo/.idea/gradle.xml renamed to .idea/gradle.xml

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

EasyFlipView-Demo/.idea/misc.xml renamed to .idea/misc.xml

Lines changed: 1 addition & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/modules.xml

Lines changed: 10 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

EasyFlipView-Demo/.idea/modules.xml

Lines changed: 0 additions & 10 deletions
This file was deleted.

EasyFlipView-Demo/app/src/main/java/com/wajahatkarim3/easyflipview/demo/MainActivity.java

Lines changed: 0 additions & 24 deletions
This file was deleted.

EasyFlipView-Demo/settings.gradle

Lines changed: 0 additions & 2 deletions
This file was deleted.

EasyFlipView-Library/EasyFlipView-Library.iml

Lines changed: 10 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<?xml version="1.0" encoding="UTF-8"?>
2-
<module external.linked.project.id=":EasyFlipView-Library" external.linked.project.path="$MODULE_DIR$" external.root.project.path="$MODULE_DIR$/../EasyFlipView-Demo" external.system.id="GRADLE" type="JAVA_MODULE" version="4">
2+
<module external.linked.project.id=":EasyFlipView-Library" external.linked.project.path="$MODULE_DIR$" external.root.project.path="$MODULE_DIR$/.." external.system.id="GRADLE" type="JAVA_MODULE" version="4">
33
<component name="FacetManager">
44
<facet type="android-gradle" name="Android-Gradle">
55
<configuration>
@@ -67,14 +67,6 @@
6767
<sourceFolder url="file://$MODULE_DIR$/src/main/jni" isTestSource="false" />
6868
<sourceFolder url="file://$MODULE_DIR$/src/main/rs" isTestSource="false" />
6969
<sourceFolder url="file://$MODULE_DIR$/src/main/shaders" isTestSource="false" />
70-
<sourceFolder url="file://$MODULE_DIR$/src/test/res" type="java-test-resource" />
71-
<sourceFolder url="file://$MODULE_DIR$/src/test/resources" type="java-test-resource" />
72-
<sourceFolder url="file://$MODULE_DIR$/src/test/assets" type="java-test-resource" />
73-
<sourceFolder url="file://$MODULE_DIR$/src/test/aidl" isTestSource="true" />
74-
<sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
75-
<sourceFolder url="file://$MODULE_DIR$/src/test/jni" isTestSource="true" />
76-
<sourceFolder url="file://$MODULE_DIR$/src/test/rs" isTestSource="true" />
77-
<sourceFolder url="file://$MODULE_DIR$/src/test/shaders" isTestSource="true" />
7870
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/res" type="java-test-resource" />
7971
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/resources" type="java-test-resource" />
8072
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/assets" type="java-test-resource" />
@@ -83,7 +75,14 @@
8375
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/jni" isTestSource="true" />
8476
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/rs" isTestSource="true" />
8577
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/shaders" isTestSource="true" />
86-
<excludeFolder url="file://$MODULE_DIR$/build/docs" />
78+
<sourceFolder url="file://$MODULE_DIR$/src/test/res" type="java-test-resource" />
79+
<sourceFolder url="file://$MODULE_DIR$/src/test/resources" type="java-test-resource" />
80+
<sourceFolder url="file://$MODULE_DIR$/src/test/assets" type="java-test-resource" />
81+
<sourceFolder url="file://$MODULE_DIR$/src/test/aidl" isTestSource="true" />
82+
<sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
83+
<sourceFolder url="file://$MODULE_DIR$/src/test/jni" isTestSource="true" />
84+
<sourceFolder url="file://$MODULE_DIR$/src/test/rs" isTestSource="true" />
85+
<sourceFolder url="file://$MODULE_DIR$/src/test/shaders" isTestSource="true" />
8786
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/annotations" />
8887
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/blame" />
8988
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/bundles" />
@@ -114,17 +113,10 @@
114113
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/symbols" />
115114
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/transforms" />
116115
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/typedefs.txt" />
117-
<excludeFolder url="file://$MODULE_DIR$/build/ivy.xml" />
118-
<excludeFolder url="file://$MODULE_DIR$/build/libs" />
119116
<excludeFolder url="file://$MODULE_DIR$/build/outputs" />
120-
<excludeFolder url="file://$MODULE_DIR$/build/poms" />
121-
<excludeFolder url="file://$MODULE_DIR$/build/release" />
122-
<excludeFolder url="file://$MODULE_DIR$/build/release-1.0.0.zip" />
123-
<excludeFolder url="file://$MODULE_DIR$/build/reports" />
124-
<excludeFolder url="file://$MODULE_DIR$/build/test-results" />
125117
<excludeFolder url="file://$MODULE_DIR$/build/tmp" />
126118
</content>
127-
<orderEntry type="jdk" jdkName="Android API 25 Platform" jdkType="Android SDK" />
119+
<orderEntry type="jdk" jdkName="Android API 25 Platform (1)" jdkType="Android SDK" />
128120
<orderEntry type="sourceFolder" forTests="false" />
129121
<orderEntry type="library" exported="" name="support-annotations-25.0.1" level="project" />
130122
<orderEntry type="library" exported="" scope="TEST" name="espresso-core-2.2.2" level="project" />

EasyFlipView-Library/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ apply plugin: 'com.android.library'
33
ext {
44
PUBLISH_GROUP_ID = 'com.wajahatkarim3.EasyFlipView'
55
PUBLISH_ARTIFACT_ID = 'EasyFlipView'
6-
PUBLISH_VERSION = '1.0.1'
6+
PUBLISH_VERSION = '1.0.2'
77
}
88

99
android {

EasyFlipView-Library/src/main/java/com/wajahatkarim3/easyflipview/EasyFlipView.java

Lines changed: 56 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -97,14 +97,51 @@ protected void onFinishInflate ()
9797
}
9898

9999
private void findViews() {
100-
mCardFrontLayout = getChildAt(0);
101-
mCardBackLayout = getChildAt(1);
100+
mCardFrontLayout = getChildAt(1);
101+
mCardBackLayout = getChildAt(0);
102+
103+
mFlipState = FlipState.FRONT_SIDE;
104+
if (!isFlipOnTouch())
105+
{
106+
mCardFrontLayout.setVisibility(VISIBLE);
107+
mCardBackLayout.setVisibility(GONE);
108+
}
102109
}
103110

104111
private void loadAnimations() {
105-
mSetRightOut = (AnimatorSet) AnimatorInflater.loadAnimator(this.context, R.animator.animation_flip_in);
106-
mSetLeftIn = (AnimatorSet) AnimatorInflater.loadAnimator(this.context, R.animator.animation_flip_out);
112+
mSetRightOut = (AnimatorSet) AnimatorInflater.loadAnimator(this.context, R.animator.animation_flip_out);
113+
mSetLeftIn = (AnimatorSet) AnimatorInflater.loadAnimator(this.context, R.animator.animation_flip_in);
114+
115+
mSetRightOut.addListener(new Animator.AnimatorListener() {
116+
@Override
117+
public void onAnimationStart(Animator animator) {
118+
119+
}
120+
121+
@Override
122+
public void onAnimationEnd(Animator animator) {
123+
124+
if (mFlipState == FlipState.FRONT_SIDE)
125+
{
126+
mCardBackLayout.setVisibility(GONE);
127+
mCardFrontLayout.setVisibility(VISIBLE);
128+
}
129+
else {
130+
mCardBackLayout.setVisibility(VISIBLE);
131+
mCardFrontLayout.setVisibility(GONE);
132+
}
133+
}
107134

135+
@Override
136+
public void onAnimationCancel(Animator animator) {
137+
138+
}
139+
140+
@Override
141+
public void onAnimationRepeat(Animator animator) {
142+
143+
}
144+
});
108145
setFlipDuration(flipDuration);
109146
}
110147

@@ -126,14 +163,19 @@ public void flipTheView() {
126163
if (mSetRightOut.isRunning() || mSetLeftIn.isRunning())
127164
return;
128165

129-
if (!mIsBackVisible) {
166+
mCardBackLayout.setVisibility(VISIBLE);
167+
mCardFrontLayout.setVisibility(VISIBLE);
168+
169+
if (mFlipState == FlipState.FRONT_SIDE) {
170+
// From front to back
130171
mSetRightOut.setTarget(mCardFrontLayout);
131172
mSetLeftIn.setTarget(mCardBackLayout);
132173
mSetRightOut.start();
133174
mSetLeftIn.start();
134175
mIsBackVisible = true;
135176
mFlipState = FlipState.BACK_SIDE;
136177
} else {
178+
// from back to front
137179
mSetRightOut.setTarget(mCardBackLayout);
138180
mSetLeftIn.setTarget(mCardFrontLayout);
139181
mSetRightOut.start();
@@ -195,6 +237,7 @@ public boolean onTouchEvent(MotionEvent event) {
195237
else {
196238
return super.onTouchEvent(event);
197239
}
240+
return super.onTouchEvent(event);
198241
}
199242

200243
/**
@@ -227,8 +270,14 @@ public int getFlipDuration() {
227270
*/
228271
public void setFlipDuration(int flipDuration) {
229272
this.flipDuration = flipDuration;
230-
mSetRightOut.setDuration(flipDuration);
231-
mSetLeftIn.setDuration(flipDuration);
273+
274+
//mSetRightOut.setDuration(flipDuration);
275+
mSetRightOut.getChildAnimations().get(0).setDuration(flipDuration);
276+
mSetRightOut.getChildAnimations().get(1).setStartDelay(flipDuration/2);
277+
278+
//mSetLeftIn.setDuration(flipDuration);
279+
mSetLeftIn.getChildAnimations().get(1).setDuration(flipDuration);
280+
mSetLeftIn.getChildAnimations().get(2).setStartDelay(flipDuration/2);
232281
}
233282

234283
/**

EasyFlipView-Library/src/main/res/animator/animation_flip_in.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,6 @@
1919
android:valueFrom="0.0"
2020
android:valueTo="1.0"
2121
android:propertyName="alpha"
22-
android:startOffset="0"
22+
android:startOffset="@integer/anim_length_half"
2323
android:duration="0" />
2424
</set>

EasyFlipView-Library/src/main/res/animator/animation_flip_out.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,6 @@
1010
android:valueFrom="1.0"
1111
android:valueTo="0.0"
1212
android:propertyName="alpha"
13-
android:startOffset="0"
13+
android:startOffset="@integer/anim_length_half"
1414
android:duration="0" />
1515
</set>

README.md

Lines changed: 2 additions & 2 deletions
File renamed without changes.
File renamed without changes.
File renamed without changes.
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
package com.wajahatkarim3.easyflipview.demo;
2+
3+
import android.support.v7.app.AppCompatActivity;
4+
import android.os.Bundle;
5+
import android.view.View;
6+
import android.widget.LinearLayout;
7+
import android.widget.TextView;
8+
import android.widget.Toast;
9+
10+
import com.wajahatkarim3.easyflipview.EasyFlipView;
11+
12+
public class MainActivity extends AppCompatActivity {
13+
14+
@Override
15+
protected void onCreate(Bundle savedInstanceState) {
16+
super.onCreate(savedInstanceState);
17+
setContentView(R.layout.activity_main);
18+
19+
final EasyFlipView easyFlipView = (EasyFlipView) findViewById(R.id.easyFlipView);
20+
easyFlipView.setFlipDuration(1000);
21+
easyFlipView.setFlipEnabled(true);
22+
23+
findViewById(R.id.imgFrontCard).setOnClickListener(new View.OnClickListener() {
24+
@Override
25+
public void onClick(View view) {
26+
Toast.makeText(MainActivity.this, "Front Card", Toast.LENGTH_SHORT).show();
27+
easyFlipView.flipTheView();
28+
29+
}
30+
});
31+
32+
findViewById(R.id.imgBackCard).setOnClickListener(new View.OnClickListener() {
33+
@Override
34+
public void onClick(View view) {
35+
Toast.makeText(MainActivity.this, "Back Card", Toast.LENGTH_SHORT).show();
36+
easyFlipView.flipTheView();
37+
}
38+
});
39+
40+
}
41+
}

EasyFlipView-Demo/app/src/main/res/layout/activity_main.xml renamed to app/src/main/res/layout/activity_main.xml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,18 +17,18 @@
1717
android:id="@+id/easyFlipView"
1818
android:layout_width="match_parent"
1919
android:layout_height="wrap_content"
20-
app:flipOnTouch="true"
20+
app:flipOnTouch="false"
2121
app:flipDuration="500"
2222
app:flipEnabled="true">
2323

24-
<ImageView
24+
<ImageView android:id="@+id/imgBackCard"
2525
android:layout_width="match_parent"
2626
android:layout_height="200dp"
2727
android:gravity="center"
2828
android:src="@drawable/card_back"
2929
/>
3030

31-
<ImageView
31+
<ImageView android:id="@+id/imgFrontCard"
3232
android:layout_width="match_parent"
3333
android:layout_height="200dp"
3434
android:gravity="center"
File renamed without changes.

EasyFlipView-Demo/gradle.properties renamed to gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99

1010
# Specifies the JVM arguments used for the daemon process.
1111
# The setting is particularly useful for tweaking memory settings.
12-
org.gradle.jvmargs=-Xmx1536m
12+
org.gradle.jvmargs=-XX\:MaxHeapSize\=256m -Xmx256m
1313

1414
# When configured, Gradle will run in incubating parallel mode.
1515
# This option should only be used with decoupled projects. More details, visit
File renamed without changes.
File renamed without changes.

settings.gradle

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
include ':app', ':EasyFlipView-Library'
2+
//project(':EasyFlipView-Library').projectDir=new File('../EasyFlipView-Library')

0 commit comments

Comments
 (0)