├── .gitignore
├── README.md
├── Screenshot
└── index.gif
├── app
├── .gitignore
├── build.gradle
├── proguard-rules.pro
└── src
│ ├── androidTest
│ └── java
│ │ └── cn
│ │ └── groegeyang
│ │ └── doublescroll
│ │ └── ApplicationTest.java
│ ├── main
│ ├── AndroidManifest.xml
│ ├── java
│ │ └── cn
│ │ │ └── georgeyang
│ │ │ └── doublescroll
│ │ │ ├── BaseListFragment.java
│ │ │ ├── DSRefView.java
│ │ │ ├── DoubleScrollView.java
│ │ │ ├── DoubleScrollViewPager.java
│ │ │ ├── Fragment1.java
│ │ │ ├── Fragment2.java
│ │ │ ├── Fragment3.java
│ │ │ ├── Fragment4.java
│ │ │ ├── FragmentSina.java
│ │ │ ├── MainActivity.java
│ │ │ ├── NormalRecyclerViewAdapter.java
│ │ │ ├── SAdapter.java
│ │ │ └── ViewUtil.java
│ └── res
│ │ ├── layout
│ │ ├── activity_listview.xml
│ │ ├── layout_dsview.xml
│ │ ├── layout_listview.xml
│ │ ├── layout_normal.xml
│ │ ├── layout_recyclerview.xml
│ │ ├── layout_scrollview.xml
│ │ └── layout_sina.xml
│ │ ├── mipmap-hdpi
│ │ └── ic_launcher.png
│ │ ├── mipmap-mdpi
│ │ └── ic_launcher.png
│ │ ├── mipmap-xhdpi
│ │ └── ic_launcher.png
│ │ ├── mipmap-xxhdpi
│ │ ├── button_triangle_up.png
│ │ └── ic_launcher.png
│ │ ├── mipmap-xxxhdpi
│ │ └── ic_launcher.png
│ │ ├── values-w120dp
│ │ └── dps.xml
│ │ ├── values-w320dp
│ │ ├── dimens.xml
│ │ └── dps.xml
│ │ ├── values-w340dp
│ │ └── dps.xml
│ │ ├── values-w350dp
│ │ └── dimens.xml
│ │ ├── values-w360dp
│ │ └── dps.xml
│ │ ├── values-w380dp
│ │ └── dps.xml
│ │ ├── values-w400dp
│ │ ├── dimens.xml
│ │ └── dps.xml
│ │ ├── values-w420dp
│ │ └── dps.xml
│ │ ├── values-w440dp
│ │ └── dps.xml
│ │ ├── values-w460dp
│ │ └── dps.xml
│ │ ├── values-w480dp
│ │ └── dps.xml
│ │ ├── values-w500dp
│ │ └── dps.xml
│ │ ├── values-w520dp
│ │ └── dps.xml
│ │ ├── values-w820dp
│ │ └── dimens.xml
│ │ └── values
│ │ ├── colors.xml
│ │ ├── dimens.xml
│ │ ├── dps.xml
│ │ ├── strings.xml
│ │ └── styles.xml
│ └── test
│ └── java
│ └── cn
│ └── groegeyang
│ └── doublescroll
│ └── ExampleUnitTest.java
├── build.gradle
├── gradle.properties
├── gradle
└── wrapper
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── gradlew
├── gradlew.bat
└── settings.gradle
/.gitignore:
--------------------------------------------------------------------------------
1 | *.iml
2 | .gradle
3 | /local.properties
4 | /.idea/workspace.xml
5 | /.idea/libraries
6 | .DS_Store
7 | /build
8 | /captures
9 | .idea/compiler.xml
10 | .idea/encodings.xml
11 | .idea/misc.xml
12 | .idea/copyright/profiles_settings.xml
13 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # DoubleScroll
2 |
3 | 处理一个两层滑动view的自定义布局,以最少的代码实现,可扩展自定义View~
4 |
5 | #演示效果
6 |
7 | 
8 |
9 | #小广告
10 | [安卓适配最佳解决方案](https://github.com/georgeyang1024/DpsGenerate)
11 |
--------------------------------------------------------------------------------
/Screenshot/index.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/georgeyang1024/DoubleScroll/d6274cf26d02788dd73c0a1d168ffedde6426be3/Screenshot/index.gif
--------------------------------------------------------------------------------
/app/.gitignore:
--------------------------------------------------------------------------------
1 | /build
2 |
--------------------------------------------------------------------------------
/app/build.gradle:
--------------------------------------------------------------------------------
1 | apply plugin: 'com.android.application'
2 |
3 | android {
4 | compileSdkVersion 25
5 | buildToolsVersion '25.0.0'
6 |
7 | defaultConfig {
8 | applicationId "cn.georgeyang.doublescroll"
9 | minSdkVersion 15
10 | targetSdkVersion 25
11 | versionCode 1
12 | versionName "1.0"
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 | testCompile 'junit:junit:4.12'
25 | compile 'com.android.support:appcompat-v7:+'
26 | compile 'com.android.support:design:+'
27 | }
28 |
--------------------------------------------------------------------------------
/app/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 C:\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 | #}
18 |
--------------------------------------------------------------------------------
/app/src/androidTest/java/cn/groegeyang/doublescroll/ApplicationTest.java:
--------------------------------------------------------------------------------
1 | package cn.groegeyang.doublescroll;
2 |
3 | import android.app.Application;
4 | import android.test.ApplicationTestCase;
5 |
6 | /**
7 | * Testing Fundamentals
8 | */
9 | public class ApplicationTest extends ApplicationTestCase {
10 | public ApplicationTest() {
11 | super(Application.class);
12 | }
13 | }
--------------------------------------------------------------------------------
/app/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/app/src/main/java/cn/georgeyang/doublescroll/BaseListFragment.java:
--------------------------------------------------------------------------------
1 | package cn.georgeyang.doublescroll;
2 |
3 | import android.support.v4.app.Fragment;
4 | import android.view.View;
5 | import android.widget.ListView;
6 |
7 | /**
8 | * Created by yangsp on 2016/11/14.
9 | */
10 | public abstract class BaseListFragment extends Fragment {
11 | abstract View getSlidableView();
12 | }
13 |
--------------------------------------------------------------------------------
/app/src/main/java/cn/georgeyang/doublescroll/DSRefView.java:
--------------------------------------------------------------------------------
1 | package cn.georgeyang.doublescroll;
2 |
3 | import android.app.Activity;
4 | import android.content.Context;
5 | import android.graphics.Bitmap;
6 | import android.media.MediaPlayer;
7 | import android.os.Build;
8 | import android.support.annotation.RequiresApi;
9 | import android.support.v4.widget.SwipeRefreshLayout;
10 | import android.util.AttributeSet;
11 | import android.view.MotionEvent;
12 | import android.view.View;
13 | import android.view.ViewGroup;
14 | import android.widget.FrameLayout;
15 | import android.widget.ImageView;
16 | import android.widget.RelativeLayout;
17 | import android.widget.ScrollView;
18 |
19 | /**
20 | * Created by george.yang on 16/11/16.
21 | */
22 | public class DSRefView extends FrameLayout {
23 | public DSRefView(Context context) {
24 | super(context);
25 | }
26 |
27 | public DSRefView(Context context, AttributeSet attrs) {
28 | super(context, attrs);
29 | }
30 |
31 | public DSRefView(Context context, AttributeSet attrs, int defStyleAttr) {
32 | super(context, attrs, defStyleAttr);
33 | }
34 |
35 | @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
36 | public DSRefView(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
37 | super(context, attrs, defStyleAttr, defStyleRes);
38 | }
39 |
40 | @Override
41 | protected void onFinishInflate() {
42 | super.onFinishInflate();
43 | inflate(getContext(),R.layout.layout_dsview,this);
44 | imgScrollToTop = (ImageView) findViewById(R.id.imgScrollToTop);
45 | imgScrollToTop.setOnClickListener(new OnClickListener() {
46 | @Override
47 | public void onClick(View v) {
48 | if (slideableView!=null) {
49 | ViewUtil.scrollToTop(slideableView);
50 | }
51 | if (parentScrollView!=null) {
52 | ViewUtil.scrollToTop(parentScrollView);
53 | }
54 | v.setVisibility(GONE);
55 | }
56 | });
57 | if (getContext() instanceof Activity) {
58 | Activity activity = (Activity) getContext();
59 | parentScrollView = ViewUtil.findView(activity.getWindow().getDecorView(),DoubleScrollView.class);
60 | } else {
61 | parentScrollView = ViewUtil.findView(getRootView(),DoubleScrollView.class);
62 | }
63 | }
64 |
65 | private View slideableView;
66 | private ImageView imgScrollToTop;
67 | public boolean isReleaseTouch () {
68 | return imgScrollToTop.getVisibility()==GONE;
69 | }
70 |
71 | public void setSlideableView (View view) {
72 | slideableView = view;
73 | }
74 |
75 | private DoubleScrollView parentScrollView;
76 |
77 |
78 | @Override
79 | public boolean dispatchTouchEvent(MotionEvent ev) {
80 | switch (ev.getAction()) {
81 | case MotionEvent.ACTION_MOVE:
82 | imgScrollToTop.setVisibility(VISIBLE);
83 | break;
84 | }
85 | return super.dispatchTouchEvent(ev);
86 | }
87 | }
88 |
--------------------------------------------------------------------------------
/app/src/main/java/cn/georgeyang/doublescroll/DoubleScrollView.java:
--------------------------------------------------------------------------------
1 | package cn.georgeyang.doublescroll;
2 |
3 | import android.annotation.TargetApi;
4 | import android.content.Context;
5 | import android.graphics.Canvas;
6 | import android.graphics.Matrix;
7 | import android.os.Build;
8 | import android.support.v7.widget.RecyclerView;
9 | import android.util.AttributeSet;
10 | import android.util.Log;
11 | import android.view.MotionEvent;
12 | import android.view.View;
13 | import android.view.animation.AnticipateInterpolator;
14 | import android.view.animation.BounceInterpolator;
15 | import android.widget.ListView;
16 | import android.widget.OverScroller;
17 | import android.widget.ScrollView;
18 |
19 | import java.lang.reflect.Field;
20 |
21 | /**
22 | * Created by yangsp on 2016/11/14.
23 | */
24 | public class DoubleScrollView extends ScrollView {
25 | public DoubleScrollView(Context context) {
26 | super(context);
27 | }
28 |
29 | public DoubleScrollView(Context context, AttributeSet attrs) {
30 | super(context, attrs);
31 | }
32 |
33 | public DoubleScrollView(Context context, AttributeSet attrs, int defStyleAttr) {
34 | super(context, attrs, defStyleAttr);
35 | }
36 |
37 | @TargetApi(Build.VERSION_CODES.LOLLIPOP)
38 | public DoubleScrollView(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
39 | super(context, attrs, defStyleAttr, defStyleRes);
40 | }
41 |
42 | private View mTitle;
43 |
44 | public void setupTitleView(View view) {
45 | mTitle = view;
46 | }
47 |
48 | private View mContentView;
49 |
50 | public void setContentView(View view) {
51 | this.mContentView = view;
52 | }
53 |
54 | private View scrollableView;
55 |
56 | public void setContentInnerScrollableView(View scrollableView) {
57 | this.scrollableView = scrollableView;
58 | }
59 |
60 | private int maxMoveY;
61 | private int tabHeight;
62 | private float mFirstY,mFirstX;
63 | private Matrix eventMatrix;
64 | private boolean isIntercept;
65 |
66 | public boolean onInterceptTouchEvent(MotionEvent ev) {
67 | if (isIntercept) {
68 | return true;
69 | }
70 | return super.onInterceptTouchEvent(ev);
71 | }
72 |
73 |
74 | @Override
75 | public boolean dispatchTouchEvent(MotionEvent event) {
76 | if (mTitle == null || mContentView == null) {
77 | return super.dispatchTouchEvent(event);
78 | }
79 |
80 | if (maxMoveY == 0) {
81 | maxMoveY = mTitle.getMeasuredHeight();
82 | }
83 |
84 | isIntercept = false;
85 |
86 | switch (event.getAction()) {
87 | case MotionEvent.ACTION_DOWN:
88 | mFirstY = event.getY();
89 | mFirstX = event.getX();
90 | break;
91 | case MotionEvent.ACTION_MOVE:
92 | if (scrollableView != null) {
93 | float mCurrentY = event.getY();
94 | float mCurrentX = event.getX();
95 |
96 | float detalX = mCurrentX - mFirstX;
97 | float detalY = mCurrentY - mFirstY;
98 |
99 | if (Math.abs(detalY) < Math.abs(detalX)) {
100 | break;
101 | }
102 |
103 |
104 | if (tabHeight == 0) {
105 | tabHeight = mContentView.getMeasuredHeight() - scrollableView.getMeasuredHeight();
106 | }
107 | eventMatrix = new Matrix();
108 | eventMatrix.setTranslate(0, -tabHeight);
109 |
110 | boolean isDown = mCurrentY > mFirstY;
111 | boolean isUp = mCurrentY < mFirstY;
112 |
113 | if (isUp) {
114 | if (getScrollY() >= maxMoveY) {
115 | isIntercept = true;
116 | event.transform(eventMatrix);
117 | return scrollableView.dispatchTouchEvent(event);
118 | }
119 | } else if (isDown) {
120 | if (!ViewUtil.isScrollToTop(scrollableView)) {
121 | isIntercept = true;
122 | event.transform(eventMatrix);
123 | return scrollableView.dispatchTouchEvent(event);
124 | }
125 | }
126 | }
127 | break;
128 | case MotionEvent.ACTION_UP:
129 |
130 | break;
131 | }
132 | return super.dispatchTouchEvent(event);
133 | }
134 |
135 | }
136 |
--------------------------------------------------------------------------------
/app/src/main/java/cn/georgeyang/doublescroll/DoubleScrollViewPager.java:
--------------------------------------------------------------------------------
1 | package cn.georgeyang.doublescroll;
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 yangsp on 2016/11/14.
10 | */
11 | public class DoubleScrollViewPager extends ViewPager {
12 | public DoubleScrollViewPager(Context context) {
13 | super(context);
14 | }
15 |
16 | public DoubleScrollViewPager(Context context, AttributeSet attrs) {
17 | super(context, attrs);
18 | }
19 |
20 | private int tagHeight;
21 |
22 | public void setTagHeight(int height) {
23 | tagHeight = height;
24 | requestLayout();
25 | }
26 |
27 | @Override
28 | protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
29 | if (tagHeight > 0) {
30 | heightMeasureSpec = View.MeasureSpec.makeMeasureSpec(tagHeight, View.MeasureSpec.EXACTLY);
31 | }
32 | super.onMeasure(widthMeasureSpec, heightMeasureSpec);
33 | }
34 |
35 | }
36 |
--------------------------------------------------------------------------------
/app/src/main/java/cn/georgeyang/doublescroll/Fragment1.java:
--------------------------------------------------------------------------------
1 | package cn.georgeyang.doublescroll;
2 |
3 | import android.os.Bundle;
4 | import android.support.annotation.Nullable;
5 | import android.support.v4.app.Fragment;
6 | import android.view.LayoutInflater;
7 | import android.view.View;
8 | import android.view.ViewGroup;
9 |
10 | /**
11 | * Created by yangsp on 2016/11/14.
12 | */
13 | public class Fragment1 extends BaseListFragment {
14 | @Nullable
15 | @Override
16 | public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
17 | return inflater.inflate(R.layout.layout_normal,null);
18 | }
19 |
20 | @Override
21 | View getSlidableView() {
22 | return null;
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/app/src/main/java/cn/georgeyang/doublescroll/Fragment2.java:
--------------------------------------------------------------------------------
1 | package cn.georgeyang.doublescroll;
2 |
3 | import android.os.Bundle;
4 | import android.support.annotation.Nullable;
5 | import android.support.v4.app.Fragment;
6 | import android.view.LayoutInflater;
7 | import android.view.View;
8 | import android.view.ViewGroup;
9 | import android.widget.ArrayAdapter;
10 | import android.widget.ListView;
11 | import android.widget.SimpleAdapter;
12 |
13 | import java.util.Random;
14 |
15 | /**
16 | * Created by yangsp on 2016/11/14.
17 | */
18 | public class Fragment2 extends BaseListFragment {
19 | public ListView listView;
20 |
21 | @Nullable
22 | @Override
23 | public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
24 | View view = inflater.inflate(R.layout.layout_listview,null);
25 | listView = (ListView) view.findViewById(R.id.listView);
26 | String[] data = new String[100];
27 | for (int i = 0; i < 100; i++) {
28 | data[i] = new Random().nextDouble()+"";
29 | }
30 | ArrayAdapter adapter = new ArrayAdapter(getContext(),android.R.layout.simple_list_item_1,data);
31 | listView.setAdapter(adapter);
32 | return view;
33 | }
34 |
35 | @Override
36 | View getSlidableView() {
37 | return listView;
38 | }
39 | }
40 |
--------------------------------------------------------------------------------
/app/src/main/java/cn/georgeyang/doublescroll/Fragment3.java:
--------------------------------------------------------------------------------
1 | package cn.georgeyang.doublescroll;
2 |
3 | import android.os.Bundle;
4 | import android.support.annotation.Nullable;
5 | import android.support.v4.app.Fragment;
6 | import android.support.v7.widget.GridLayoutManager;
7 | import android.support.v7.widget.RecyclerView;
8 | import android.view.LayoutInflater;
9 | import android.view.View;
10 | import android.view.ViewGroup;
11 | import android.widget.ArrayAdapter;
12 | import android.widget.ListView;
13 |
14 | import java.util.Random;
15 |
16 | /**
17 | * Created by yangsp on 2016/11/14.
18 | */
19 | public class Fragment3 extends BaseListFragment {
20 | private RecyclerView recyclerView;
21 | @Nullable
22 | @Override
23 | public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
24 | View view = inflater.inflate(R.layout.layout_recyclerview,null);
25 | recyclerView = (RecyclerView) view.findViewById(R.id.recyclerView);
26 | recyclerView.setLayoutManager(new GridLayoutManager(getContext(), 2));
27 | recyclerView.setAdapter(new NormalRecyclerViewAdapter(getContext()));
28 |
29 | //fix bug: recyclerView & scrollView
30 | //see http://stackoverflow.com/questions/38074949/recyclerview-inside-scrollview-some-items-are-not-shown
31 | recyclerView.setNestedScrollingEnabled(false);
32 | return view;
33 | }
34 |
35 | @Override
36 | View getSlidableView() {
37 | return recyclerView;
38 | }
39 | }
40 |
--------------------------------------------------------------------------------
/app/src/main/java/cn/georgeyang/doublescroll/Fragment4.java:
--------------------------------------------------------------------------------
1 | package cn.georgeyang.doublescroll;
2 |
3 | import android.os.Bundle;
4 | import android.support.annotation.Nullable;
5 | import android.view.LayoutInflater;
6 | import android.view.View;
7 | import android.view.ViewGroup;
8 | import android.widget.ArrayAdapter;
9 | import android.widget.ListView;
10 | import android.widget.ScrollView;
11 |
12 | import java.util.Random;
13 |
14 | /**
15 | * Created by yangsp on 2016/11/14.
16 | */
17 | public class Fragment4 extends BaseListFragment {
18 | public ScrollView scrollView;
19 |
20 | @Nullable
21 | @Override
22 | public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
23 | View view = inflater.inflate(R.layout.layout_scrollview,null);
24 | scrollView = (ScrollView) view.findViewById(R.id.scrollView);
25 | return view;
26 | }
27 |
28 | @Override
29 | View getSlidableView() {
30 | return scrollView;
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/app/src/main/java/cn/georgeyang/doublescroll/FragmentSina.java:
--------------------------------------------------------------------------------
1 | package cn.georgeyang.doublescroll;
2 |
3 | import android.os.Bundle;
4 | import android.support.annotation.Nullable;
5 | import android.support.v4.widget.SwipeRefreshLayout;
6 | import android.view.LayoutInflater;
7 | import android.view.View;
8 | import android.view.ViewGroup;
9 | import android.widget.ArrayAdapter;
10 | import android.widget.ListView;
11 |
12 | import java.util.Random;
13 |
14 | /**
15 | * Created by george.yang on 16/11/15.
16 | */
17 |
18 | public class FragmentSina extends BaseListFragment {
19 | private DSRefView layout;
20 | private SwipeRefreshLayout refreshLayout;
21 | @Nullable
22 | @Override
23 | public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
24 | View view = inflater.inflate(R.layout.layout_sina,null);
25 | refreshLayout = (SwipeRefreshLayout) view.findViewById(R.id.refreshLayout);
26 | refreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
27 | @Override
28 | public void onRefresh() {
29 | refreshLayout.postDelayed(new Runnable() {
30 | @Override
31 | public void run() {
32 | refreshLayout.setRefreshing(false);
33 | }
34 | },3000);
35 | }
36 | });
37 | layout = (DSRefView) view.findViewById(R.id.layout);
38 | ListView listView = (ListView) layout.findViewById(R.id.listView);
39 | String[] data = new String[100];
40 | for (int i = 0; i < 100; i++) {
41 | data[i] = new Random().nextDouble()+"";
42 | }
43 | ArrayAdapter adapter = new ArrayAdapter(getContext(),android.R.layout.simple_list_item_1,data);
44 | listView.setAdapter(adapter);
45 | layout.setSlideableView(listView);
46 | return view;
47 | }
48 |
49 |
50 | @Override
51 | View getSlidableView() {
52 | return layout;
53 | }
54 | }
55 |
--------------------------------------------------------------------------------
/app/src/main/java/cn/georgeyang/doublescroll/MainActivity.java:
--------------------------------------------------------------------------------
1 | package cn.georgeyang.doublescroll;
2 |
3 | import android.content.Intent;
4 | import android.support.design.widget.TabLayout;
5 | import android.support.v4.view.ViewPager;
6 | import android.support.v7.app.AppCompatActivity;
7 | import android.os.Bundle;
8 | import android.view.View;
9 |
10 |
11 | public class MainActivity extends AppCompatActivity {
12 | private TabLayout tabLayout;
13 | private DoubleScrollView scrollView;
14 | private DoubleScrollViewPager viewPager;
15 | private SAdapter adapter;
16 | private View layoutTabTitle;
17 |
18 | @Override
19 | protected void onCreate(Bundle savedInstanceState) {
20 | super.onCreate(savedInstanceState);
21 | setContentView(R.layout.activity_listview);
22 |
23 | scrollView = (DoubleScrollView) findViewById(R.id.layoutContent);
24 | scrollView.setupTitleView(findViewById(R.id.layoutTop));
25 | scrollView.setContentView(findViewById(R.id.layoutContentBottom));
26 | tabLayout = (TabLayout) findViewById(R.id.tabLayout);
27 |
28 | viewPager = (DoubleScrollViewPager) findViewById(R.id.viewPager);
29 | layoutTabTitle = findViewById(R.id.layoutTabTitle);
30 | viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
31 | @Override
32 | public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
33 |
34 | }
35 |
36 | @Override
37 | public void onPageSelected(int position) {
38 | scrollView.setContentInnerScrollableView(adapter.getSlidableView(position));
39 | }
40 |
41 | @Override
42 | public void onPageScrollStateChanged(int state) {
43 |
44 | }
45 | });
46 | adapter = new SAdapter(getSupportFragmentManager());
47 | viewPager.setAdapter(adapter);
48 |
49 | tabLayout.setupWithViewPager(viewPager);
50 |
51 | scrollView.postDelayed(new Runnable() {
52 | @Override
53 | public void run() {
54 | scrollView.setContentInnerScrollableView(adapter.getSlidableView(0));
55 | viewPager.setTagHeight(scrollView.getMeasuredHeight() - layoutTabTitle.getMeasuredHeight());
56 | }
57 | },100);
58 |
59 | }
60 | }
61 |
--------------------------------------------------------------------------------
/app/src/main/java/cn/georgeyang/doublescroll/NormalRecyclerViewAdapter.java:
--------------------------------------------------------------------------------
1 | package cn.georgeyang.doublescroll;
2 |
3 | import android.content.Context;
4 | import android.support.v7.widget.RecyclerView;
5 | import android.view.Gravity;
6 | import android.view.LayoutInflater;
7 | import android.view.View;
8 | import android.view.ViewGroup;
9 | import android.widget.TextView;
10 |
11 | /**
12 | * Created by yangsp on 2016/11/14.
13 | */
14 | public class NormalRecyclerViewAdapter extends RecyclerView.Adapter {
15 | private final LayoutInflater mLayoutInflater;
16 | private final Context mContext;
17 |
18 | public NormalRecyclerViewAdapter(Context context) {
19 | mContext = context;
20 | mLayoutInflater = LayoutInflater.from(context);
21 | }
22 |
23 | @Override
24 | public NormalTextViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
25 | return new NormalTextViewHolder(mLayoutInflater.inflate(android.R.layout.simple_list_item_1, parent, false));
26 | }
27 |
28 | @Override
29 | public void onBindViewHolder(NormalTextViewHolder holder, int position) {
30 | holder.mTextView.setText(position+"");
31 | }
32 |
33 | @Override
34 | public int getItemCount() {
35 | return 100;
36 | }
37 |
38 | public static class NormalTextViewHolder extends RecyclerView.ViewHolder {
39 | TextView mTextView;
40 |
41 | NormalTextViewHolder(View view) {
42 | super(view);
43 | mTextView = (TextView) view.findViewById(android.R.id.text1);
44 | mTextView.setGravity(Gravity.CENTER);
45 | }
46 | }
47 | }
48 |
--------------------------------------------------------------------------------
/app/src/main/java/cn/georgeyang/doublescroll/SAdapter.java:
--------------------------------------------------------------------------------
1 | package cn.georgeyang.doublescroll;
2 |
3 | import android.support.v4.app.Fragment;
4 | import android.support.v4.app.FragmentManager;
5 | import android.support.v4.app.FragmentStatePagerAdapter;
6 | import android.view.View;
7 |
8 | import java.util.ArrayList;
9 | import java.util.List;
10 |
11 | /**
12 | * Created by yangsp on 2016/11/14.
13 | */
14 | public class SAdapter extends FragmentStatePagerAdapter {
15 | private List list;
16 | private static final String[] titles = new String[]{"normal","list","recy","scroll","sina"};
17 |
18 | public SAdapter(FragmentManager fm) {
19 | super(fm);
20 | list = new ArrayList<>();
21 | list.add(new Fragment1());
22 | list.add(new Fragment2());
23 | list.add(new Fragment3());
24 | list.add(new Fragment4());
25 | list.add(new FragmentSina());
26 | }
27 |
28 | public View getSlidableView (int index) {
29 | return list.get(index).getSlidableView();
30 | }
31 |
32 | @Override
33 | public Fragment getItem(int position) {
34 | return list.get(position);
35 | }
36 |
37 | @Override
38 | public int getCount() {
39 | return titles.length;
40 | }
41 |
42 | @Override
43 | public CharSequence getPageTitle(int position) {
44 | return titles[position];
45 | }
46 | }
47 |
--------------------------------------------------------------------------------
/app/src/main/java/cn/georgeyang/doublescroll/ViewUtil.java:
--------------------------------------------------------------------------------
1 | package cn.georgeyang.doublescroll;
2 |
3 | import android.support.v7.widget.RecyclerView;
4 | import android.view.View;
5 | import android.view.ViewGroup;
6 | import android.widget.ListView;
7 | import android.widget.ScrollView;
8 |
9 | /**
10 | * Created by george.yang on 16/11/16.
11 | */
12 |
13 | public class ViewUtil {
14 | public static boolean isScrollToTop(View view) {
15 | if (view instanceof ListView) {
16 | ListView listView = (ListView) view;
17 | int first = listView.getFirstVisiblePosition();
18 | return first == 0;
19 | } else if (view instanceof RecyclerView) {
20 | RecyclerView recyclerView = (RecyclerView) view;
21 | return !recyclerView.canScrollVertically(-1);
22 | } else if (view instanceof ScrollView) {
23 | ScrollView scrollView = (ScrollView) view;
24 | return scrollView.getScrollY() == 0;
25 | } else if (view instanceof DSRefView) {
26 | DSRefView dsRefView = (DSRefView) view;
27 | return dsRefView.isReleaseTouch();
28 | }
29 | return true;
30 | }
31 |
32 |
33 | public static void scrollToTop (View view) {
34 | if (view instanceof ScrollView) {
35 | ScrollView scrollView = (ScrollView) view;
36 | scrollView.smoothScrollTo(0,0);
37 | } else if (view instanceof ListView) {
38 | ListView listView = (ListView) view;
39 | listView.setSelection(0);
40 | }
41 | }
42 |
43 | public static T findView(View view, Class tClass) {
44 | if (view.getClass() == tClass) {
45 | return (T) view;
46 | } else if (view instanceof ViewGroup) {
47 | ViewGroup viewGroup = (ViewGroup) view;
48 | for (int i=0;i
2 |
5 |
6 |
10 |
11 |
15 |
16 |
22 |
23 |
27 |
28 |
34 |
35 |
43 |
44 |
45 |
53 |
54 |
58 |
59 |
65 |
66 |
74 |
75 |
82 |
83 |
91 |
92 |
93 |
94 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
114 |
115 |
121 |
122 |
128 |
129 |
135 |
136 |
137 |
144 |
145 |
146 |
147 |
148 |
154 |
155 |
162 |
163 |
164 |
171 |
172 |
173 |
174 |
180 |
181 |
187 |
188 |
189 |
196 |
197 |
198 |
199 |
200 |
201 |
202 |
207 |
208 |
213 |
214 |
219 |
220 |
225 |
226 |
227 |
228 |
229 |
230 |
231 |
236 |
237 |
238 |
239 |
240 |
241 |
242 |
243 |
244 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/layout_dsview.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
16 |
17 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/layout_listview.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/layout_normal.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
11 |
12 |
16 |
17 |
21 |
22 |
26 |
27 |
28 |
29 |
34 |
35 |
39 |
40 |
44 |
45 |
49 |
50 |
51 |
52 |
53 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/layout_recyclerview.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
7 |
8 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/layout_scrollview.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
10 |
11 |
15 |
16 |
17 |
22 |
23 |
24 |
28 |
29 |
33 |
34 |
38 |
39 |
40 |
41 |
42 |
47 |
48 |
49 |
53 |
54 |
58 |
59 |
63 |
64 |
65 |
66 |
71 |
72 |
73 |
77 |
78 |
82 |
83 |
87 |
88 |
89 |
90 |
95 |
96 |
97 |
101 |
102 |
106 |
107 |
111 |
112 |
113 |
114 |
119 |
120 |
121 |
125 |
126 |
130 |
131 |
135 |
136 |
137 |
138 |
139 |
140 |
141 |
142 |
143 |
144 |
145 |
146 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/layout_sina.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
12 |
13 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/georgeyang1024/DoubleScroll/d6274cf26d02788dd73c0a1d168ffedde6426be3/app/src/main/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/georgeyang1024/DoubleScroll/d6274cf26d02788dd73c0a1d168ffedde6426be3/app/src/main/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/georgeyang1024/DoubleScroll/d6274cf26d02788dd73c0a1d168ffedde6426be3/app/src/main/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/button_triangle_up.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/georgeyang1024/DoubleScroll/d6274cf26d02788dd73c0a1d168ffedde6426be3/app/src/main/res/mipmap-xxhdpi/button_triangle_up.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/georgeyang1024/DoubleScroll/d6274cf26d02788dd73c0a1d168ffedde6426be3/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/georgeyang1024/DoubleScroll/d6274cf26d02788dd73c0a1d168ffedde6426be3/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/values-w120dp/dps.xml:
--------------------------------------------------------------------------------
1 |
2 | 1.0dp
3 | 2.0dp
4 | 3.0dp
5 | 4.0dp
6 | 6.0dp
7 | 7.0dp
8 | 8.0dp
9 | 9.0dp
10 | 10.0dp
11 | 12.0dp
12 | 13.0dp
13 | 14.0dp
14 | 15.0dp
15 | 16.0dp
16 | 18.0dp
17 | 19.0dp
18 | 20.0dp
19 | 21.0dp
20 | 22.0dp
21 | 24.0dp
22 | 25.0dp
23 | 26.0dp
24 | 27.0dp
25 | 28.0dp
26 | 30.0dp
27 | 31.0dp
28 | 32.0dp
29 | 33.0dp
30 | 34.0dp
31 | 36.0dp
32 | 37.0dp
33 | 38.0dp
34 | 39.0dp
35 | 40.0dp
36 | 42.0dp
37 | 43.0dp
38 | 44.0dp
39 | 45.0dp
40 | 46.0dp
41 | 48.0dp
42 | 49.0dp
43 | 50.0dp
44 | 51.0dp
45 | 52.0dp
46 | 54.0dp
47 | 55.0dp
48 | 56.0dp
49 | 57.0dp
50 | 58.0dp
51 | 60.0dp
52 | 61.0dp
53 | 62.0dp
54 | 63.0dp
55 | 64.0dp
56 | 66.0dp
57 | 67.0dp
58 | 68.0dp
59 | 69.0dp
60 | 70.0dp
61 | 72.0dp
62 | 73.0dp
63 | 74.0dp
64 | 75.0dp
65 | 76.0dp
66 | 78.0dp
67 | 79.0dp
68 | 80.0dp
69 | 81.0dp
70 | 82.0dp
71 | 84.0dp
72 | 85.0dp
73 | 86.0dp
74 | 87.0dp
75 | 88.0dp
76 | 90.0dp
77 | 91.0dp
78 | 92.0dp
79 | 93.0dp
80 | 94.0dp
81 | 96.0dp
82 | 97.0dp
83 | 98.0dp
84 | 99.0dp
85 | 100.0dp
86 | 102.0dp
87 | 103.0dp
88 | 104.0dp
89 | 105.0dp
90 | 106.0dp
91 | 108.0dp
92 | 109.0dp
93 | 110.0dp
94 | 111.0dp
95 | 112.0dp
96 | 114.0dp
97 | 115.0dp
98 | 116.0dp
99 | 117.0dp
100 | 118.0dp
101 | 120.0dp
102 | 0.16dp
103 | 0.32dp
104 | 0.48dp
105 | 0.64dp
106 | 0.79dp
107 | 0.96dp
108 | 1.12dp
109 | 1.28dp
110 | 1.44dp
111 | 1.59dp
112 | 1.76dp
113 | 1.92dp
114 | 2.08dp
115 | 2.24dp
116 | 2.39dp
117 | 2.56dp
118 | 2.72dp
119 | 2.88dp
120 | 3.04dp
121 | 3.19dp
122 | 3.36dp
123 | 3.52dp
124 | 3.67dp
125 | 3.84dp
126 | 4.0dp
127 | 4.16dp
128 | 4.31dp
129 | 4.48dp
130 | 4.64dp
131 | 4.79dp
132 | 4.96dp
133 | 5.12dp
134 | 5.28dp
135 | 5.44dp
136 | 5.6dp
137 | 5.76dp
138 | 5.92dp
139 | 6.08dp
140 | 6.24dp
141 | 6.39dp
142 | 6.56dp
143 | 6.72dp
144 | 6.87dp
145 | 7.04dp
146 | 7.2dp
147 | 7.35dp
148 | 7.52dp
149 | 7.68dp
150 | 7.83dp
151 | 8.0dp
152 | 8.16dp
153 | 8.32dp
154 | 8.47dp
155 | 8.63dp
156 | 8.8dp
157 | 8.96dp
158 | 9.12dp
159 | 9.28dp
160 | 9.43dp
161 | 9.59dp
162 | 9.76dp
163 | 9.92dp
164 | 10.08dp
165 | 10.24dp
166 | 10.4dp
167 | 10.56dp
168 | 10.71dp
169 | 10.88dp
170 | 11.04dp
171 | 11.2dp
172 | 11.36dp
173 | 11.52dp
174 | 11.67dp
175 | 11.84dp
176 | 12.0dp
177 | 12.16dp
178 | 12.32dp
179 | 12.48dp
180 | 12.64dp
181 | 12.79dp
182 | 12.96dp
183 | 13.12dp
184 | 13.28dp
185 | 13.44dp
186 | 13.6dp
187 | 13.75dp
188 | 13.92dp
189 | 14.08dp
190 | 14.24dp
191 | 14.4dp
192 | 14.56dp
193 | 14.71dp
194 | 14.88dp
195 | 15.04dp
196 | 15.2dp
197 | 15.36dp
198 | 15.52dp
199 | 15.67dp
200 | 15.83dp
201 | 16.0dp
202 | 16.16dp
203 | 16.32dp
204 | 16.48dp
205 | 16.64dp
206 | 16.79dp
207 | 16.95dp
208 | 17.11dp
209 | 17.27dp
210 | 17.44dp
211 | 17.6dp
212 | 17.76dp
213 | 17.92dp
214 | 18.08dp
215 | 18.24dp
216 | 18.4dp
217 | 18.56dp
218 | 18.71dp
219 | 18.87dp
220 | 19.03dp
221 | 19.19dp
222 | 19.35dp
223 | 19.52dp
224 | 19.68dp
225 | 19.84dp
226 | 20.0dp
227 | 20.16dp
228 | 20.32dp
229 | 20.48dp
230 | 20.64dp
231 | 20.8dp
232 | 20.96dp
233 | 21.12dp
234 | 21.28dp
235 | 21.43dp
236 | 21.6dp
237 | 21.76dp
238 | 21.92dp
239 | 22.08dp
240 | 22.24dp
241 | 22.4dp
242 | 22.56dp
243 | 22.72dp
244 | 22.88dp
245 | 23.04dp
246 | 23.2dp
247 | 23.35dp
248 | 23.51dp
249 | 23.68dp
250 | 23.84dp
251 | 24.0dp
252 | 24.16dp
253 | 24.32dp
254 | 24.48dp
255 | 24.64dp
256 | 24.8dp
257 | 24.96dp
258 | 25.12dp
259 | 25.28dp
260 | 25.43dp
261 | 25.59dp
262 | 25.76dp
263 | 25.92dp
264 | 26.08dp
265 | 26.24dp
266 | 26.4dp
267 | 26.56dp
268 | 26.72dp
269 | 26.88dp
270 | 27.04dp
271 | 27.2dp
272 | 27.35dp
273 | 27.51dp
274 | 27.68dp
275 | 27.84dp
276 | 28.0dp
277 | 28.16dp
278 | 28.32dp
279 | 28.48dp
280 | 28.64dp
281 | 28.8dp
282 | 28.96dp
283 | 29.12dp
284 | 29.28dp
285 | 29.43dp
286 | 29.59dp
287 | 29.76dp
288 | 29.92dp
289 | 30.08dp
290 | 30.24dp
291 | 30.4dp
292 | 30.56dp
293 | 30.72dp
294 | 30.88dp
295 | 31.04dp
296 | 31.2dp
297 | 31.35dp
298 | 31.51dp
299 | 31.67dp
300 | 31.84dp
301 | 32.0dp
302 | 32.16dp
303 | 32.32dp
304 | 32.48dp
305 | 32.64dp
306 | 32.8dp
307 | 32.96dp
308 | 33.12dp
309 | 33.28dp
310 | 33.43dp
311 | 33.59dp
312 | 33.75dp
313 | 33.91dp
314 | 34.07dp
315 | 34.23dp
316 | 34.39dp
317 | 34.55dp
318 | 34.71dp
319 | 34.88dp
320 | 35.04dp
321 | 35.2dp
322 | 35.36dp
323 | 35.52dp
324 | 35.68dp
325 | 35.84dp
326 | 36.0dp
327 | 36.16dp
328 | 36.32dp
329 | 36.48dp
330 | 36.64dp
331 | 36.8dp
332 | 36.96dp
333 | 37.12dp
334 | 37.28dp
335 | 37.43dp
336 | 37.59dp
337 | 37.75dp
338 | 37.91dp
339 | 38.07dp
340 | 38.23dp
341 | 38.39dp
342 | 38.55dp
343 | 38.71dp
344 | 38.87dp
345 | 39.04dp
346 | 39.2dp
347 | 39.36dp
348 | 39.52dp
349 | 39.68dp
350 | 39.84dp
351 | 40.0dp
352 | 40.16dp
353 | 40.32dp
354 | 40.48dp
355 | 40.64dp
356 | 40.8dp
357 | 40.96dp
358 | 41.12dp
359 | 41.28dp
360 | 41.44dp
361 | 41.6dp
362 | 41.76dp
363 | 41.92dp
364 | 42.08dp
365 | 42.24dp
366 | 42.4dp
367 | 42.56dp
368 | 42.71dp
369 | 42.87dp
370 | 43.04dp
371 | 43.2dp
372 | 43.36dp
373 | 43.52dp
374 | 43.68dp
375 | 43.84dp
376 | 44.0dp
377 | 44.16dp
378 | 44.32dp
379 | 44.48dp
380 | 44.64dp
381 | 44.8dp
382 | 44.96dp
383 | 45.12dp
384 | 45.28dp
385 | 45.44dp
386 | 45.6dp
387 | 45.76dp
388 | 45.92dp
389 | 46.08dp
390 | 46.24dp
391 | 46.4dp
392 | 46.56dp
393 | 46.71dp
394 | 46.87dp
395 | 47.03dp
396 | 47.2dp
397 | 47.36dp
398 | 47.52dp
399 | 47.68dp
400 | 47.84dp
401 | 48.0dp
402 | 48.16dp
403 | 48.32dp
404 | 48.48dp
405 | 48.64dp
406 | 48.8dp
407 | 48.96dp
408 | 49.12dp
409 | 49.28dp
410 | 49.44dp
411 | 49.6dp
412 | 49.76dp
413 | 49.92dp
414 | 50.08dp
415 | 50.24dp
416 | 50.4dp
417 | 50.56dp
418 | 50.71dp
419 | 50.87dp
420 | 51.03dp
421 | 51.19dp
422 | 51.36dp
423 | 51.52dp
424 | 51.68dp
425 | 51.84dp
426 | 52.0dp
427 | 52.16dp
428 | 52.32dp
429 | 52.48dp
430 | 52.64dp
431 | 52.8dp
432 | 52.96dp
433 | 53.12dp
434 | 53.28dp
435 | 53.44dp
436 | 53.6dp
437 | 53.76dp
438 | 53.92dp
439 | 54.08dp
440 | 54.24dp
441 | 54.4dp
442 | 54.56dp
443 | 54.71dp
444 | 54.87dp
445 | 55.03dp
446 | 55.19dp
447 | 55.36dp
448 | 55.52dp
449 | 55.68dp
450 | 55.84dp
451 | 56.0dp
452 | 56.16dp
453 | 56.32dp
454 | 56.48dp
455 | 56.64dp
456 | 56.8dp
457 | 56.96dp
458 | 57.12dp
459 | 57.28dp
460 | 57.44dp
461 | 57.6dp
462 | 57.76dp
463 | 57.92dp
464 | 58.08dp
465 | 58.24dp
466 | 58.4dp
467 | 58.56dp
468 | 58.71dp
469 | 58.87dp
470 | 59.03dp
471 | 59.19dp
472 | 59.35dp
473 | 59.52dp
474 | 59.68dp
475 | 59.84dp
476 | 60.0dp
477 | 60.16dp
478 | 60.32dp
479 | 60.48dp
480 | 60.64dp
481 | 60.8dp
482 | 60.96dp
483 | 61.12dp
484 | 61.28dp
485 | 61.44dp
486 | 61.6dp
487 | 61.76dp
488 | 61.92dp
489 | 62.08dp
490 | 62.24dp
491 | 62.4dp
492 | 62.56dp
493 | 62.71dp
494 | 62.87dp
495 | 63.03dp
496 | 63.19dp
497 | 63.35dp
498 | 63.52dp
499 | 63.68dp
500 | 63.84dp
501 | 64.0dp
502 | 64.15dp
503 | 64.32dp
504 | 64.47dp
505 | 64.64dp
506 | 64.79dp
507 | 64.96dp
508 | 65.11dp
509 | 65.28dp
510 | 65.43dp
511 | 65.6dp
512 | 65.76dp
513 | 65.92dp
514 | 66.08dp
515 | 66.24dp
516 | 66.4dp
517 | 66.56dp
518 | 66.72dp
519 | 66.87dp
520 | 67.04dp
521 | 67.19dp
522 | 67.36dp
523 | 67.51dp
524 | 67.68dp
525 | 67.83dp
526 | 68.0dp
527 | 68.15dp
528 | 68.32dp
529 | 68.47dp
530 | 68.64dp
531 | 68.79dp
532 | 68.96dp
533 | 69.11dp
534 | 69.28dp
535 | 69.43dp
536 | 69.6dp
537 | 69.76dp
538 | 69.92dp
539 | 70.08dp
540 | 70.24dp
541 | 70.4dp
542 | 70.56dp
543 | 70.72dp
544 | 70.87dp
545 | 71.04dp
546 | 71.19dp
547 | 71.36dp
548 | 71.51dp
549 | 71.68dp
550 | 71.83dp
551 | 72.0dp
552 | 72.15dp
553 | 72.32dp
554 | 72.47dp
555 | 72.64dp
556 | 72.79dp
557 | 72.96dp
558 | 73.11dp
559 | 73.28dp
560 | 73.43dp
561 | 73.6dp
562 | 73.76dp
563 | 73.92dp
564 | 74.08dp
565 | 74.24dp
566 | 74.4dp
567 | 74.56dp
568 | 74.72dp
569 | 74.87dp
570 | 75.04dp
571 | 75.19dp
572 | 75.36dp
573 | 75.51dp
574 | 75.68dp
575 | 75.83dp
576 | 76.0dp
577 | 76.15dp
578 | 76.32dp
579 | 76.47dp
580 | 76.64dp
581 | 76.79dp
582 | 76.96dp
583 | 77.11dp
584 | 77.28dp
585 | 77.43dp
586 | 77.6dp
587 | 77.75dp
588 | 77.92dp
589 | 78.08dp
590 | 78.24dp
591 | 78.4dp
592 | 78.56dp
593 | 78.72dp
594 | 78.87dp
595 | 79.04dp
596 | 79.19dp
597 | 79.36dp
598 | 79.51dp
599 | 79.68dp
600 | 79.83dp
601 | 80.0dp
602 | 80.15dp
603 | 80.32dp
604 | 80.47dp
605 | 80.64dp
606 | 80.79dp
607 | 80.96dp
608 | 81.11dp
609 | 81.28dp
610 | 81.43dp
611 | 81.6dp
612 | 81.75dp
613 | 81.92dp
614 | 82.08dp
615 | 82.24dp
616 | 82.4dp
617 | 82.56dp
618 | 82.72dp
619 | 82.88dp
620 | 83.04dp
621 | 83.2dp
622 | 83.36dp
623 | 83.52dp
624 | 83.68dp
625 | 83.84dp
626 | 84.0dp
627 | 84.16dp
628 | 84.32dp
629 | 84.48dp
630 | 84.64dp
631 | 84.8dp
632 | 84.96dp
633 | 85.12dp
634 | 85.28dp
635 | 85.43dp
636 | 85.6dp
637 | 85.75dp
638 | 85.92dp
639 | 86.08dp
640 | 86.24dp
641 | 86.4dp
642 | 86.56dp
643 | 86.72dp
644 | 86.88dp
645 | 87.04dp
646 | 87.2dp
647 | 87.36dp
648 | 87.52dp
649 | 87.68dp
650 | 87.84dp
651 | 88.0dp
652 | 88.16dp
653 | 88.32dp
654 | 88.48dp
655 | 88.64dp
656 | 88.8dp
657 | 88.96dp
658 | 89.12dp
659 | 89.28dp
660 | 89.43dp
661 | 89.6dp
662 | 89.75dp
663 | 89.92dp
664 | 90.07dp
665 | 90.24dp
666 | 90.4dp
667 | 90.56dp
668 | 90.72dp
669 | 90.88dp
670 | 91.04dp
671 | 91.2dp
672 | 91.36dp
673 | 91.52dp
674 | 91.68dp
675 | 91.84dp
676 | 92.0dp
677 | 92.16dp
678 | 92.32dp
679 | 92.48dp
680 | 92.64dp
681 | 92.8dp
682 | 92.96dp
683 | 93.12dp
684 | 93.28dp
685 | 93.43dp
686 | 93.6dp
687 | 93.75dp
688 | 93.92dp
689 | 94.07dp
690 | 94.24dp
691 | 94.4dp
692 | 94.56dp
693 | 94.72dp
694 | 94.88dp
695 | 95.04dp
696 | 95.2dp
697 | 95.36dp
698 | 95.52dp
699 | 95.68dp
700 | 95.84dp
701 | 96.0dp
702 | 96.16dp
703 | 96.32dp
704 | 96.48dp
705 | 96.64dp
706 | 96.8dp
707 | 96.96dp
708 | 97.12dp
709 | 97.28dp
710 | 97.43dp
711 | 97.6dp
712 | 97.75dp
713 | 97.92dp
714 | 98.07dp
715 | 98.24dp
716 | 98.4dp
717 | 98.56dp
718 | 98.72dp
719 | 98.88dp
720 | 99.04dp
721 | 99.2dp
722 | 99.36dp
723 | 99.52dp
724 | 99.68dp
725 | 99.84dp
726 | 100.0dp
727 | 100.16dp
728 | 100.32dp
729 | 100.48dp
730 | 100.64dp
731 | 100.8dp
732 | 100.96dp
733 | 101.12dp
734 | 101.28dp
735 | 101.43dp
736 | 101.6dp
737 | 101.75dp
738 | 101.92dp
739 | 102.07dp
740 | 102.24dp
741 | 102.39dp
742 | 102.56dp
743 | 102.72dp
744 | 102.88dp
745 | 103.04dp
746 | 103.2dp
747 | 103.36dp
748 | 103.52dp
749 | 103.68dp
750 | 103.84dp
751 | 104.0dp
752 | 104.16dp
753 | 104.32dp
754 | 104.48dp
755 | 104.64dp
756 | 104.8dp
757 | 104.96dp
758 | 105.12dp
759 | 105.28dp
760 | 105.43dp
761 | 105.6dp
762 | 105.75dp
763 | 105.92dp
764 | 106.07dp
765 | 106.24dp
766 | 106.39dp
767 | 106.56dp
768 | 106.72dp
769 | 106.88dp
770 | 107.04dp
771 | 107.2dp
772 | 107.36dp
773 | 107.52dp
774 | 107.68dp
775 | 107.84dp
776 | 108.0dp
777 | 108.16dp
778 | 108.32dp
779 | 108.48dp
780 | 108.64dp
781 | 108.8dp
782 | 108.96dp
783 | 109.12dp
784 | 109.28dp
785 | 109.43dp
786 | 109.6dp
787 | 109.75dp
788 | 109.92dp
789 | 110.07dp
790 | 110.24dp
791 | 110.39dp
792 | 110.56dp
793 | 110.72dp
794 | 110.88dp
795 | 111.04dp
796 | 111.2dp
797 | 111.36dp
798 | 111.52dp
799 | 111.68dp
800 | 111.84dp
801 | 112.0dp
802 | 112.16dp
803 | 112.32dp
804 | 112.48dp
805 | 112.64dp
806 | 112.8dp
807 | 112.96dp
808 | 113.12dp
809 | 113.28dp
810 | 113.43dp
811 | 113.6dp
812 | 113.75dp
813 | 113.92dp
814 | 114.07dp
815 | 114.24dp
816 | 114.39dp
817 | 114.56dp
818 | 114.72dp
819 | 114.88dp
820 | 115.04dp
821 | 115.2dp
822 | 115.36dp
823 | 115.52dp
824 | 115.68dp
825 | 115.84dp
826 | 116.0dp
827 | 116.16dp
828 | 116.32dp
829 | 116.48dp
830 | 116.64dp
831 | 116.8dp
832 | 116.96dp
833 | 117.12dp
834 | 117.28dp
835 | 117.43dp
836 | 117.6dp
837 | 117.75dp
838 | 117.92dp
839 | 118.07dp
840 | 118.24dp
841 | 118.39dp
842 | 118.56dp
843 | 118.71dp
844 | 118.88dp
845 | 119.04dp
846 | 119.2dp
847 | 119.36dp
848 | 119.52dp
849 | 119.68dp
850 | 119.84dp
851 | 120.0dp
852 | 240.0dp
853 | 128.0dp
854 |
--------------------------------------------------------------------------------
/app/src/main/res/values-w320dp/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 | 1dp
6 |
7 |
--------------------------------------------------------------------------------
/app/src/main/res/values-w350dp/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 | 10dp
6 |
7 |
--------------------------------------------------------------------------------
/app/src/main/res/values-w400dp/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 | 100dp
6 |
7 |
--------------------------------------------------------------------------------
/app/src/main/res/values-w400dp/dps.xml:
--------------------------------------------------------------------------------
1 |
2 | 4.0dp
3 | 8.0dp
4 | 12.0dp
5 | 16.0dp
6 | 20.0dp
7 | 24.0dp
8 | 28.0dp
9 | 32.0dp
10 | 36.0dp
11 | 40.0dp
12 | 44.0dp
13 | 48.0dp
14 | 52.0dp
15 | 56.0dp
16 | 60.0dp
17 | 64.0dp
18 | 68.0dp
19 | 72.0dp
20 | 76.0dp
21 | 80.0dp
22 | 84.0dp
23 | 88.0dp
24 | 92.0dp
25 | 96.0dp
26 | 100.0dp
27 | 104.0dp
28 | 108.0dp
29 | 112.0dp
30 | 116.0dp
31 | 120.0dp
32 | 124.0dp
33 | 128.0dp
34 | 132.0dp
35 | 136.0dp
36 | 140.0dp
37 | 144.0dp
38 | 148.0dp
39 | 152.0dp
40 | 156.0dp
41 | 160.0dp
42 | 164.0dp
43 | 168.0dp
44 | 172.0dp
45 | 176.0dp
46 | 180.0dp
47 | 184.0dp
48 | 188.0dp
49 | 192.0dp
50 | 196.0dp
51 | 200.0dp
52 | 204.0dp
53 | 208.0dp
54 | 212.0dp
55 | 216.0dp
56 | 220.0dp
57 | 224.0dp
58 | 228.0dp
59 | 232.0dp
60 | 236.0dp
61 | 240.0dp
62 | 244.0dp
63 | 248.0dp
64 | 252.0dp
65 | 256.0dp
66 | 260.0dp
67 | 264.0dp
68 | 268.0dp
69 | 272.0dp
70 | 276.0dp
71 | 280.0dp
72 | 284.0dp
73 | 288.0dp
74 | 292.0dp
75 | 296.0dp
76 | 300.0dp
77 | 304.0dp
78 | 308.0dp
79 | 312.0dp
80 | 316.0dp
81 | 320.0dp
82 | 324.0dp
83 | 328.0dp
84 | 332.0dp
85 | 336.0dp
86 | 340.0dp
87 | 344.0dp
88 | 348.0dp
89 | 352.0dp
90 | 356.0dp
91 | 360.0dp
92 | 364.0dp
93 | 368.0dp
94 | 372.0dp
95 | 376.0dp
96 | 380.0dp
97 | 384.0dp
98 | 388.0dp
99 | 392.0dp
100 | 396.0dp
101 | 400.0dp
102 | 0.53dp
103 | 1.06dp
104 | 1.6dp
105 | 2.13dp
106 | 2.66dp
107 | 3.2dp
108 | 3.73dp
109 | 4.26dp
110 | 4.8dp
111 | 5.33dp
112 | 5.86dp
113 | 6.4dp
114 | 6.93dp
115 | 7.46dp
116 | 8.0dp
117 | 8.53dp
118 | 9.06dp
119 | 9.6dp
120 | 10.13dp
121 | 10.66dp
122 | 11.2dp
123 | 11.73dp
124 | 12.26dp
125 | 12.8dp
126 | 13.33dp
127 | 13.86dp
128 | 14.4dp
129 | 14.93dp
130 | 15.46dp
131 | 16.0dp
132 | 16.53dp
133 | 17.06dp
134 | 17.6dp
135 | 18.13dp
136 | 18.66dp
137 | 19.2dp
138 | 19.73dp
139 | 20.26dp
140 | 20.8dp
141 | 21.33dp
142 | 21.86dp
143 | 22.4dp
144 | 22.93dp
145 | 23.46dp
146 | 24.0dp
147 | 24.53dp
148 | 25.06dp
149 | 25.6dp
150 | 26.13dp
151 | 26.66dp
152 | 27.2dp
153 | 27.73dp
154 | 28.26dp
155 | 28.8dp
156 | 29.33dp
157 | 29.86dp
158 | 30.4dp
159 | 30.93dp
160 | 31.46dp
161 | 32.0dp
162 | 32.53dp
163 | 33.06dp
164 | 33.6dp
165 | 34.13dp
166 | 34.66dp
167 | 35.2dp
168 | 35.73dp
169 | 36.26dp
170 | 36.8dp
171 | 37.33dp
172 | 37.86dp
173 | 38.4dp
174 | 38.93dp
175 | 39.46dp
176 | 40.0dp
177 | 40.53dp
178 | 41.06dp
179 | 41.6dp
180 | 42.13dp
181 | 42.66dp
182 | 43.2dp
183 | 43.73dp
184 | 44.26dp
185 | 44.8dp
186 | 45.33dp
187 | 45.86dp
188 | 46.4dp
189 | 46.93dp
190 | 47.46dp
191 | 48.0dp
192 | 48.53dp
193 | 49.06dp
194 | 49.6dp
195 | 50.13dp
196 | 50.66dp
197 | 51.2dp
198 | 51.73dp
199 | 52.26dp
200 | 52.8dp
201 | 53.33dp
202 | 53.86dp
203 | 54.4dp
204 | 54.93dp
205 | 55.46dp
206 | 56.0dp
207 | 56.53dp
208 | 57.06dp
209 | 57.6dp
210 | 58.13dp
211 | 58.66dp
212 | 59.2dp
213 | 59.73dp
214 | 60.26dp
215 | 60.8dp
216 | 61.33dp
217 | 61.86dp
218 | 62.4dp
219 | 62.93dp
220 | 63.46dp
221 | 64.0dp
222 | 64.53dp
223 | 65.06dp
224 | 65.6dp
225 | 66.13dp
226 | 66.66dp
227 | 67.2dp
228 | 67.73dp
229 | 68.26dp
230 | 68.8dp
231 | 69.33dp
232 | 69.86dp
233 | 70.4dp
234 | 70.93dp
235 | 71.46dp
236 | 72.0dp
237 | 72.53dp
238 | 73.06dp
239 | 73.6dp
240 | 74.13dp
241 | 74.66dp
242 | 75.2dp
243 | 75.73dp
244 | 76.26dp
245 | 76.8dp
246 | 77.33dp
247 | 77.86dp
248 | 78.4dp
249 | 78.93dp
250 | 79.46dp
251 | 80.0dp
252 | 80.53dp
253 | 81.06dp
254 | 81.6dp
255 | 82.13dp
256 | 82.66dp
257 | 83.2dp
258 | 83.73dp
259 | 84.26dp
260 | 84.8dp
261 | 85.33dp
262 | 85.86dp
263 | 86.4dp
264 | 86.93dp
265 | 87.46dp
266 | 88.0dp
267 | 88.53dp
268 | 89.06dp
269 | 89.6dp
270 | 90.13dp
271 | 90.66dp
272 | 91.2dp
273 | 91.73dp
274 | 92.26dp
275 | 92.8dp
276 | 93.33dp
277 | 93.86dp
278 | 94.4dp
279 | 94.93dp
280 | 95.46dp
281 | 96.0dp
282 | 96.53dp
283 | 97.06dp
284 | 97.6dp
285 | 98.13dp
286 | 98.66dp
287 | 99.2dp
288 | 99.73dp
289 | 100.26dp
290 | 100.8dp
291 | 101.33dp
292 | 101.86dp
293 | 102.4dp
294 | 102.93dp
295 | 103.46dp
296 | 104.0dp
297 | 104.53dp
298 | 105.06dp
299 | 105.6dp
300 | 106.13dp
301 | 106.66dp
302 | 107.2dp
303 | 107.73dp
304 | 108.26dp
305 | 108.8dp
306 | 109.33dp
307 | 109.86dp
308 | 110.4dp
309 | 110.93dp
310 | 111.46dp
311 | 112.0dp
312 | 112.53dp
313 | 113.06dp
314 | 113.6dp
315 | 114.13dp
316 | 114.66dp
317 | 115.2dp
318 | 115.73dp
319 | 116.26dp
320 | 116.8dp
321 | 117.33dp
322 | 117.86dp
323 | 118.4dp
324 | 118.93dp
325 | 119.46dp
326 | 120.0dp
327 | 120.53dp
328 | 121.06dp
329 | 121.6dp
330 | 122.13dp
331 | 122.66dp
332 | 123.2dp
333 | 123.73dp
334 | 124.26dp
335 | 124.8dp
336 | 125.33dp
337 | 125.86dp
338 | 126.4dp
339 | 126.93dp
340 | 127.46dp
341 | 128.0dp
342 | 128.53dp
343 | 129.06dp
344 | 129.6dp
345 | 130.13dp
346 | 130.66dp
347 | 131.2dp
348 | 131.73dp
349 | 132.26dp
350 | 132.8dp
351 | 133.33dp
352 | 133.86dp
353 | 134.4dp
354 | 134.93dp
355 | 135.46dp
356 | 136.0dp
357 | 136.53dp
358 | 137.06dp
359 | 137.6dp
360 | 138.13dp
361 | 138.66dp
362 | 139.2dp
363 | 139.73dp
364 | 140.26dp
365 | 140.8dp
366 | 141.33dp
367 | 141.86dp
368 | 142.4dp
369 | 142.93dp
370 | 143.46dp
371 | 144.0dp
372 | 144.53dp
373 | 145.06dp
374 | 145.6dp
375 | 146.13dp
376 | 146.66dp
377 | 147.2dp
378 | 147.73dp
379 | 148.26dp
380 | 148.8dp
381 | 149.33dp
382 | 149.86dp
383 | 150.4dp
384 | 150.93dp
385 | 151.46dp
386 | 152.0dp
387 | 152.53dp
388 | 153.06dp
389 | 153.6dp
390 | 154.13dp
391 | 154.66dp
392 | 155.2dp
393 | 155.73dp
394 | 156.26dp
395 | 156.8dp
396 | 157.33dp
397 | 157.86dp
398 | 158.4dp
399 | 158.93dp
400 | 159.46dp
401 | 160.0dp
402 | 160.53dp
403 | 161.06dp
404 | 161.6dp
405 | 162.13dp
406 | 162.66dp
407 | 163.2dp
408 | 163.73dp
409 | 164.26dp
410 | 164.8dp
411 | 165.33dp
412 | 165.86dp
413 | 166.4dp
414 | 166.93dp
415 | 167.46dp
416 | 168.0dp
417 | 168.53dp
418 | 169.06dp
419 | 169.6dp
420 | 170.13dp
421 | 170.66dp
422 | 171.2dp
423 | 171.73dp
424 | 172.26dp
425 | 172.8dp
426 | 173.33dp
427 | 173.86dp
428 | 174.4dp
429 | 174.93dp
430 | 175.46dp
431 | 176.0dp
432 | 176.53dp
433 | 177.06dp
434 | 177.6dp
435 | 178.13dp
436 | 178.66dp
437 | 179.2dp
438 | 179.73dp
439 | 180.26dp
440 | 180.8dp
441 | 181.33dp
442 | 181.86dp
443 | 182.4dp
444 | 182.93dp
445 | 183.46dp
446 | 184.0dp
447 | 184.53dp
448 | 185.06dp
449 | 185.6dp
450 | 186.13dp
451 | 186.66dp
452 | 187.2dp
453 | 187.73dp
454 | 188.26dp
455 | 188.8dp
456 | 189.33dp
457 | 189.86dp
458 | 190.4dp
459 | 190.93dp
460 | 191.46dp
461 | 192.0dp
462 | 192.53dp
463 | 193.06dp
464 | 193.6dp
465 | 194.13dp
466 | 194.66dp
467 | 195.2dp
468 | 195.73dp
469 | 196.26dp
470 | 196.8dp
471 | 197.33dp
472 | 197.86dp
473 | 198.4dp
474 | 198.93dp
475 | 199.46dp
476 | 200.0dp
477 | 200.53dp
478 | 201.06dp
479 | 201.6dp
480 | 202.13dp
481 | 202.66dp
482 | 203.2dp
483 | 203.73dp
484 | 204.26dp
485 | 204.8dp
486 | 205.33dp
487 | 205.86dp
488 | 206.4dp
489 | 206.93dp
490 | 207.46dp
491 | 208.0dp
492 | 208.53dp
493 | 209.06dp
494 | 209.6dp
495 | 210.13dp
496 | 210.66dp
497 | 211.2dp
498 | 211.73dp
499 | 212.26dp
500 | 212.8dp
501 | 213.33dp
502 | 213.86dp
503 | 214.4dp
504 | 214.93dp
505 | 215.46dp
506 | 216.0dp
507 | 216.53dp
508 | 217.06dp
509 | 217.6dp
510 | 218.13dp
511 | 218.66dp
512 | 219.2dp
513 | 219.73dp
514 | 220.26dp
515 | 220.8dp
516 | 221.33dp
517 | 221.86dp
518 | 222.4dp
519 | 222.93dp
520 | 223.46dp
521 | 224.0dp
522 | 224.53dp
523 | 225.06dp
524 | 225.6dp
525 | 226.13dp
526 | 226.66dp
527 | 227.2dp
528 | 227.73dp
529 | 228.26dp
530 | 228.8dp
531 | 229.33dp
532 | 229.86dp
533 | 230.4dp
534 | 230.93dp
535 | 231.46dp
536 | 232.0dp
537 | 232.53dp
538 | 233.06dp
539 | 233.6dp
540 | 234.13dp
541 | 234.66dp
542 | 235.2dp
543 | 235.73dp
544 | 236.26dp
545 | 236.8dp
546 | 237.33dp
547 | 237.86dp
548 | 238.4dp
549 | 238.93dp
550 | 239.46dp
551 | 240.0dp
552 | 240.53dp
553 | 241.06dp
554 | 241.6dp
555 | 242.13dp
556 | 242.66dp
557 | 243.2dp
558 | 243.73dp
559 | 244.26dp
560 | 244.8dp
561 | 245.33dp
562 | 245.86dp
563 | 246.4dp
564 | 246.93dp
565 | 247.46dp
566 | 248.0dp
567 | 248.53dp
568 | 249.06dp
569 | 249.6dp
570 | 250.13dp
571 | 250.66dp
572 | 251.2dp
573 | 251.73dp
574 | 252.26dp
575 | 252.8dp
576 | 253.33dp
577 | 253.86dp
578 | 254.4dp
579 | 254.93dp
580 | 255.46dp
581 | 256.0dp
582 | 256.53dp
583 | 257.06dp
584 | 257.6dp
585 | 258.13dp
586 | 258.66dp
587 | 259.2dp
588 | 259.73dp
589 | 260.26dp
590 | 260.8dp
591 | 261.33dp
592 | 261.86dp
593 | 262.4dp
594 | 262.93dp
595 | 263.46dp
596 | 264.0dp
597 | 264.53dp
598 | 265.06dp
599 | 265.6dp
600 | 266.13dp
601 | 266.66dp
602 | 267.2dp
603 | 267.73dp
604 | 268.26dp
605 | 268.8dp
606 | 269.33dp
607 | 269.86dp
608 | 270.4dp
609 | 270.93dp
610 | 271.46dp
611 | 272.0dp
612 | 272.53dp
613 | 273.06dp
614 | 273.6dp
615 | 274.13dp
616 | 274.66dp
617 | 275.2dp
618 | 275.73dp
619 | 276.26dp
620 | 276.8dp
621 | 277.33dp
622 | 277.86dp
623 | 278.4dp
624 | 278.93dp
625 | 279.46dp
626 | 280.0dp
627 | 280.53dp
628 | 281.06dp
629 | 281.6dp
630 | 282.13dp
631 | 282.66dp
632 | 283.2dp
633 | 283.73dp
634 | 284.26dp
635 | 284.8dp
636 | 285.33dp
637 | 285.86dp
638 | 286.4dp
639 | 286.93dp
640 | 287.46dp
641 | 288.0dp
642 | 288.53dp
643 | 289.06dp
644 | 289.6dp
645 | 290.13dp
646 | 290.66dp
647 | 291.2dp
648 | 291.73dp
649 | 292.26dp
650 | 292.8dp
651 | 293.33dp
652 | 293.86dp
653 | 294.4dp
654 | 294.93dp
655 | 295.46dp
656 | 296.0dp
657 | 296.53dp
658 | 297.06dp
659 | 297.6dp
660 | 298.13dp
661 | 298.66dp
662 | 299.2dp
663 | 299.73dp
664 | 300.26dp
665 | 300.8dp
666 | 301.33dp
667 | 301.86dp
668 | 302.4dp
669 | 302.93dp
670 | 303.46dp
671 | 304.0dp
672 | 304.53dp
673 | 305.06dp
674 | 305.6dp
675 | 306.13dp
676 | 306.66dp
677 | 307.2dp
678 | 307.73dp
679 | 308.26dp
680 | 308.8dp
681 | 309.33dp
682 | 309.86dp
683 | 310.4dp
684 | 310.93dp
685 | 311.46dp
686 | 312.0dp
687 | 312.53dp
688 | 313.06dp
689 | 313.6dp
690 | 314.13dp
691 | 314.66dp
692 | 315.2dp
693 | 315.73dp
694 | 316.26dp
695 | 316.8dp
696 | 317.33dp
697 | 317.86dp
698 | 318.4dp
699 | 318.93dp
700 | 319.46dp
701 | 320.0dp
702 | 320.53dp
703 | 321.06dp
704 | 321.6dp
705 | 322.13dp
706 | 322.66dp
707 | 323.2dp
708 | 323.73dp
709 | 324.26dp
710 | 324.8dp
711 | 325.33dp
712 | 325.86dp
713 | 326.4dp
714 | 326.93dp
715 | 327.46dp
716 | 328.0dp
717 | 328.53dp
718 | 329.06dp
719 | 329.6dp
720 | 330.13dp
721 | 330.66dp
722 | 331.2dp
723 | 331.73dp
724 | 332.26dp
725 | 332.8dp
726 | 333.33dp
727 | 333.86dp
728 | 334.4dp
729 | 334.93dp
730 | 335.46dp
731 | 336.0dp
732 | 336.53dp
733 | 337.06dp
734 | 337.6dp
735 | 338.13dp
736 | 338.66dp
737 | 339.2dp
738 | 339.73dp
739 | 340.26dp
740 | 340.8dp
741 | 341.33dp
742 | 341.86dp
743 | 342.4dp
744 | 342.93dp
745 | 343.46dp
746 | 344.0dp
747 | 344.53dp
748 | 345.06dp
749 | 345.6dp
750 | 346.13dp
751 | 346.66dp
752 | 347.2dp
753 | 347.73dp
754 | 348.26dp
755 | 348.8dp
756 | 349.33dp
757 | 349.86dp
758 | 350.4dp
759 | 350.93dp
760 | 351.46dp
761 | 352.0dp
762 | 352.53dp
763 | 353.06dp
764 | 353.6dp
765 | 354.13dp
766 | 354.66dp
767 | 355.2dp
768 | 355.73dp
769 | 356.26dp
770 | 356.8dp
771 | 357.33dp
772 | 357.86dp
773 | 358.4dp
774 | 358.93dp
775 | 359.46dp
776 | 360.0dp
777 | 360.53dp
778 | 361.06dp
779 | 361.6dp
780 | 362.13dp
781 | 362.66dp
782 | 363.2dp
783 | 363.73dp
784 | 364.26dp
785 | 364.8dp
786 | 365.33dp
787 | 365.86dp
788 | 366.4dp
789 | 366.93dp
790 | 367.46dp
791 | 368.0dp
792 | 368.53dp
793 | 369.06dp
794 | 369.6dp
795 | 370.13dp
796 | 370.66dp
797 | 371.2dp
798 | 371.73dp
799 | 372.26dp
800 | 372.8dp
801 | 373.33dp
802 | 373.86dp
803 | 374.4dp
804 | 374.93dp
805 | 375.46dp
806 | 376.0dp
807 | 376.53dp
808 | 377.06dp
809 | 377.6dp
810 | 378.13dp
811 | 378.66dp
812 | 379.2dp
813 | 379.73dp
814 | 380.26dp
815 | 380.8dp
816 | 381.33dp
817 | 381.86dp
818 | 382.4dp
819 | 382.93dp
820 | 383.46dp
821 | 384.0dp
822 | 384.53dp
823 | 385.06dp
824 | 385.6dp
825 | 386.13dp
826 | 386.66dp
827 | 387.2dp
828 | 387.73dp
829 | 388.26dp
830 | 388.8dp
831 | 389.33dp
832 | 389.86dp
833 | 390.4dp
834 | 390.93dp
835 | 391.46dp
836 | 392.0dp
837 | 392.53dp
838 | 393.06dp
839 | 393.6dp
840 | 394.13dp
841 | 394.66dp
842 | 395.2dp
843 | 395.73dp
844 | 396.26dp
845 | 396.8dp
846 | 397.33dp
847 | 397.86dp
848 | 398.4dp
849 | 398.93dp
850 | 399.46dp
851 | 400.0dp
852 | 800.0dp
853 | 426.0dp
854 |
--------------------------------------------------------------------------------
/app/src/main/res/values-w500dp/dps.xml:
--------------------------------------------------------------------------------
1 |
2 | 5.0dp
3 | 10.0dp
4 | 15.0dp
5 | 20.0dp
6 | 25.0dp
7 | 30.0dp
8 | 35.0dp
9 | 40.0dp
10 | 45.0dp
11 | 50.0dp
12 | 55.0dp
13 | 60.0dp
14 | 65.0dp
15 | 70.0dp
16 | 75.0dp
17 | 80.0dp
18 | 85.0dp
19 | 90.0dp
20 | 95.0dp
21 | 100.0dp
22 | 105.0dp
23 | 110.0dp
24 | 115.0dp
25 | 120.0dp
26 | 125.0dp
27 | 130.0dp
28 | 135.0dp
29 | 140.0dp
30 | 145.0dp
31 | 150.0dp
32 | 155.0dp
33 | 160.0dp
34 | 165.0dp
35 | 170.0dp
36 | 175.0dp
37 | 180.0dp
38 | 185.0dp
39 | 190.0dp
40 | 195.0dp
41 | 200.0dp
42 | 205.0dp
43 | 210.0dp
44 | 215.0dp
45 | 220.0dp
46 | 225.0dp
47 | 230.0dp
48 | 235.0dp
49 | 240.0dp
50 | 245.0dp
51 | 250.0dp
52 | 255.0dp
53 | 260.0dp
54 | 265.0dp
55 | 270.0dp
56 | 275.0dp
57 | 280.0dp
58 | 285.0dp
59 | 290.0dp
60 | 295.0dp
61 | 300.0dp
62 | 305.0dp
63 | 310.0dp
64 | 315.0dp
65 | 320.0dp
66 | 325.0dp
67 | 330.0dp
68 | 335.0dp
69 | 340.0dp
70 | 345.0dp
71 | 350.0dp
72 | 355.0dp
73 | 360.0dp
74 | 365.0dp
75 | 370.0dp
76 | 375.0dp
77 | 380.0dp
78 | 385.0dp
79 | 390.0dp
80 | 395.0dp
81 | 400.0dp
82 | 405.0dp
83 | 410.0dp
84 | 415.0dp
85 | 420.0dp
86 | 425.0dp
87 | 430.0dp
88 | 435.0dp
89 | 440.0dp
90 | 445.0dp
91 | 450.0dp
92 | 455.0dp
93 | 460.0dp
94 | 465.0dp
95 | 470.0dp
96 | 475.0dp
97 | 480.0dp
98 | 485.0dp
99 | 490.0dp
100 | 495.0dp
101 | 500.0dp
102 | 0.66dp
103 | 1.33dp
104 | 2.0dp
105 | 2.66dp
106 | 3.33dp
107 | 4.0dp
108 | 4.66dp
109 | 5.33dp
110 | 6.0dp
111 | 6.66dp
112 | 7.33dp
113 | 8.0dp
114 | 8.66dp
115 | 9.33dp
116 | 10.0dp
117 | 10.66dp
118 | 11.33dp
119 | 12.0dp
120 | 12.66dp
121 | 13.33dp
122 | 14.0dp
123 | 14.66dp
124 | 15.33dp
125 | 16.0dp
126 | 16.66dp
127 | 17.33dp
128 | 18.0dp
129 | 18.66dp
130 | 19.33dp
131 | 20.0dp
132 | 20.66dp
133 | 21.33dp
134 | 22.0dp
135 | 22.66dp
136 | 23.33dp
137 | 24.0dp
138 | 24.66dp
139 | 25.33dp
140 | 26.0dp
141 | 26.66dp
142 | 27.33dp
143 | 28.0dp
144 | 28.66dp
145 | 29.33dp
146 | 30.0dp
147 | 30.66dp
148 | 31.33dp
149 | 32.0dp
150 | 32.66dp
151 | 33.33dp
152 | 34.0dp
153 | 34.66dp
154 | 35.33dp
155 | 36.0dp
156 | 36.66dp
157 | 37.33dp
158 | 38.0dp
159 | 38.66dp
160 | 39.33dp
161 | 40.0dp
162 | 40.66dp
163 | 41.33dp
164 | 42.0dp
165 | 42.66dp
166 | 43.33dp
167 | 44.0dp
168 | 44.66dp
169 | 45.33dp
170 | 46.0dp
171 | 46.66dp
172 | 47.33dp
173 | 48.0dp
174 | 48.66dp
175 | 49.33dp
176 | 50.0dp
177 | 50.66dp
178 | 51.33dp
179 | 52.0dp
180 | 52.66dp
181 | 53.33dp
182 | 54.0dp
183 | 54.66dp
184 | 55.33dp
185 | 56.0dp
186 | 56.66dp
187 | 57.33dp
188 | 58.0dp
189 | 58.66dp
190 | 59.33dp
191 | 60.0dp
192 | 60.66dp
193 | 61.33dp
194 | 62.0dp
195 | 62.66dp
196 | 63.33dp
197 | 64.0dp
198 | 64.66dp
199 | 65.33dp
200 | 66.0dp
201 | 66.66dp
202 | 67.33dp
203 | 68.0dp
204 | 68.66dp
205 | 69.33dp
206 | 70.0dp
207 | 70.66dp
208 | 71.33dp
209 | 72.0dp
210 | 72.66dp
211 | 73.33dp
212 | 74.0dp
213 | 74.66dp
214 | 75.33dp
215 | 76.0dp
216 | 76.66dp
217 | 77.33dp
218 | 78.0dp
219 | 78.66dp
220 | 79.33dp
221 | 80.0dp
222 | 80.66dp
223 | 81.33dp
224 | 82.0dp
225 | 82.66dp
226 | 83.33dp
227 | 84.0dp
228 | 84.66dp
229 | 85.33dp
230 | 86.0dp
231 | 86.66dp
232 | 87.33dp
233 | 88.0dp
234 | 88.66dp
235 | 89.33dp
236 | 90.0dp
237 | 90.66dp
238 | 91.33dp
239 | 92.0dp
240 | 92.66dp
241 | 93.33dp
242 | 94.0dp
243 | 94.66dp
244 | 95.33dp
245 | 96.0dp
246 | 96.66dp
247 | 97.33dp
248 | 98.0dp
249 | 98.66dp
250 | 99.33dp
251 | 100.0dp
252 | 100.66dp
253 | 101.33dp
254 | 102.0dp
255 | 102.66dp
256 | 103.33dp
257 | 104.0dp
258 | 104.66dp
259 | 105.33dp
260 | 106.0dp
261 | 106.66dp
262 | 107.33dp
263 | 108.0dp
264 | 108.66dp
265 | 109.33dp
266 | 110.0dp
267 | 110.66dp
268 | 111.33dp
269 | 112.0dp
270 | 112.66dp
271 | 113.33dp
272 | 114.0dp
273 | 114.66dp
274 | 115.33dp
275 | 116.0dp
276 | 116.66dp
277 | 117.33dp
278 | 118.0dp
279 | 118.66dp
280 | 119.33dp
281 | 120.0dp
282 | 120.66dp
283 | 121.33dp
284 | 122.0dp
285 | 122.66dp
286 | 123.33dp
287 | 124.0dp
288 | 124.66dp
289 | 125.33dp
290 | 126.0dp
291 | 126.66dp
292 | 127.33dp
293 | 128.0dp
294 | 128.66dp
295 | 129.33dp
296 | 130.0dp
297 | 130.66dp
298 | 131.33dp
299 | 132.0dp
300 | 132.66dp
301 | 133.33dp
302 | 134.0dp
303 | 134.66dp
304 | 135.33dp
305 | 136.0dp
306 | 136.66dp
307 | 137.33dp
308 | 138.0dp
309 | 138.66dp
310 | 139.33dp
311 | 140.0dp
312 | 140.66dp
313 | 141.33dp
314 | 142.0dp
315 | 142.66dp
316 | 143.33dp
317 | 144.0dp
318 | 144.66dp
319 | 145.33dp
320 | 146.0dp
321 | 146.66dp
322 | 147.33dp
323 | 148.0dp
324 | 148.66dp
325 | 149.33dp
326 | 150.0dp
327 | 150.66dp
328 | 151.33dp
329 | 152.0dp
330 | 152.66dp
331 | 153.33dp
332 | 154.0dp
333 | 154.66dp
334 | 155.33dp
335 | 156.0dp
336 | 156.66dp
337 | 157.33dp
338 | 158.0dp
339 | 158.66dp
340 | 159.33dp
341 | 160.0dp
342 | 160.66dp
343 | 161.33dp
344 | 162.0dp
345 | 162.66dp
346 | 163.33dp
347 | 164.0dp
348 | 164.66dp
349 | 165.33dp
350 | 166.0dp
351 | 166.66dp
352 | 167.33dp
353 | 168.0dp
354 | 168.66dp
355 | 169.33dp
356 | 170.0dp
357 | 170.66dp
358 | 171.33dp
359 | 172.0dp
360 | 172.66dp
361 | 173.33dp
362 | 174.0dp
363 | 174.66dp
364 | 175.33dp
365 | 176.0dp
366 | 176.66dp
367 | 177.33dp
368 | 178.0dp
369 | 178.66dp
370 | 179.33dp
371 | 180.0dp
372 | 180.66dp
373 | 181.33dp
374 | 182.0dp
375 | 182.66dp
376 | 183.33dp
377 | 184.0dp
378 | 184.66dp
379 | 185.33dp
380 | 186.0dp
381 | 186.66dp
382 | 187.33dp
383 | 188.0dp
384 | 188.66dp
385 | 189.33dp
386 | 190.0dp
387 | 190.66dp
388 | 191.33dp
389 | 192.0dp
390 | 192.66dp
391 | 193.33dp
392 | 194.0dp
393 | 194.66dp
394 | 195.33dp
395 | 196.0dp
396 | 196.66dp
397 | 197.33dp
398 | 198.0dp
399 | 198.66dp
400 | 199.33dp
401 | 200.0dp
402 | 200.66dp
403 | 201.33dp
404 | 202.0dp
405 | 202.66dp
406 | 203.33dp
407 | 204.0dp
408 | 204.66dp
409 | 205.33dp
410 | 206.0dp
411 | 206.66dp
412 | 207.33dp
413 | 208.0dp
414 | 208.66dp
415 | 209.33dp
416 | 210.0dp
417 | 210.66dp
418 | 211.33dp
419 | 212.0dp
420 | 212.66dp
421 | 213.33dp
422 | 214.0dp
423 | 214.66dp
424 | 215.33dp
425 | 216.0dp
426 | 216.66dp
427 | 217.33dp
428 | 218.0dp
429 | 218.66dp
430 | 219.33dp
431 | 220.0dp
432 | 220.66dp
433 | 221.33dp
434 | 222.0dp
435 | 222.66dp
436 | 223.33dp
437 | 224.0dp
438 | 224.66dp
439 | 225.33dp
440 | 226.0dp
441 | 226.66dp
442 | 227.33dp
443 | 228.0dp
444 | 228.66dp
445 | 229.33dp
446 | 230.0dp
447 | 230.66dp
448 | 231.33dp
449 | 232.0dp
450 | 232.66dp
451 | 233.33dp
452 | 234.0dp
453 | 234.66dp
454 | 235.33dp
455 | 236.0dp
456 | 236.66dp
457 | 237.33dp
458 | 238.0dp
459 | 238.66dp
460 | 239.33dp
461 | 240.0dp
462 | 240.66dp
463 | 241.33dp
464 | 242.0dp
465 | 242.66dp
466 | 243.33dp
467 | 244.0dp
468 | 244.66dp
469 | 245.33dp
470 | 246.0dp
471 | 246.66dp
472 | 247.33dp
473 | 248.0dp
474 | 248.66dp
475 | 249.33dp
476 | 250.0dp
477 | 250.66dp
478 | 251.33dp
479 | 252.0dp
480 | 252.66dp
481 | 253.33dp
482 | 254.0dp
483 | 254.66dp
484 | 255.33dp
485 | 256.0dp
486 | 256.66dp
487 | 257.33dp
488 | 258.0dp
489 | 258.66dp
490 | 259.33dp
491 | 260.0dp
492 | 260.66dp
493 | 261.33dp
494 | 262.0dp
495 | 262.66dp
496 | 263.33dp
497 | 264.0dp
498 | 264.66dp
499 | 265.33dp
500 | 266.0dp
501 | 266.66dp
502 | 267.33dp
503 | 268.0dp
504 | 268.66dp
505 | 269.33dp
506 | 270.0dp
507 | 270.66dp
508 | 271.33dp
509 | 272.0dp
510 | 272.66dp
511 | 273.33dp
512 | 274.0dp
513 | 274.66dp
514 | 275.33dp
515 | 276.0dp
516 | 276.66dp
517 | 277.33dp
518 | 278.0dp
519 | 278.66dp
520 | 279.33dp
521 | 280.0dp
522 | 280.66dp
523 | 281.33dp
524 | 282.0dp
525 | 282.66dp
526 | 283.33dp
527 | 284.0dp
528 | 284.66dp
529 | 285.33dp
530 | 286.0dp
531 | 286.66dp
532 | 287.33dp
533 | 288.0dp
534 | 288.66dp
535 | 289.33dp
536 | 290.0dp
537 | 290.66dp
538 | 291.33dp
539 | 292.0dp
540 | 292.66dp
541 | 293.33dp
542 | 294.0dp
543 | 294.66dp
544 | 295.33dp
545 | 296.0dp
546 | 296.66dp
547 | 297.33dp
548 | 298.0dp
549 | 298.66dp
550 | 299.33dp
551 | 300.0dp
552 | 300.66dp
553 | 301.33dp
554 | 302.0dp
555 | 302.66dp
556 | 303.33dp
557 | 304.0dp
558 | 304.66dp
559 | 305.33dp
560 | 306.0dp
561 | 306.66dp
562 | 307.33dp
563 | 308.0dp
564 | 308.66dp
565 | 309.33dp
566 | 310.0dp
567 | 310.66dp
568 | 311.33dp
569 | 312.0dp
570 | 312.66dp
571 | 313.33dp
572 | 314.0dp
573 | 314.66dp
574 | 315.33dp
575 | 316.0dp
576 | 316.66dp
577 | 317.33dp
578 | 318.0dp
579 | 318.66dp
580 | 319.33dp
581 | 320.0dp
582 | 320.66dp
583 | 321.33dp
584 | 322.0dp
585 | 322.66dp
586 | 323.33dp
587 | 324.0dp
588 | 324.66dp
589 | 325.33dp
590 | 326.0dp
591 | 326.66dp
592 | 327.33dp
593 | 328.0dp
594 | 328.66dp
595 | 329.33dp
596 | 330.0dp
597 | 330.66dp
598 | 331.33dp
599 | 332.0dp
600 | 332.66dp
601 | 333.33dp
602 | 334.0dp
603 | 334.66dp
604 | 335.33dp
605 | 336.0dp
606 | 336.66dp
607 | 337.33dp
608 | 338.0dp
609 | 338.66dp
610 | 339.33dp
611 | 340.0dp
612 | 340.66dp
613 | 341.33dp
614 | 342.0dp
615 | 342.66dp
616 | 343.33dp
617 | 344.0dp
618 | 344.66dp
619 | 345.33dp
620 | 346.0dp
621 | 346.66dp
622 | 347.33dp
623 | 348.0dp
624 | 348.66dp
625 | 349.33dp
626 | 350.0dp
627 | 350.66dp
628 | 351.33dp
629 | 352.0dp
630 | 352.66dp
631 | 353.33dp
632 | 354.0dp
633 | 354.66dp
634 | 355.33dp
635 | 356.0dp
636 | 356.66dp
637 | 357.33dp
638 | 358.0dp
639 | 358.66dp
640 | 359.33dp
641 | 360.0dp
642 | 360.66dp
643 | 361.33dp
644 | 362.0dp
645 | 362.66dp
646 | 363.33dp
647 | 364.0dp
648 | 364.66dp
649 | 365.33dp
650 | 366.0dp
651 | 366.66dp
652 | 367.33dp
653 | 368.0dp
654 | 368.66dp
655 | 369.33dp
656 | 370.0dp
657 | 370.66dp
658 | 371.33dp
659 | 372.0dp
660 | 372.66dp
661 | 373.33dp
662 | 374.0dp
663 | 374.66dp
664 | 375.33dp
665 | 376.0dp
666 | 376.66dp
667 | 377.33dp
668 | 378.0dp
669 | 378.66dp
670 | 379.33dp
671 | 380.0dp
672 | 380.66dp
673 | 381.33dp
674 | 382.0dp
675 | 382.66dp
676 | 383.33dp
677 | 384.0dp
678 | 384.66dp
679 | 385.33dp
680 | 386.0dp
681 | 386.66dp
682 | 387.33dp
683 | 388.0dp
684 | 388.66dp
685 | 389.33dp
686 | 390.0dp
687 | 390.66dp
688 | 391.33dp
689 | 392.0dp
690 | 392.66dp
691 | 393.33dp
692 | 394.0dp
693 | 394.66dp
694 | 395.33dp
695 | 396.0dp
696 | 396.66dp
697 | 397.33dp
698 | 398.0dp
699 | 398.66dp
700 | 399.33dp
701 | 400.0dp
702 | 400.66dp
703 | 401.33dp
704 | 402.0dp
705 | 402.66dp
706 | 403.33dp
707 | 404.0dp
708 | 404.66dp
709 | 405.33dp
710 | 406.0dp
711 | 406.66dp
712 | 407.33dp
713 | 408.0dp
714 | 408.66dp
715 | 409.33dp
716 | 410.0dp
717 | 410.66dp
718 | 411.33dp
719 | 412.0dp
720 | 412.66dp
721 | 413.33dp
722 | 414.0dp
723 | 414.66dp
724 | 415.33dp
725 | 416.0dp
726 | 416.66dp
727 | 417.33dp
728 | 418.0dp
729 | 418.66dp
730 | 419.33dp
731 | 420.0dp
732 | 420.66dp
733 | 421.33dp
734 | 422.0dp
735 | 422.66dp
736 | 423.33dp
737 | 424.0dp
738 | 424.66dp
739 | 425.33dp
740 | 426.0dp
741 | 426.66dp
742 | 427.33dp
743 | 428.0dp
744 | 428.66dp
745 | 429.33dp
746 | 430.0dp
747 | 430.66dp
748 | 431.33dp
749 | 432.0dp
750 | 432.66dp
751 | 433.33dp
752 | 434.0dp
753 | 434.66dp
754 | 435.33dp
755 | 436.0dp
756 | 436.66dp
757 | 437.33dp
758 | 438.0dp
759 | 438.66dp
760 | 439.33dp
761 | 440.0dp
762 | 440.66dp
763 | 441.33dp
764 | 442.0dp
765 | 442.66dp
766 | 443.33dp
767 | 444.0dp
768 | 444.66dp
769 | 445.33dp
770 | 446.0dp
771 | 446.66dp
772 | 447.33dp
773 | 448.0dp
774 | 448.66dp
775 | 449.33dp
776 | 450.0dp
777 | 450.66dp
778 | 451.33dp
779 | 452.0dp
780 | 452.66dp
781 | 453.33dp
782 | 454.0dp
783 | 454.66dp
784 | 455.33dp
785 | 456.0dp
786 | 456.66dp
787 | 457.33dp
788 | 458.0dp
789 | 458.66dp
790 | 459.33dp
791 | 460.0dp
792 | 460.66dp
793 | 461.33dp
794 | 462.0dp
795 | 462.66dp
796 | 463.33dp
797 | 464.0dp
798 | 464.66dp
799 | 465.33dp
800 | 466.0dp
801 | 466.66dp
802 | 467.33dp
803 | 468.0dp
804 | 468.66dp
805 | 469.33dp
806 | 470.0dp
807 | 470.66dp
808 | 471.33dp
809 | 472.0dp
810 | 472.66dp
811 | 473.33dp
812 | 474.0dp
813 | 474.66dp
814 | 475.33dp
815 | 476.0dp
816 | 476.66dp
817 | 477.33dp
818 | 478.0dp
819 | 478.66dp
820 | 479.33dp
821 | 480.0dp
822 | 480.66dp
823 | 481.33dp
824 | 482.0dp
825 | 482.66dp
826 | 483.33dp
827 | 484.0dp
828 | 484.66dp
829 | 485.33dp
830 | 486.0dp
831 | 486.66dp
832 | 487.33dp
833 | 488.0dp
834 | 488.66dp
835 | 489.33dp
836 | 490.0dp
837 | 490.66dp
838 | 491.33dp
839 | 492.0dp
840 | 492.66dp
841 | 493.33dp
842 | 494.0dp
843 | 494.66dp
844 | 495.33dp
845 | 496.0dp
846 | 496.66dp
847 | 497.33dp
848 | 498.0dp
849 | 498.66dp
850 | 499.33dp
851 | 500.0dp
852 | 1000.0dp
853 | 533.0dp
854 |
--------------------------------------------------------------------------------
/app/src/main/res/values-w820dp/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 | 64dp
6 |
7 |
--------------------------------------------------------------------------------
/app/src/main/res/values/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #3F51B5
4 | #303F9F
5 | #FF4081
6 |
7 |
--------------------------------------------------------------------------------
/app/src/main/res/values/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 16dp
4 | 16dp
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/values/dps.xml:
--------------------------------------------------------------------------------
1 |
2 | 1.0dp
3 | 2.0dp
4 | 3.0dp
5 | 4.0dp
6 | 6.0dp
7 | 7.0dp
8 | 8.0dp
9 | 9.0dp
10 | 10.0dp
11 | 12.0dp
12 | 13.0dp
13 | 14.0dp
14 | 15.0dp
15 | 16.0dp
16 | 18.0dp
17 | 19.0dp
18 | 20.0dp
19 | 21.0dp
20 | 22.0dp
21 | 24.0dp
22 | 25.0dp
23 | 26.0dp
24 | 27.0dp
25 | 28.0dp
26 | 30.0dp
27 | 31.0dp
28 | 32.0dp
29 | 33.0dp
30 | 34.0dp
31 | 36.0dp
32 | 37.0dp
33 | 38.0dp
34 | 39.0dp
35 | 40.0dp
36 | 42.0dp
37 | 43.0dp
38 | 44.0dp
39 | 45.0dp
40 | 46.0dp
41 | 48.0dp
42 | 49.0dp
43 | 50.0dp
44 | 51.0dp
45 | 52.0dp
46 | 54.0dp
47 | 55.0dp
48 | 56.0dp
49 | 57.0dp
50 | 58.0dp
51 | 60.0dp
52 | 61.0dp
53 | 62.0dp
54 | 63.0dp
55 | 64.0dp
56 | 66.0dp
57 | 67.0dp
58 | 68.0dp
59 | 69.0dp
60 | 70.0dp
61 | 72.0dp
62 | 73.0dp
63 | 74.0dp
64 | 75.0dp
65 | 76.0dp
66 | 78.0dp
67 | 79.0dp
68 | 80.0dp
69 | 81.0dp
70 | 82.0dp
71 | 84.0dp
72 | 85.0dp
73 | 86.0dp
74 | 87.0dp
75 | 88.0dp
76 | 90.0dp
77 | 91.0dp
78 | 92.0dp
79 | 93.0dp
80 | 94.0dp
81 | 96.0dp
82 | 97.0dp
83 | 98.0dp
84 | 99.0dp
85 | 100.0dp
86 | 102.0dp
87 | 103.0dp
88 | 104.0dp
89 | 105.0dp
90 | 106.0dp
91 | 108.0dp
92 | 109.0dp
93 | 110.0dp
94 | 111.0dp
95 | 112.0dp
96 | 114.0dp
97 | 115.0dp
98 | 116.0dp
99 | 117.0dp
100 | 118.0dp
101 | 120.0dp
102 | 0.16dp
103 | 0.32dp
104 | 0.48dp
105 | 0.64dp
106 | 0.79dp
107 | 0.96dp
108 | 1.12dp
109 | 1.28dp
110 | 1.44dp
111 | 1.59dp
112 | 1.76dp
113 | 1.92dp
114 | 2.08dp
115 | 2.24dp
116 | 2.39dp
117 | 2.56dp
118 | 2.72dp
119 | 2.88dp
120 | 3.04dp
121 | 3.19dp
122 | 3.36dp
123 | 3.52dp
124 | 3.67dp
125 | 3.84dp
126 | 4.0dp
127 | 4.16dp
128 | 4.31dp
129 | 4.48dp
130 | 4.64dp
131 | 4.79dp
132 | 4.96dp
133 | 5.12dp
134 | 5.28dp
135 | 5.44dp
136 | 5.6dp
137 | 5.76dp
138 | 5.92dp
139 | 6.08dp
140 | 6.24dp
141 | 6.39dp
142 | 6.56dp
143 | 6.72dp
144 | 6.87dp
145 | 7.04dp
146 | 7.2dp
147 | 7.35dp
148 | 7.52dp
149 | 7.68dp
150 | 7.83dp
151 | 8.0dp
152 | 8.16dp
153 | 8.32dp
154 | 8.47dp
155 | 8.63dp
156 | 8.8dp
157 | 8.96dp
158 | 9.12dp
159 | 9.28dp
160 | 9.43dp
161 | 9.59dp
162 | 9.76dp
163 | 9.92dp
164 | 10.08dp
165 | 10.24dp
166 | 10.4dp
167 | 10.56dp
168 | 10.71dp
169 | 10.88dp
170 | 11.04dp
171 | 11.2dp
172 | 11.36dp
173 | 11.52dp
174 | 11.67dp
175 | 11.84dp
176 | 12.0dp
177 | 12.16dp
178 | 12.32dp
179 | 12.48dp
180 | 12.64dp
181 | 12.79dp
182 | 12.96dp
183 | 13.12dp
184 | 13.28dp
185 | 13.44dp
186 | 13.6dp
187 | 13.75dp
188 | 13.92dp
189 | 14.08dp
190 | 14.24dp
191 | 14.4dp
192 | 14.56dp
193 | 14.71dp
194 | 14.88dp
195 | 15.04dp
196 | 15.2dp
197 | 15.36dp
198 | 15.52dp
199 | 15.67dp
200 | 15.83dp
201 | 16.0dp
202 | 16.16dp
203 | 16.32dp
204 | 16.48dp
205 | 16.64dp
206 | 16.79dp
207 | 16.95dp
208 | 17.11dp
209 | 17.27dp
210 | 17.44dp
211 | 17.6dp
212 | 17.76dp
213 | 17.92dp
214 | 18.08dp
215 | 18.24dp
216 | 18.4dp
217 | 18.56dp
218 | 18.71dp
219 | 18.87dp
220 | 19.03dp
221 | 19.19dp
222 | 19.35dp
223 | 19.52dp
224 | 19.68dp
225 | 19.84dp
226 | 20.0dp
227 | 20.16dp
228 | 20.32dp
229 | 20.48dp
230 | 20.64dp
231 | 20.8dp
232 | 20.96dp
233 | 21.12dp
234 | 21.28dp
235 | 21.43dp
236 | 21.6dp
237 | 21.76dp
238 | 21.92dp
239 | 22.08dp
240 | 22.24dp
241 | 22.4dp
242 | 22.56dp
243 | 22.72dp
244 | 22.88dp
245 | 23.04dp
246 | 23.2dp
247 | 23.35dp
248 | 23.51dp
249 | 23.68dp
250 | 23.84dp
251 | 24.0dp
252 | 24.16dp
253 | 24.32dp
254 | 24.48dp
255 | 24.64dp
256 | 24.8dp
257 | 24.96dp
258 | 25.12dp
259 | 25.28dp
260 | 25.43dp
261 | 25.59dp
262 | 25.76dp
263 | 25.92dp
264 | 26.08dp
265 | 26.24dp
266 | 26.4dp
267 | 26.56dp
268 | 26.72dp
269 | 26.88dp
270 | 27.04dp
271 | 27.2dp
272 | 27.35dp
273 | 27.51dp
274 | 27.68dp
275 | 27.84dp
276 | 28.0dp
277 | 28.16dp
278 | 28.32dp
279 | 28.48dp
280 | 28.64dp
281 | 28.8dp
282 | 28.96dp
283 | 29.12dp
284 | 29.28dp
285 | 29.43dp
286 | 29.59dp
287 | 29.76dp
288 | 29.92dp
289 | 30.08dp
290 | 30.24dp
291 | 30.4dp
292 | 30.56dp
293 | 30.72dp
294 | 30.88dp
295 | 31.04dp
296 | 31.2dp
297 | 31.35dp
298 | 31.51dp
299 | 31.67dp
300 | 31.84dp
301 | 32.0dp
302 | 32.16dp
303 | 32.32dp
304 | 32.48dp
305 | 32.64dp
306 | 32.8dp
307 | 32.96dp
308 | 33.12dp
309 | 33.28dp
310 | 33.43dp
311 | 33.59dp
312 | 33.75dp
313 | 33.91dp
314 | 34.07dp
315 | 34.23dp
316 | 34.39dp
317 | 34.55dp
318 | 34.71dp
319 | 34.88dp
320 | 35.04dp
321 | 35.2dp
322 | 35.36dp
323 | 35.52dp
324 | 35.68dp
325 | 35.84dp
326 | 36.0dp
327 | 36.16dp
328 | 36.32dp
329 | 36.48dp
330 | 36.64dp
331 | 36.8dp
332 | 36.96dp
333 | 37.12dp
334 | 37.28dp
335 | 37.43dp
336 | 37.59dp
337 | 37.75dp
338 | 37.91dp
339 | 38.07dp
340 | 38.23dp
341 | 38.39dp
342 | 38.55dp
343 | 38.71dp
344 | 38.87dp
345 | 39.04dp
346 | 39.2dp
347 | 39.36dp
348 | 39.52dp
349 | 39.68dp
350 | 39.84dp
351 | 40.0dp
352 | 40.16dp
353 | 40.32dp
354 | 40.48dp
355 | 40.64dp
356 | 40.8dp
357 | 40.96dp
358 | 41.12dp
359 | 41.28dp
360 | 41.44dp
361 | 41.6dp
362 | 41.76dp
363 | 41.92dp
364 | 42.08dp
365 | 42.24dp
366 | 42.4dp
367 | 42.56dp
368 | 42.71dp
369 | 42.87dp
370 | 43.04dp
371 | 43.2dp
372 | 43.36dp
373 | 43.52dp
374 | 43.68dp
375 | 43.84dp
376 | 44.0dp
377 | 44.16dp
378 | 44.32dp
379 | 44.48dp
380 | 44.64dp
381 | 44.8dp
382 | 44.96dp
383 | 45.12dp
384 | 45.28dp
385 | 45.44dp
386 | 45.6dp
387 | 45.76dp
388 | 45.92dp
389 | 46.08dp
390 | 46.24dp
391 | 46.4dp
392 | 46.56dp
393 | 46.71dp
394 | 46.87dp
395 | 47.03dp
396 | 47.2dp
397 | 47.36dp
398 | 47.52dp
399 | 47.68dp
400 | 47.84dp
401 | 48.0dp
402 | 48.16dp
403 | 48.32dp
404 | 48.48dp
405 | 48.64dp
406 | 48.8dp
407 | 48.96dp
408 | 49.12dp
409 | 49.28dp
410 | 49.44dp
411 | 49.6dp
412 | 49.76dp
413 | 49.92dp
414 | 50.08dp
415 | 50.24dp
416 | 50.4dp
417 | 50.56dp
418 | 50.71dp
419 | 50.87dp
420 | 51.03dp
421 | 51.19dp
422 | 51.36dp
423 | 51.52dp
424 | 51.68dp
425 | 51.84dp
426 | 52.0dp
427 | 52.16dp
428 | 52.32dp
429 | 52.48dp
430 | 52.64dp
431 | 52.8dp
432 | 52.96dp
433 | 53.12dp
434 | 53.28dp
435 | 53.44dp
436 | 53.6dp
437 | 53.76dp
438 | 53.92dp
439 | 54.08dp
440 | 54.24dp
441 | 54.4dp
442 | 54.56dp
443 | 54.71dp
444 | 54.87dp
445 | 55.03dp
446 | 55.19dp
447 | 55.36dp
448 | 55.52dp
449 | 55.68dp
450 | 55.84dp
451 | 56.0dp
452 | 56.16dp
453 | 56.32dp
454 | 56.48dp
455 | 56.64dp
456 | 56.8dp
457 | 56.96dp
458 | 57.12dp
459 | 57.28dp
460 | 57.44dp
461 | 57.6dp
462 | 57.76dp
463 | 57.92dp
464 | 58.08dp
465 | 58.24dp
466 | 58.4dp
467 | 58.56dp
468 | 58.71dp
469 | 58.87dp
470 | 59.03dp
471 | 59.19dp
472 | 59.35dp
473 | 59.52dp
474 | 59.68dp
475 | 59.84dp
476 | 60.0dp
477 | 60.16dp
478 | 60.32dp
479 | 60.48dp
480 | 60.64dp
481 | 60.8dp
482 | 60.96dp
483 | 61.12dp
484 | 61.28dp
485 | 61.44dp
486 | 61.6dp
487 | 61.76dp
488 | 61.92dp
489 | 62.08dp
490 | 62.24dp
491 | 62.4dp
492 | 62.56dp
493 | 62.71dp
494 | 62.87dp
495 | 63.03dp
496 | 63.19dp
497 | 63.35dp
498 | 63.52dp
499 | 63.68dp
500 | 63.84dp
501 | 64.0dp
502 | 64.15dp
503 | 64.32dp
504 | 64.47dp
505 | 64.64dp
506 | 64.79dp
507 | 64.96dp
508 | 65.11dp
509 | 65.28dp
510 | 65.43dp
511 | 65.6dp
512 | 65.76dp
513 | 65.92dp
514 | 66.08dp
515 | 66.24dp
516 | 66.4dp
517 | 66.56dp
518 | 66.72dp
519 | 66.87dp
520 | 67.04dp
521 | 67.19dp
522 | 67.36dp
523 | 67.51dp
524 | 67.68dp
525 | 67.83dp
526 | 68.0dp
527 | 68.15dp
528 | 68.32dp
529 | 68.47dp
530 | 68.64dp
531 | 68.79dp
532 | 68.96dp
533 | 69.11dp
534 | 69.28dp
535 | 69.43dp
536 | 69.6dp
537 | 69.76dp
538 | 69.92dp
539 | 70.08dp
540 | 70.24dp
541 | 70.4dp
542 | 70.56dp
543 | 70.72dp
544 | 70.87dp
545 | 71.04dp
546 | 71.19dp
547 | 71.36dp
548 | 71.51dp
549 | 71.68dp
550 | 71.83dp
551 | 72.0dp
552 | 72.15dp
553 | 72.32dp
554 | 72.47dp
555 | 72.64dp
556 | 72.79dp
557 | 72.96dp
558 | 73.11dp
559 | 73.28dp
560 | 73.43dp
561 | 73.6dp
562 | 73.76dp
563 | 73.92dp
564 | 74.08dp
565 | 74.24dp
566 | 74.4dp
567 | 74.56dp
568 | 74.72dp
569 | 74.87dp
570 | 75.04dp
571 | 75.19dp
572 | 75.36dp
573 | 75.51dp
574 | 75.68dp
575 | 75.83dp
576 | 76.0dp
577 | 76.15dp
578 | 76.32dp
579 | 76.47dp
580 | 76.64dp
581 | 76.79dp
582 | 76.96dp
583 | 77.11dp
584 | 77.28dp
585 | 77.43dp
586 | 77.6dp
587 | 77.75dp
588 | 77.92dp
589 | 78.08dp
590 | 78.24dp
591 | 78.4dp
592 | 78.56dp
593 | 78.72dp
594 | 78.87dp
595 | 79.04dp
596 | 79.19dp
597 | 79.36dp
598 | 79.51dp
599 | 79.68dp
600 | 79.83dp
601 | 80.0dp
602 | 80.15dp
603 | 80.32dp
604 | 80.47dp
605 | 80.64dp
606 | 80.79dp
607 | 80.96dp
608 | 81.11dp
609 | 81.28dp
610 | 81.43dp
611 | 81.6dp
612 | 81.75dp
613 | 81.92dp
614 | 82.08dp
615 | 82.24dp
616 | 82.4dp
617 | 82.56dp
618 | 82.72dp
619 | 82.88dp
620 | 83.04dp
621 | 83.2dp
622 | 83.36dp
623 | 83.52dp
624 | 83.68dp
625 | 83.84dp
626 | 84.0dp
627 | 84.16dp
628 | 84.32dp
629 | 84.48dp
630 | 84.64dp
631 | 84.8dp
632 | 84.96dp
633 | 85.12dp
634 | 85.28dp
635 | 85.43dp
636 | 85.6dp
637 | 85.75dp
638 | 85.92dp
639 | 86.08dp
640 | 86.24dp
641 | 86.4dp
642 | 86.56dp
643 | 86.72dp
644 | 86.88dp
645 | 87.04dp
646 | 87.2dp
647 | 87.36dp
648 | 87.52dp
649 | 87.68dp
650 | 87.84dp
651 | 88.0dp
652 | 88.16dp
653 | 88.32dp
654 | 88.48dp
655 | 88.64dp
656 | 88.8dp
657 | 88.96dp
658 | 89.12dp
659 | 89.28dp
660 | 89.43dp
661 | 89.6dp
662 | 89.75dp
663 | 89.92dp
664 | 90.07dp
665 | 90.24dp
666 | 90.4dp
667 | 90.56dp
668 | 90.72dp
669 | 90.88dp
670 | 91.04dp
671 | 91.2dp
672 | 91.36dp
673 | 91.52dp
674 | 91.68dp
675 | 91.84dp
676 | 92.0dp
677 | 92.16dp
678 | 92.32dp
679 | 92.48dp
680 | 92.64dp
681 | 92.8dp
682 | 92.96dp
683 | 93.12dp
684 | 93.28dp
685 | 93.43dp
686 | 93.6dp
687 | 93.75dp
688 | 93.92dp
689 | 94.07dp
690 | 94.24dp
691 | 94.4dp
692 | 94.56dp
693 | 94.72dp
694 | 94.88dp
695 | 95.04dp
696 | 95.2dp
697 | 95.36dp
698 | 95.52dp
699 | 95.68dp
700 | 95.84dp
701 | 96.0dp
702 | 96.16dp
703 | 96.32dp
704 | 96.48dp
705 | 96.64dp
706 | 96.8dp
707 | 96.96dp
708 | 97.12dp
709 | 97.28dp
710 | 97.43dp
711 | 97.6dp
712 | 97.75dp
713 | 97.92dp
714 | 98.07dp
715 | 98.24dp
716 | 98.4dp
717 | 98.56dp
718 | 98.72dp
719 | 98.88dp
720 | 99.04dp
721 | 99.2dp
722 | 99.36dp
723 | 99.52dp
724 | 99.68dp
725 | 99.84dp
726 | 100.0dp
727 | 100.16dp
728 | 100.32dp
729 | 100.48dp
730 | 100.64dp
731 | 100.8dp
732 | 100.96dp
733 | 101.12dp
734 | 101.28dp
735 | 101.43dp
736 | 101.6dp
737 | 101.75dp
738 | 101.92dp
739 | 102.07dp
740 | 102.24dp
741 | 102.39dp
742 | 102.56dp
743 | 102.72dp
744 | 102.88dp
745 | 103.04dp
746 | 103.2dp
747 | 103.36dp
748 | 103.52dp
749 | 103.68dp
750 | 103.84dp
751 | 104.0dp
752 | 104.16dp
753 | 104.32dp
754 | 104.48dp
755 | 104.64dp
756 | 104.8dp
757 | 104.96dp
758 | 105.12dp
759 | 105.28dp
760 | 105.43dp
761 | 105.6dp
762 | 105.75dp
763 | 105.92dp
764 | 106.07dp
765 | 106.24dp
766 | 106.39dp
767 | 106.56dp
768 | 106.72dp
769 | 106.88dp
770 | 107.04dp
771 | 107.2dp
772 | 107.36dp
773 | 107.52dp
774 | 107.68dp
775 | 107.84dp
776 | 108.0dp
777 | 108.16dp
778 | 108.32dp
779 | 108.48dp
780 | 108.64dp
781 | 108.8dp
782 | 108.96dp
783 | 109.12dp
784 | 109.28dp
785 | 109.43dp
786 | 109.6dp
787 | 109.75dp
788 | 109.92dp
789 | 110.07dp
790 | 110.24dp
791 | 110.39dp
792 | 110.56dp
793 | 110.72dp
794 | 110.88dp
795 | 111.04dp
796 | 111.2dp
797 | 111.36dp
798 | 111.52dp
799 | 111.68dp
800 | 111.84dp
801 | 112.0dp
802 | 112.16dp
803 | 112.32dp
804 | 112.48dp
805 | 112.64dp
806 | 112.8dp
807 | 112.96dp
808 | 113.12dp
809 | 113.28dp
810 | 113.43dp
811 | 113.6dp
812 | 113.75dp
813 | 113.92dp
814 | 114.07dp
815 | 114.24dp
816 | 114.39dp
817 | 114.56dp
818 | 114.72dp
819 | 114.88dp
820 | 115.04dp
821 | 115.2dp
822 | 115.36dp
823 | 115.52dp
824 | 115.68dp
825 | 115.84dp
826 | 116.0dp
827 | 116.16dp
828 | 116.32dp
829 | 116.48dp
830 | 116.64dp
831 | 116.8dp
832 | 116.96dp
833 | 117.12dp
834 | 117.28dp
835 | 117.43dp
836 | 117.6dp
837 | 117.75dp
838 | 117.92dp
839 | 118.07dp
840 | 118.24dp
841 | 118.39dp
842 | 118.56dp
843 | 118.71dp
844 | 118.88dp
845 | 119.04dp
846 | 119.2dp
847 | 119.36dp
848 | 119.52dp
849 | 119.68dp
850 | 119.84dp
851 | 120.0dp
852 | 240.0dp
853 | 128.0dp
854 |
--------------------------------------------------------------------------------
/app/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 | DoubleScroll
3 |
4 |
--------------------------------------------------------------------------------
/app/src/main/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/app/src/test/java/cn/groegeyang/doublescroll/ExampleUnitTest.java:
--------------------------------------------------------------------------------
1 | package cn.groegeyang.doublescroll;
2 |
3 | import org.junit.Test;
4 |
5 | import static org.junit.Assert.*;
6 |
7 | /**
8 | * To work on unit tests, switch the Test Artifact in the Build Variants view.
9 | */
10 | public class ExampleUnitTest {
11 | @Test
12 | public void addition_isCorrect() throws Exception {
13 | assertEquals(4, 2 + 2);
14 | }
15 | }
--------------------------------------------------------------------------------
/build.gradle:
--------------------------------------------------------------------------------
1 | // Top-level build file where you can add configuration options common to all sub-projects/modules.
2 |
3 | buildscript {
4 | repositories {
5 | jcenter()
6 | }
7 | dependencies {
8 | classpath 'com.android.tools.build:gradle:2.3.0-alpha1'
9 |
10 | // NOTE: Do not place your application dependencies here; they belong
11 | // in the individual module build.gradle files
12 | }
13 | }
14 |
15 | allprojects {
16 | repositories {
17 | jcenter()
18 | }
19 | }
20 |
21 | task clean(type: Delete) {
22 | delete rootProject.buildDir
23 | }
24 |
--------------------------------------------------------------------------------
/gradle.properties:
--------------------------------------------------------------------------------
1 | ## Project-wide Gradle settings.
2 | #
3 | # For more details on how to configure your build environment visit
4 | # http://www.gradle.org/docs/current/userguide/build_environment.html
5 | #
6 | # Specifies the JVM arguments used for the daemon process.
7 | # The setting is particularly useful for tweaking memory settings.
8 | # Default value: -Xmx1024m -XX:MaxPermSize=256m
9 | # org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
10 | #
11 | # When configured, Gradle will run in incubating parallel mode.
12 | # This option should only be used with decoupled projects. More details, visit
13 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
14 | # org.gradle.parallel=true
15 | #Mon Nov 14 20:13:50 CST 2016
16 | systemProp.http.proxyHost=127.0.0.1
17 | systemProp.http.proxyPort=1080
18 |
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/georgeyang1024/DoubleScroll/d6274cf26d02788dd73c0a1d168ffedde6426be3/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Tue Nov 15 21:12:19 CST 2016
2 | distributionBase=GRADLE_USER_HOME
3 | distributionPath=wrapper/dists
4 | zipStoreBase=GRADLE_USER_HOME
5 | zipStorePath=wrapper/dists
6 | distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip
7 |
--------------------------------------------------------------------------------
/gradlew:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | ##############################################################################
4 | ##
5 | ## Gradle start up script for UN*X
6 | ##
7 | ##############################################################################
8 |
9 | # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
10 | DEFAULT_JVM_OPTS=""
11 |
12 | APP_NAME="Gradle"
13 | APP_BASE_NAME=`basename "$0"`
14 |
15 | # Use the maximum available, or set MAX_FD != -1 to use that value.
16 | MAX_FD="maximum"
17 |
18 | warn ( ) {
19 | echo "$*"
20 | }
21 |
22 | die ( ) {
23 | echo
24 | echo "$*"
25 | echo
26 | exit 1
27 | }
28 |
29 | # OS specific support (must be 'true' or 'false').
30 | cygwin=false
31 | msys=false
32 | darwin=false
33 | case "`uname`" in
34 | CYGWIN* )
35 | cygwin=true
36 | ;;
37 | Darwin* )
38 | darwin=true
39 | ;;
40 | MINGW* )
41 | msys=true
42 | ;;
43 | esac
44 |
45 | # Attempt to set APP_HOME
46 | # Resolve links: $0 may be a link
47 | PRG="$0"
48 | # Need this for relative symlinks.
49 | while [ -h "$PRG" ] ; do
50 | ls=`ls -ld "$PRG"`
51 | link=`expr "$ls" : '.*-> \(.*\)$'`
52 | if expr "$link" : '/.*' > /dev/null; then
53 | PRG="$link"
54 | else
55 | PRG=`dirname "$PRG"`"/$link"
56 | fi
57 | done
58 | SAVED="`pwd`"
59 | cd "`dirname \"$PRG\"`/" >/dev/null
60 | APP_HOME="`pwd -P`"
61 | cd "$SAVED" >/dev/null
62 |
63 | CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
64 |
65 | # Determine the Java command to use to start the JVM.
66 | if [ -n "$JAVA_HOME" ] ; then
67 | if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
68 | # IBM's JDK on AIX uses strange locations for the executables
69 | JAVACMD="$JAVA_HOME/jre/sh/java"
70 | else
71 | JAVACMD="$JAVA_HOME/bin/java"
72 | fi
73 | if [ ! -x "$JAVACMD" ] ; then
74 | die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
75 |
76 | Please set the JAVA_HOME variable in your environment to match the
77 | location of your Java installation."
78 | fi
79 | else
80 | JAVACMD="java"
81 | which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
82 |
83 | Please set the JAVA_HOME variable in your environment to match the
84 | location of your Java installation."
85 | fi
86 |
87 | # Increase the maximum file descriptors if we can.
88 | if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then
89 | MAX_FD_LIMIT=`ulimit -H -n`
90 | if [ $? -eq 0 ] ; then
91 | if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
92 | MAX_FD="$MAX_FD_LIMIT"
93 | fi
94 | ulimit -n $MAX_FD
95 | if [ $? -ne 0 ] ; then
96 | warn "Could not set maximum file descriptor limit: $MAX_FD"
97 | fi
98 | else
99 | warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
100 | fi
101 | fi
102 |
103 | # For Darwin, add options to specify how the application appears in the dock
104 | if $darwin; then
105 | GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
106 | fi
107 |
108 | # For Cygwin, switch paths to Windows format before running java
109 | if $cygwin ; then
110 | APP_HOME=`cygpath --path --mixed "$APP_HOME"`
111 | CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
112 | JAVACMD=`cygpath --unix "$JAVACMD"`
113 |
114 | # We build the pattern for arguments to be converted via cygpath
115 | ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
116 | SEP=""
117 | for dir in $ROOTDIRSRAW ; do
118 | ROOTDIRS="$ROOTDIRS$SEP$dir"
119 | SEP="|"
120 | done
121 | OURCYGPATTERN="(^($ROOTDIRS))"
122 | # Add a user-defined pattern to the cygpath arguments
123 | if [ "$GRADLE_CYGPATTERN" != "" ] ; then
124 | OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
125 | fi
126 | # Now convert the arguments - kludge to limit ourselves to /bin/sh
127 | i=0
128 | for arg in "$@" ; do
129 | CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
130 | CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
131 |
132 | if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
133 | eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
134 | else
135 | eval `echo args$i`="\"$arg\""
136 | fi
137 | i=$((i+1))
138 | done
139 | case $i in
140 | (0) set -- ;;
141 | (1) set -- "$args0" ;;
142 | (2) set -- "$args0" "$args1" ;;
143 | (3) set -- "$args0" "$args1" "$args2" ;;
144 | (4) set -- "$args0" "$args1" "$args2" "$args3" ;;
145 | (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
146 | (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
147 | (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
148 | (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
149 | (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
150 | esac
151 | fi
152 |
153 | # Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules
154 | function splitJvmOpts() {
155 | JVM_OPTS=("$@")
156 | }
157 | eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS
158 | JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME"
159 |
160 | exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@"
161 |
--------------------------------------------------------------------------------
/gradlew.bat:
--------------------------------------------------------------------------------
1 | @if "%DEBUG%" == "" @echo off
2 | @rem ##########################################################################
3 | @rem
4 | @rem Gradle startup script for Windows
5 | @rem
6 | @rem ##########################################################################
7 |
8 | @rem Set local scope for the variables with windows NT shell
9 | if "%OS%"=="Windows_NT" setlocal
10 |
11 | @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
12 | set DEFAULT_JVM_OPTS=
13 |
14 | set DIRNAME=%~dp0
15 | if "%DIRNAME%" == "" set DIRNAME=.
16 | set APP_BASE_NAME=%~n0
17 | set APP_HOME=%DIRNAME%
18 |
19 | @rem Find java.exe
20 | if defined JAVA_HOME goto findJavaFromJavaHome
21 |
22 | set JAVA_EXE=java.exe
23 | %JAVA_EXE% -version >NUL 2>&1
24 | if "%ERRORLEVEL%" == "0" goto init
25 |
26 | echo.
27 | echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
28 | echo.
29 | echo Please set the JAVA_HOME variable in your environment to match the
30 | echo location of your Java installation.
31 |
32 | goto fail
33 |
34 | :findJavaFromJavaHome
35 | set JAVA_HOME=%JAVA_HOME:"=%
36 | set JAVA_EXE=%JAVA_HOME%/bin/java.exe
37 |
38 | if exist "%JAVA_EXE%" goto init
39 |
40 | echo.
41 | echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
42 | echo.
43 | echo Please set the JAVA_HOME variable in your environment to match the
44 | echo location of your Java installation.
45 |
46 | goto fail
47 |
48 | :init
49 | @rem Get command-line arguments, handling Windowz variants
50 |
51 | if not "%OS%" == "Windows_NT" goto win9xME_args
52 | if "%@eval[2+2]" == "4" goto 4NT_args
53 |
54 | :win9xME_args
55 | @rem Slurp the command line arguments.
56 | set CMD_LINE_ARGS=
57 | set _SKIP=2
58 |
59 | :win9xME_args_slurp
60 | if "x%~1" == "x" goto execute
61 |
62 | set CMD_LINE_ARGS=%*
63 | goto execute
64 |
65 | :4NT_args
66 | @rem Get arguments from the 4NT Shell from JP Software
67 | set CMD_LINE_ARGS=%$
68 |
69 | :execute
70 | @rem Setup the command line
71 |
72 | set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
73 |
74 | @rem Execute Gradle
75 | "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
76 |
77 | :end
78 | @rem End local scope for the variables with windows NT shell
79 | if "%ERRORLEVEL%"=="0" goto mainEnd
80 |
81 | :fail
82 | rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
83 | rem the _cmd.exe /c_ return code!
84 | if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
85 | exit /b 1
86 |
87 | :mainEnd
88 | if "%OS%"=="Windows_NT" endlocal
89 |
90 | :omega
91 |
--------------------------------------------------------------------------------
/settings.gradle:
--------------------------------------------------------------------------------
1 | include ':app'
2 |
--------------------------------------------------------------------------------