├── Imgs
├── GIF.gif
└── GIFF.gif
├── README.md
└── sdlirtext
├── .gitignore
├── Imgs
├── GIF.gif
└── GIFF.gif
├── README.md
├── build.gradle
├── proguard-rules.pro
├── sdlirtext.iml
└── src
├── androidTest
└── java
│ └── cn
│ └── evun
│ └── sdlirtext
│ └── ExampleInstrumentedTest.java
├── main
├── AndroidManifest.xml
├── java
│ └── cn
│ │ └── evun
│ │ └── sdlirtext
│ │ ├── BaseActivity.java
│ │ ├── BaseLeftBackActivity.java
│ │ ├── LeftBackActivity.java
│ │ ├── MainActivity.java
│ │ ├── MyFragment.java
│ │ ├── MyViewpager.java
│ │ ├── SlidrActivity.java
│ │ └── TopBackActivity.java
└── res
│ ├── anim
│ ├── slide_in_bottom.xml
│ ├── slide_in_left.xml
│ ├── slide_in_right.xml
│ ├── slide_in_top.xml
│ ├── slide_out_bottom.xml
│ ├── slide_out_left.xml
│ ├── slide_out_right.xml
│ └── slide_out_top.xml
│ ├── drawable-xxhdpi
│ └── andy.jpg
│ ├── layout
│ ├── activity_back.xml
│ ├── activity_main.xml
│ ├── base_left_back_activity.xml
│ ├── fragment.xml
│ ├── item.xml
│ ├── slidr_activity.xml
│ └── top_back_activity.xml
│ ├── mipmap-hdpi
│ ├── ic_launcher.png
│ └── ic_launcher_round.png
│ ├── mipmap-mdpi
│ ├── ic_launcher.png
│ └── ic_launcher_round.png
│ ├── mipmap-xhdpi
│ ├── ic_launcher.png
│ └── ic_launcher_round.png
│ ├── mipmap-xxhdpi
│ ├── ic_launcher.png
│ └── ic_launcher_round.png
│ ├── mipmap-xxxhdpi
│ ├── ic_launcher.png
│ └── ic_launcher_round.png
│ └── values
│ ├── colors.xml
│ ├── strings.xml
│ └── styles.xml
└── test
└── java
└── cn
└── evun
└── sdlirtext
└── ExampleUnitTest.java
/Imgs/GIF.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AndyAls/SlidrDemo/28ac9b794357be912158119d4c21f0384774cc04/Imgs/GIF.gif
--------------------------------------------------------------------------------
/Imgs/GIFF.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AndyAls/SlidrDemo/28ac9b794357be912158119d4c21f0384774cc04/Imgs/GIFF.gif
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AndyAls/SlidrDemo/28ac9b794357be912158119d4c21f0384774cc04/README.md
--------------------------------------------------------------------------------
/sdlirtext/.gitignore:
--------------------------------------------------------------------------------
1 | /build
2 |
--------------------------------------------------------------------------------
/sdlirtext/Imgs/GIF.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AndyAls/SlidrDemo/28ac9b794357be912158119d4c21f0384774cc04/sdlirtext/Imgs/GIF.gif
--------------------------------------------------------------------------------
/sdlirtext/Imgs/GIFF.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AndyAls/SlidrDemo/28ac9b794357be912158119d4c21f0384774cc04/sdlirtext/Imgs/GIFF.gif
--------------------------------------------------------------------------------
/sdlirtext/README.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AndyAls/SlidrDemo/28ac9b794357be912158119d4c21f0384774cc04/sdlirtext/README.md
--------------------------------------------------------------------------------
/sdlirtext/build.gradle:
--------------------------------------------------------------------------------
1 | apply plugin: 'com.android.application'
2 |
3 | android {
4 | compileSdkVersion 25
5 | buildToolsVersion "26.0.1"
6 |
7 | defaultConfig {
8 | applicationId "cn.evun.sdlirtext"
9 | minSdkVersion 16
10 | targetSdkVersion 25
11 | versionCode 1
12 | versionName "1.0"
13 |
14 | testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
15 |
16 | }
17 | buildTypes {
18 | release {
19 | minifyEnabled false
20 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
21 | }
22 | }
23 | }
24 |
25 | dependencies {
26 | compile fileTree(dir: 'libs', include: ['*.jar'])
27 | androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
28 | exclude group: 'com.android.support', module: 'support-annotations'
29 | })
30 | compile 'com.android.support:appcompat-v7:25.3.1'
31 | compile 'com.android.support.constraint:constraint-layout:1.0.0-alpha7'
32 | testCompile 'junit:junit:4.12'
33 | compile 'com.android.support:design:25.3.1'
34 | compile 'com.android.support:recyclerview-v7:25.3.1'
35 | compile 'com.r0adkll:slidableactivity:2.0.5'
36 | }
37 |
--------------------------------------------------------------------------------
/sdlirtext/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # By default, the flags in this file are appended to flags specified
3 | # in D:\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 | #}
18 |
19 | # Uncomment this to preserve the line number information for
20 | # debugging stack traces.
21 | #-keepattributes SourceFile,LineNumberTable
22 |
23 | # If you keep the line number information, uncomment this to
24 | # hide the original source file name.
25 | #-renamesourcefileattribute SourceFile
26 |
--------------------------------------------------------------------------------
/sdlirtext/sdlirtext.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 | generateDebugSources
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 |
110 |
111 |
112 |
113 |
114 |
115 |
116 |
117 |
118 |
119 |
120 |
121 |
122 |
123 |
124 |
125 |
126 |
127 |
--------------------------------------------------------------------------------
/sdlirtext/src/androidTest/java/cn/evun/sdlirtext/ExampleInstrumentedTest.java:
--------------------------------------------------------------------------------
1 | package cn.evun.sdlirtext;
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 Testing documentation
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("cn.evun.sdlirtext", appContext.getPackageName());
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/sdlirtext/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/sdlirtext/src/main/java/cn/evun/sdlirtext/BaseActivity.java:
--------------------------------------------------------------------------------
1 | package cn.evun.sdlirtext;
2 |
3 | import android.os.Bundle;
4 | import android.support.annotation.Nullable;
5 | import android.support.v7.app.AppCompatActivity;
6 |
7 | import java.util.ArrayList;
8 | import java.util.List;
9 |
10 | /**
11 | * Created by Shuai.Li13 on 2017/8/10.
12 | */
13 |
14 | public class BaseActivity extends AppCompatActivity {
15 |
16 | protected List mDatas=new ArrayList<>();
17 | @Override
18 | protected void onCreate(@Nullable Bundle savedInstanceState) {
19 | super.onCreate(savedInstanceState);
20 |
21 | initData();
22 | }
23 |
24 | private void initData() {
25 | for (int i = 0; i < 12; i++) {
26 | mDatas.add("Tab"+i);
27 | }
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/sdlirtext/src/main/java/cn/evun/sdlirtext/BaseLeftBackActivity.java:
--------------------------------------------------------------------------------
1 | package cn.evun.sdlirtext;
2 |
3 | import android.os.Bundle;
4 | import android.support.annotation.LayoutRes;
5 | import android.support.annotation.Nullable;
6 | import android.support.v4.app.Fragment;
7 | import android.support.v7.app.ActionBar;
8 | import android.support.v7.app.AppCompatActivity;
9 | import android.support.v7.widget.Toolbar;
10 | import android.view.LayoutInflater;
11 | import android.view.View;
12 | import android.widget.FrameLayout;
13 |
14 | import com.r0adkll.slidr.Slidr;
15 | import com.r0adkll.slidr.model.SlidrConfig;
16 | import com.r0adkll.slidr.model.SlidrPosition;
17 |
18 | /**
19 | * Created by Shuai.Li13 on 2017/8/10.
20 | */
21 |
22 | public class BaseLeftBackActivity extends BaseActivity {
23 |
24 | @Override
25 | protected void onCreate(@Nullable Bundle savedInstanceState) {
26 | super.onCreate(savedInstanceState);
27 |
28 | initSlidr();
29 | }
30 |
31 | private void initSlidr() {
32 | SlidrConfig config=new SlidrConfig.Builder()
33 | .position(SlidrPosition.LEFT)//滑动起始方向
34 | .edge(true)
35 | .edgeSize(0.18f)//距离左边界占屏幕大小的18%
36 | .build();
37 | Slidr.attach(this,config);
38 | }
39 |
40 | @Override
41 | public void setContentView(@LayoutRes int layoutResID) {
42 |
43 | View contentView= LayoutInflater.from(this).inflate(R.layout.base_left_back_activity,null);
44 | FrameLayout flContainer= (FrameLayout) contentView.findViewById(R.id.flContainer);
45 | Toolbar toolbar= (Toolbar) contentView.findViewById(R.id.toolbar);
46 | setSupportActionBar(toolbar);
47 | View view=LayoutInflater.from(this).inflate(layoutResID,flContainer,false);
48 | flContainer.addView(view);
49 | super.setContentView(contentView);
50 | }
51 | protected ActionBar getToolbar(){
52 | return getSupportActionBar();
53 | }
54 | }
55 |
--------------------------------------------------------------------------------
/sdlirtext/src/main/java/cn/evun/sdlirtext/LeftBackActivity.java:
--------------------------------------------------------------------------------
1 | package cn.evun.sdlirtext;
2 |
3 | import android.app.ActivityOptions;
4 | import android.content.Intent;
5 | import android.os.Bundle;
6 | import android.support.annotation.Nullable;
7 | import android.support.design.widget.TabLayout;
8 | import android.support.v4.app.Fragment;
9 | import android.support.v4.app.FragmentManager;
10 | import android.support.v4.app.FragmentPagerAdapter;
11 | import android.support.v4.view.ViewPager;
12 | import android.transition.Slide;
13 |
14 | import java.util.ArrayList;
15 | import java.util.List;
16 |
17 | /**
18 | * Created by Shuai.Li13 on 2017/8/10.
19 | */
20 |
21 | public class LeftBackActivity extends BaseLeftBackActivity {
22 |
23 | @Override
24 | protected void onCreate(@Nullable Bundle savedInstanceState) {
25 | super.onCreate(savedInstanceState);
26 | setContentView(R.layout.activity_back);
27 | initView();
28 | }
29 |
30 | @Override
31 | public void finish() {
32 | super.finish();
33 | overridePendingTransition(0, R.anim.slide_in_right);
34 | }
35 |
36 | private void initView() {
37 |
38 | getToolbar().setTitle("LeftBackActivity");
39 | TabLayout tabLayout = (TabLayout) findViewById(R.id.tabLayout);
40 | ViewPager viewPager = (ViewPager) findViewById(R.id.viewpager);
41 | MyAdapter adapter=new MyAdapter(getSupportFragmentManager());
42 | viewPager.setAdapter(adapter);
43 | tabLayout.setupWithViewPager(viewPager);
44 | }
45 |
46 | public static void start(MainActivity mainActivity) {
47 | Intent intent=new Intent(mainActivity,LeftBackActivity.class);
48 | mainActivity.startActivity(intent);
49 | mainActivity.overridePendingTransition(R.anim.slide_in_left, 0);
50 | }
51 |
52 |
53 |
54 | private class MyAdapter extends FragmentPagerAdapter {
55 |
56 | public MyAdapter(FragmentManager fm) {
57 | super(fm);
58 | }
59 |
60 | @Override
61 | public Fragment getItem(int position) {
62 |
63 | return MyFragment.newInstance(mDatas.get(position));
64 | }
65 |
66 | @Override
67 | public int getCount() {
68 | return mDatas.size();
69 | }
70 |
71 | @Override
72 | public CharSequence getPageTitle(int position) {
73 | return mDatas.get(position);
74 | }
75 | }
76 |
77 | }
78 |
--------------------------------------------------------------------------------
/sdlirtext/src/main/java/cn/evun/sdlirtext/MainActivity.java:
--------------------------------------------------------------------------------
1 | package cn.evun.sdlirtext;
2 |
3 | import android.app.ActivityOptions;
4 | import android.content.Intent;
5 | import android.support.v4.app.ActivityCompat;
6 | import android.support.v7.app.AppCompatActivity;
7 | import android.os.Bundle;
8 | import android.view.View;
9 |
10 | public class MainActivity extends AppCompatActivity {
11 |
12 | @Override
13 | protected void onCreate(Bundle savedInstanceState) {
14 | super.onCreate(savedInstanceState);
15 | setContentView(R.layout.activity_main);
16 | }
17 |
18 | public void onClick(View view) {
19 | switch (view.getId()){
20 | case R.id.bt1:
21 | LeftBackActivity.start(this);
22 | break;
23 | case R.id.bt2:
24 | Intent intent = new Intent(this,TopBackActivity.class);
25 | Bundle bundle = ActivityOptions.makeSceneTransitionAnimation(this).toBundle();
26 | ActivityCompat.startActivity(this,intent,bundle);
27 | break;
28 | case R.id.bt3:
29 | intent=new Intent(this,SlidrActivity.class);
30 | startActivity(intent);
31 | break;
32 | }
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/sdlirtext/src/main/java/cn/evun/sdlirtext/MyFragment.java:
--------------------------------------------------------------------------------
1 | package cn.evun.sdlirtext;
2 |
3 | import android.animation.ArgbEvaluator;
4 | import android.content.Context;
5 | import android.graphics.Color;
6 | import android.os.Bundle;
7 | import android.support.annotation.Nullable;
8 | import android.support.v4.app.Fragment;
9 | import android.view.LayoutInflater;
10 | import android.view.View;
11 | import android.view.ViewGroup;
12 | import android.widget.TextView;
13 |
14 | import java.util.Random;
15 |
16 | /**
17 | * Created by Shuai.Li13 on 2017/8/9.
18 | */
19 |
20 | public class MyFragment extends Fragment{
21 |
22 | private static final String TAB_KEY = "TAB_KEY";
23 | private Bundle getBundle;
24 | private Context mContext;
25 |
26 | public static MyFragment newInstance(String type){
27 |
28 | MyFragment fragment=new MyFragment();
29 | Bundle bundle=new Bundle();
30 | bundle.putCharSequence(TAB_KEY,type);
31 | fragment.setArguments(bundle);
32 | return fragment;
33 | }
34 |
35 | @Override
36 | public void onCreate(@Nullable Bundle savedInstanceState) {
37 | super.onCreate(savedInstanceState);
38 | Bundle arguments = getArguments();
39 | if (arguments!=null){
40 | this.getBundle=arguments;
41 | }
42 | mContext=getActivity();
43 | }
44 |
45 | @Nullable
46 | @Override
47 | public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
48 | View view = LayoutInflater.from(mContext).inflate(R.layout.fragment, container, false);
49 | TextView tv= (TextView) view.findViewById(R.id.tv);
50 | ArgbEvaluator evaluator = new ArgbEvaluator();
51 | Random random = new Random();
52 | float v = random.nextFloat();
53 | int evaluate = (int) evaluator.evaluate(v, Color.parseColor("#FF3366"), Color.GREEN);
54 | tv.setBackgroundColor(evaluate);
55 | tv.setText(getBundle.getCharSequence(TAB_KEY));
56 | tv.setTextColor(getResources().getColor(R.color.white));
57 | return view;
58 | }
59 | }
60 |
--------------------------------------------------------------------------------
/sdlirtext/src/main/java/cn/evun/sdlirtext/MyViewpager.java:
--------------------------------------------------------------------------------
1 | package cn.evun.sdlirtext;
2 |
3 | import android.content.Context;
4 | import android.support.v4.view.ViewPager;
5 | import android.util.AttributeSet;
6 | import android.view.View;
7 |
8 | /**
9 | * Created by Shuai.Li13 on 2017/8/10.
10 | */
11 |
12 | public class MyViewpager extends ViewPager {
13 | public MyViewpager(Context context) {
14 | super(context);
15 | }
16 |
17 | public MyViewpager(Context context, AttributeSet attrs) {
18 | super(context, attrs);
19 | }
20 |
21 | @Override
22 | protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
23 |
24 |
25 | // int height = 0;
26 | // for (int i = 0; i < getChildCount(); i++) {
27 | // View child = getChildAt(i);
28 | // child.measure(widthMeasureSpec, MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED));
29 | // int h = child.getMeasuredHeight();
30 | // if (h > height) height = h;
31 | // }
32 | // heightMeasureSpec = MeasureSpec.makeMeasureSpec(height, MeasureSpec.EXACTLY);
33 | int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 1,
34 | MeasureSpec.AT_MOST);
35 | super.onMeasure(widthMeasureSpec, expandSpec);
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/sdlirtext/src/main/java/cn/evun/sdlirtext/SlidrActivity.java:
--------------------------------------------------------------------------------
1 | package cn.evun.sdlirtext;
2 |
3 | import android.animation.ArgbEvaluator;
4 | import android.os.Bundle;
5 | import android.support.annotation.IntegerRes;
6 | import android.support.annotation.LayoutRes;
7 | import android.support.annotation.Nullable;
8 | import android.support.v4.view.PagerAdapter;
9 | import android.support.v4.view.ViewPager;
10 | import android.view.View;
11 | import android.view.ViewGroup;
12 | import android.widget.ImageView;
13 | import android.widget.LinearLayout;
14 |
15 | import com.r0adkll.slidr.Slidr;
16 | import com.r0adkll.slidr.model.SlidrConfig;
17 | import com.r0adkll.slidr.model.SlidrPosition;
18 |
19 | import java.util.ArrayList;
20 | import java.util.List;
21 |
22 | /**
23 | * Created by Shuai.Li13 on 2017/8/11.
24 | */
25 |
26 | public class SlidrActivity extends BaseActivity{
27 |
28 | List mList = new ArrayList<>();
29 | @Override
30 | protected void onCreate(@Nullable Bundle savedInstanceState) {
31 | super.onCreate(savedInstanceState);
32 | setContentView(R.layout.slidr_activity);
33 |
34 | initSlidr();
35 | initList();
36 | initView();
37 | }
38 |
39 | private void initList() {
40 | for (int i = 0; i < mDatas.size(); i++) {
41 | ImageView imageView = new ImageView(SlidrActivity.this);
42 | ViewGroup.LayoutParams layoutParams = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
43 | imageView.setLayoutParams(layoutParams);
44 | imageView.setImageDrawable(getDrawable(R.drawable.andy));
45 | mList.add(imageView);
46 | }
47 | }
48 |
49 | private void initView() {
50 | ViewPager viewPager = (ViewPager) findViewById(R.id.viewpager);
51 | final LinearLayout ll= (LinearLayout) findViewById(R.id.ll);
52 | viewPager.setAdapter(new PagerAdapter() {
53 | @Override
54 | public int getCount() {
55 | return Integer.MAX_VALUE/2;
56 | }
57 |
58 | @Override
59 | public boolean isViewFromObject(View view, Object object) {
60 | return view==object;
61 | }
62 |
63 | @Override
64 | public Object instantiateItem(ViewGroup container, int position) {
65 |
66 | container.addView(mList.get(position%mList.size()));
67 | return mList.get(position%mList.size());
68 | }
69 |
70 | @Override
71 | public void destroyItem(ViewGroup container, int position, Object object) {
72 | container.removeView(mList.get(position%mDatas.size()));
73 | }
74 | });
75 |
76 | viewPager.setCurrentItem(Integer.MAX_VALUE/2-(Integer.MAX_VALUE/2)%mDatas.size());
77 |
78 | viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
79 | @Override
80 | public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
81 |
82 | ArgbEvaluator evaluator = new ArgbEvaluator();
83 | int evaluate = (int) evaluator.evaluate(positionOffset, getResources().getColor(R.color.green), getResources().getColor(R.color.yellow));
84 | ll.setBackgroundColor(evaluate);
85 | }
86 |
87 | @Override
88 | public void onPageSelected(int position) {
89 |
90 | }
91 |
92 | @Override
93 | public void onPageScrollStateChanged(int state) {
94 |
95 | }
96 | });
97 | }
98 |
99 | private void initSlidr() {
100 |
101 | SlidrConfig config = new SlidrConfig.Builder()
102 | .position(SlidrPosition.VERTICAL)
103 | .secondaryColor(getColor(R.color.yellow))
104 | .scrimColor(getColor(R.color.green))
105 | .scrimColor(getColor(R.color.colorAccent))
106 | .build();
107 | Slidr.attach(this,config);
108 | }
109 | }
110 |
--------------------------------------------------------------------------------
/sdlirtext/src/main/java/cn/evun/sdlirtext/TopBackActivity.java:
--------------------------------------------------------------------------------
1 | package cn.evun.sdlirtext;
2 |
3 | import android.graphics.Color;
4 | import android.os.Bundle;
5 | import android.support.annotation.LayoutRes;
6 | import android.support.annotation.Nullable;
7 | import android.support.design.widget.CollapsingToolbarLayout;
8 | import android.support.v7.app.AppCompatActivity;
9 | import android.support.v7.widget.LinearLayoutManager;
10 | import android.support.v7.widget.RecyclerView;
11 | import android.support.v7.widget.Toolbar;
12 | import android.transition.Slide;
13 | import android.view.Gravity;
14 | import android.view.LayoutInflater;
15 | import android.view.View;
16 | import android.view.ViewGroup;
17 | import android.widget.TextView;
18 |
19 | import com.r0adkll.slidr.Slidr;
20 | import com.r0adkll.slidr.model.SlidrConfig;
21 | import com.r0adkll.slidr.model.SlidrPosition;
22 |
23 | /**
24 | * Created by Shuai.Li13 on 2017/8/10.
25 | */
26 |
27 | public class TopBackActivity extends BaseActivity{
28 |
29 |
30 | @Override
31 | protected void onCreate(@Nullable Bundle savedInstanceState) {
32 | super.onCreate(savedInstanceState);
33 | setContentView(R.layout.top_back_activity);
34 |
35 | getWindow().setEnterTransition(new Slide().setDuration(500));
36 | getWindow().setExitTransition(new Slide().setDuration(500));
37 | initView();
38 | initSlidr();
39 | }
40 |
41 | private void initSlidr() {
42 | SlidrConfig config=new SlidrConfig.Builder()
43 | .position(SlidrPosition.TOP)//滑动起始方向
44 | .edge(true)
45 | .edgeSize(0.3f)//边界占屏幕大小30%
46 | .build();
47 | Slidr.attach(this,config);
48 | }
49 |
50 | private void initView() {
51 |
52 | Toolbar toolbar= (Toolbar) findViewById(R.id.toolbar);
53 | CollapsingToolbarLayout ctl= (CollapsingToolbarLayout) findViewById(R.id.ctl);
54 | RecyclerView recyclerView = (RecyclerView) findViewById(R.id.recyclerView);
55 | toolbar.setTitleTextColor(getColor(R.color.white));
56 | ctl.setCollapsedTitleGravity(Gravity.RELATIVE_HORIZONTAL_GRAVITY_MASK);
57 | ctl.setExpandedTitleColor(Color.parseColor("#00ffffff"));
58 | ctl.setCollapsedTitleTextColor(getColor(R.color.white));
59 | setSupportActionBar(toolbar);
60 | getSupportActionBar().setDisplayHomeAsUpEnabled(true);
61 |
62 | LinearLayoutManager manager = new LinearLayoutManager(this);
63 | manager.setOrientation(LinearLayoutManager.VERTICAL);
64 | recyclerView.setLayoutManager(manager);
65 | recyclerView.setHasFixedSize(true);
66 | MyAdapter adapter = new MyAdapter();
67 | recyclerView.setAdapter(adapter);
68 | }
69 |
70 | private class MyAdapter extends RecyclerView.Adapter{
71 | @Override
72 | public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
73 |
74 | View inflate = LayoutInflater.from(TopBackActivity.this).inflate(R.layout.item, parent, false);
75 | return new MyHolder(inflate);
76 | }
77 |
78 | @Override
79 | public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
80 |
81 | ((MyHolder) holder).tv.setText(mDatas.get(position));
82 | }
83 |
84 | @Override
85 | public int getItemCount() {
86 | return mDatas.size();
87 | }
88 | }
89 | class MyHolder extends RecyclerView.ViewHolder {
90 |
91 | private final TextView tv;
92 |
93 | public MyHolder(View itemView) {
94 | super(itemView);
95 | tv = (TextView) itemView.findViewById(R.id.tv);
96 | }
97 | }
98 | }
99 |
--------------------------------------------------------------------------------
/sdlirtext/src/main/res/anim/slide_in_bottom.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
--------------------------------------------------------------------------------
/sdlirtext/src/main/res/anim/slide_in_left.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
--------------------------------------------------------------------------------
/sdlirtext/src/main/res/anim/slide_in_right.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
--------------------------------------------------------------------------------
/sdlirtext/src/main/res/anim/slide_in_top.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
--------------------------------------------------------------------------------
/sdlirtext/src/main/res/anim/slide_out_bottom.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
--------------------------------------------------------------------------------
/sdlirtext/src/main/res/anim/slide_out_left.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
--------------------------------------------------------------------------------
/sdlirtext/src/main/res/anim/slide_out_right.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
--------------------------------------------------------------------------------
/sdlirtext/src/main/res/anim/slide_out_top.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
--------------------------------------------------------------------------------
/sdlirtext/src/main/res/drawable-xxhdpi/andy.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AndyAls/SlidrDemo/28ac9b794357be912158119d4c21f0384774cc04/sdlirtext/src/main/res/drawable-xxhdpi/andy.jpg
--------------------------------------------------------------------------------
/sdlirtext/src/main/res/layout/activity_back.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
13 |
20 |
21 |
22 |
26 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/sdlirtext/src/main/res/layout/activity_main.xml:
--------------------------------------------------------------------------------
1 |
2 |
9 |
10 |
21 |
22 |
35 |
36 |
49 |
50 |
51 |
--------------------------------------------------------------------------------
/sdlirtext/src/main/res/layout/base_left_back_activity.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
11 |
18 |
19 |
20 |
24 |
25 |
--------------------------------------------------------------------------------
/sdlirtext/src/main/res/layout/fragment.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
14 |
15 |
--------------------------------------------------------------------------------
/sdlirtext/src/main/res/layout/item.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
12 |
13 |
--------------------------------------------------------------------------------
/sdlirtext/src/main/res/layout/slidr_activity.xml:
--------------------------------------------------------------------------------
1 |
2 |
9 |
10 |
15 |
16 |
--------------------------------------------------------------------------------
/sdlirtext/src/main/res/layout/top_back_activity.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
10 |
11 |
16 |
22 |
23 |
29 |
30 |
31 |
32 |
38 |
39 |
40 |
--------------------------------------------------------------------------------
/sdlirtext/src/main/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AndyAls/SlidrDemo/28ac9b794357be912158119d4c21f0384774cc04/sdlirtext/src/main/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/sdlirtext/src/main/res/mipmap-hdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AndyAls/SlidrDemo/28ac9b794357be912158119d4c21f0384774cc04/sdlirtext/src/main/res/mipmap-hdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/sdlirtext/src/main/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AndyAls/SlidrDemo/28ac9b794357be912158119d4c21f0384774cc04/sdlirtext/src/main/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/sdlirtext/src/main/res/mipmap-mdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AndyAls/SlidrDemo/28ac9b794357be912158119d4c21f0384774cc04/sdlirtext/src/main/res/mipmap-mdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/sdlirtext/src/main/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AndyAls/SlidrDemo/28ac9b794357be912158119d4c21f0384774cc04/sdlirtext/src/main/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/sdlirtext/src/main/res/mipmap-xhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AndyAls/SlidrDemo/28ac9b794357be912158119d4c21f0384774cc04/sdlirtext/src/main/res/mipmap-xhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/sdlirtext/src/main/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AndyAls/SlidrDemo/28ac9b794357be912158119d4c21f0384774cc04/sdlirtext/src/main/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/sdlirtext/src/main/res/mipmap-xxhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AndyAls/SlidrDemo/28ac9b794357be912158119d4c21f0384774cc04/sdlirtext/src/main/res/mipmap-xxhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/sdlirtext/src/main/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AndyAls/SlidrDemo/28ac9b794357be912158119d4c21f0384774cc04/sdlirtext/src/main/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/sdlirtext/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AndyAls/SlidrDemo/28ac9b794357be912158119d4c21f0384774cc04/sdlirtext/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/sdlirtext/src/main/res/values/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #3F51B5
4 | #303F9F
5 | #FF4081
6 |
7 | #ffffff
8 | #d4f851
9 | #40d738
10 |
11 |
--------------------------------------------------------------------------------
/sdlirtext/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 | SdlirText
3 |
4 |
--------------------------------------------------------------------------------
/sdlirtext/src/main/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
15 |
16 |
17 |
21 |
22 |
28 |
29 |
--------------------------------------------------------------------------------
/sdlirtext/src/test/java/cn/evun/sdlirtext/ExampleUnitTest.java:
--------------------------------------------------------------------------------
1 | package cn.evun.sdlirtext;
2 |
3 | import org.junit.Test;
4 |
5 | import static org.junit.Assert.*;
6 |
7 | /**
8 | * Example local unit test, which will execute on the development machine (host).
9 | *
10 | * @see Testing documentation
11 | */
12 | public class ExampleUnitTest {
13 | @Test
14 | public void addition_isCorrect() throws Exception {
15 | assertEquals(4, 2 + 2);
16 | }
17 | }
--------------------------------------------------------------------------------