Skip to content

Commit 9badebf

Browse files
committed
first commit
1 parent 7a74350 commit 9badebf

File tree

45 files changed

+1444
-0
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

+1444
-0
lines changed

.gitignore

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
*.iml
2+
.gradle
3+
/local.properties
4+
/.idea
5+
.DS_Store
6+
/build
7+
/captures
8+
.externalNativeBuild

app/.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
/build

app/build.gradle

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
apply plugin: 'com.android.application'
2+
3+
android {
4+
compileSdkVersion 25
5+
buildToolsVersion "25.0.2"
6+
defaultConfig {
7+
applicationId "moe.codeest.ecardflowdemo"
8+
minSdkVersion 21
9+
targetSdkVersion 25
10+
versionCode 1
11+
versionName "1.0"
12+
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
13+
}
14+
buildTypes {
15+
release {
16+
minifyEnabled false
17+
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
18+
}
19+
}
20+
}
21+
22+
dependencies {
23+
compile fileTree(include: ['*.jar'], dir: 'libs')
24+
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
25+
exclude group: 'com.android.support', module: 'support-annotations'
26+
})
27+
compile 'com.android.support:appcompat-v7:25.1.0'
28+
compile 'com.android.support:cardview-v7:25.1.0'
29+
compile 'com.android.support:design:25.1.0'
30+
compile 'jp.wasabeef:recyclerview-animators:2.2.5'
31+
testCompile 'junit:junit:4.12'
32+
compile project(':ecardflow')
33+
}

app/proguard-rules.pro

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# Add project specific ProGuard rules here.
2+
# By default, the flags in this file are appended to flags specified
3+
# in /Users/chenyulong/Library/Android/sdk/tools/proguard/proguard-android.txt
4+
# You can edit the include path and order by changing the proguardFiles
5+
# directive in build.gradle.
6+
#
7+
# For more details, see
8+
# http://developer.android.com/guide/developing/tools/proguard.html
9+
10+
# Add any project specific keep options here:
11+
12+
# If your project uses WebView with JS, uncomment the following
13+
# and specify the fully qualified class name to the JavaScript interface
14+
# class:
15+
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
16+
# public *;
17+
#}
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
package moe.codeest.ecardflowdemo;
2+
3+
import android.content.Context;
4+
import android.support.test.InstrumentationRegistry;
5+
import android.support.test.runner.AndroidJUnit4;
6+
7+
import org.junit.Test;
8+
import org.junit.runner.RunWith;
9+
10+
import static org.junit.Assert.*;
11+
12+
/**
13+
* Instrumentation test, which will execute on an Android device.
14+
*
15+
* @see <a href="http://d.android.com/tools/testing">Testing documentation</a>
16+
*/
17+
@RunWith(AndroidJUnit4.class)
18+
public class ExampleInstrumentedTest {
19+
@Test
20+
public void useAppContext() throws Exception {
21+
// Context of the app under test.
22+
Context appContext = InstrumentationRegistry.getTargetContext();
23+
24+
assertEquals("moe.codeest.ecardflowdemo", appContext.getPackageName());
25+
}
26+
}

app/src/main/AndroidManifest.xml

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
3+
package="moe.codeest.ecardflowdemo">
4+
5+
<application
6+
android:allowBackup="true"
7+
android:icon="@mipmap/ic_launcher"
8+
android:label="@string/app_name"
9+
android:supportsRtl="true"
10+
android:theme="@style/AppTheme">
11+
<activity android:name=".MainActivity"
12+
android:theme="@style/AppTheme">
13+
<intent-filter>
14+
<action android:name="android.intent.action.MAIN" />
15+
16+
<category android:name="android.intent.category.LAUNCHER" />
17+
</intent-filter>
18+
</activity>
19+
</application>
20+
21+
</manifest>
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
package moe.codeest.ecardflowdemo;
2+
3+
import android.graphics.Rect;
4+
import android.support.v7.widget.RecyclerView;
5+
import android.view.LayoutInflater;
6+
import android.view.View;
7+
import android.view.ViewGroup;
8+
9+
import static moe.codeest.ecardflowdemo.PagerFragment.dp2px;
10+
11+
/**
12+
* Created by codeest on 2017/1/13.
13+
*/
14+
15+
public class ItemAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder>{
16+
17+
private static final int DEFAULT_COUNT = 1;
18+
19+
private int mCurrentItemCount = DEFAULT_COUNT;
20+
21+
@Override
22+
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
23+
return new DefaultViewHolder(LayoutInflater.from(parent.getContext()).inflate(R.layout.item_view, parent, false));
24+
}
25+
26+
@Override
27+
public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
28+
29+
}
30+
31+
@Override
32+
public int getItemCount() {
33+
return mCurrentItemCount;
34+
}
35+
36+
public void setItemCount(int mCurrentItemCount) {
37+
this.mCurrentItemCount = mCurrentItemCount;
38+
}
39+
40+
public static class DefaultViewHolder extends RecyclerView.ViewHolder {
41+
42+
public DefaultViewHolder(View itemView) {
43+
super(itemView);
44+
}
45+
}
46+
47+
public static class DefaultItemDecoration extends RecyclerView.ItemDecoration{
48+
49+
@Override
50+
public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) {
51+
super.getItemOffsets(outRect, view, parent, state);
52+
int position = ((RecyclerView.LayoutParams) view.getLayoutParams()).getViewLayoutPosition();
53+
if (position > -1) {
54+
if (position == 0) {
55+
outRect.set(0, dp2px(view.getContext(), 18), 0, 0);
56+
}
57+
}
58+
}
59+
}
60+
}
Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
package moe.codeest.ecardflowdemo;
2+
3+
import android.os.Bundle;
4+
import android.support.v7.app.AppCompatActivity;
5+
import android.support.v7.widget.Toolbar;
6+
import android.view.View;
7+
8+
import java.util.ArrayList;
9+
import java.util.List;
10+
11+
import moe.codeest.ecardflow.ECardFlow;
12+
13+
public class MainActivity extends AppCompatActivity implements PagerFragment.OnPageListener{
14+
15+
private List<PagerFragment> mList = new ArrayList<>();
16+
private PagerAdapter mAdapter;
17+
private Toolbar mToolbar;
18+
private ECardFlow mEcardflow;
19+
20+
@Override
21+
protected void onCreate(Bundle savedInstanceState) {
22+
super.onCreate(savedInstanceState);
23+
setContentView(R.layout.activity_main);
24+
25+
init();
26+
}
27+
28+
private void init() {
29+
mEcardflow = (ECardFlow) findViewById(R.id.ecardflow);
30+
mToolbar = (Toolbar) findViewById(R.id.toolbar);
31+
32+
mList.add(PagerFragment.newInstance());
33+
mList.add(PagerFragment.newInstance());
34+
mList.add(PagerFragment.newInstance());
35+
mList.add(PagerFragment.newInstance());
36+
mList.add(PagerFragment.newInstance());
37+
38+
mAdapter = new PagerAdapter(getSupportFragmentManager(), mList);
39+
mEcardflow.setAdapter(mAdapter);
40+
mEcardflow.setOnExpandStateListener(new ECardFlow.OnExpandStateListener() {
41+
@Override
42+
public void onExpand(View page, int position) {
43+
mList.get(position).loadMoreData();
44+
}
45+
46+
@Override
47+
public void onShrink(View page, int position) {
48+
mList.get(position).hideMoreData();
49+
}
50+
});
51+
52+
setSupportActionBar(mToolbar);
53+
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
54+
getSupportActionBar().setDisplayShowHomeEnabled(true);
55+
mToolbar.setNavigationOnClickListener(new View.OnClickListener() {
56+
@Override
57+
public void onClick(View v) {
58+
onBackPressed();
59+
}
60+
});
61+
}
62+
63+
@Override
64+
public void onShrink() {
65+
mEcardflow.shrink();
66+
}
67+
}
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
package moe.codeest.ecardflowdemo;
2+
3+
import android.support.v4.app.Fragment;
4+
import android.support.v4.app.FragmentManager;
5+
import android.support.v4.app.FragmentPagerAdapter;
6+
7+
import java.util.List;
8+
9+
/**
10+
* Created by codeest on 2017/1/8.
11+
*/
12+
13+
public class PagerAdapter extends FragmentPagerAdapter{
14+
15+
private List<PagerFragment> mList;
16+
17+
public PagerAdapter(FragmentManager fm, List<PagerFragment> mList) {
18+
super(fm);
19+
this.mList = mList;
20+
}
21+
22+
@Override
23+
public Fragment getItem(int position) {
24+
return mList.get(position);
25+
}
26+
27+
@Override
28+
public int getCount() {
29+
return mList.size();
30+
}
31+
}

0 commit comments

Comments
 (0)