@nstudio/ui-collectionview 4.0.70
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +201 -0
- package/README.md +396 -0
- package/angular/collectionview.component.d.ts +82 -0
- package/angular/esm2020/collectionview.component.mjs +394 -0
- package/angular/esm2020/index.mjs +19 -0
- package/angular/esm2020/nstudio-ui-collectionview-angular.mjs +5 -0
- package/angular/fesm2015/nstudio-ui-collectionview-angular.mjs +421 -0
- package/angular/fesm2015/nstudio-ui-collectionview-angular.mjs.map +1 -0
- package/angular/fesm2020/nstudio-ui-collectionview-angular.mjs +416 -0
- package/angular/fesm2020/nstudio-ui-collectionview-angular.mjs.map +1 -0
- package/angular/index.d.ts +8 -0
- package/angular/package.json +26 -0
- package/common.d.ts +191 -0
- package/common.js +610 -0
- package/common.js.map +1 -0
- package/index.android.d.ts +117 -0
- package/index.android.js +1097 -0
- package/index.android.js.map +1 -0
- package/index.d.ts +16 -0
- package/index.ios.d.ts +118 -0
- package/index.ios.js +1123 -0
- package/index.ios.js.map +1 -0
- package/package.json +57 -0
- package/platforms/android/AndroidManifest.xml +3 -0
- package/platforms/android/include.gradle +7 -0
- package/platforms/android/java/com/nativescript/collectionview/Adapter.java +66 -0
- package/platforms/android/java/com/nativescript/collectionview/AdapterInterface.java +19 -0
- package/platforms/android/java/com/nativescript/collectionview/CollectionViewCellHolder.java +12 -0
- package/platforms/android/java/com/nativescript/collectionview/GridLayoutManager.java +72 -0
- package/platforms/android/java/com/nativescript/collectionview/OnScrollListener.java +35 -0
- package/platforms/android/java/com/nativescript/collectionview/PreCachingGridLayoutManager.java +51 -0
- package/platforms/android/java/com/nativescript/collectionview/RecycledViewPool.java +85 -0
- package/platforms/android/java/com/nativescript/collectionview/RecyclerView.java +46 -0
- package/platforms/android/java/com/nativescript/collectionview/SizeChangedListener.java +6 -0
- package/platforms/android/java/com/nativescript/collectionview/SpanSizeLookup.java +26 -0
- package/platforms/android/native-api-usage.json +29 -0
- package/platforms/android/res/layout/collectionview.xml +5 -0
- package/platforms/android/ui_collectionview.aar +0 -0
- package/react/index.d.ts +119 -0
- package/react/index.js +148 -0
- package/react/index.js.map +1 -0
- package/svelte/index.d.ts +21 -0
- package/svelte/index.js +143 -0
- package/svelte/index.js.map +1 -0
- package/vue/component.d.ts +38 -0
- package/vue/component.js +104 -0
- package/vue/component.js.map +1 -0
- package/vue/index.d.ts +4 -0
- package/vue/index.js +12 -0
- package/vue/index.js.map +1 -0
package/index.ios.js.map
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.ios.js","sourceRoot":"","sources":["../../../packages/ui-collectionview/index.ios.ts"],"names":[],"mappings":"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"}
|
package/package.json
ADDED
@@ -0,0 +1,57 @@
|
|
1
|
+
{
|
2
|
+
"name": "@nstudio/ui-collectionview",
|
3
|
+
"version": "4.0.70",
|
4
|
+
"description": "Customized NativeScript CollectionView for high performance lists. Supports vertical and horizontal modes, templating, and more.",
|
5
|
+
"main": "index",
|
6
|
+
"typings": "index.d.ts",
|
7
|
+
"nativescript": {
|
8
|
+
"platforms": {
|
9
|
+
"ios": "6.0.0",
|
10
|
+
"android": "6.0.0"
|
11
|
+
}
|
12
|
+
},
|
13
|
+
"repository": {
|
14
|
+
"type": "git",
|
15
|
+
"url": "https://github.com/nstudio/nativescript-ui-kit.git"
|
16
|
+
},
|
17
|
+
"keywords": [
|
18
|
+
"NativeScript",
|
19
|
+
"JavaScript",
|
20
|
+
"Android",
|
21
|
+
"iOS",
|
22
|
+
"RadListView",
|
23
|
+
"CollectionView",
|
24
|
+
"collection view",
|
25
|
+
"grid view",
|
26
|
+
"grid list view",
|
27
|
+
"super grid",
|
28
|
+
"NativeScript UI",
|
29
|
+
"nativescript community",
|
30
|
+
"Angular",
|
31
|
+
"Vue.js",
|
32
|
+
"Vue.js Native",
|
33
|
+
"Vue Native",
|
34
|
+
"Svelte",
|
35
|
+
"Svelte Native",
|
36
|
+
"React",
|
37
|
+
"React NativeScript"
|
38
|
+
],
|
39
|
+
"author": {
|
40
|
+
"name": "Martin Guillon",
|
41
|
+
"email": "martin@akylas.fr"
|
42
|
+
},
|
43
|
+
"contributors": [
|
44
|
+
{
|
45
|
+
"name": "nstudio",
|
46
|
+
"email": "oss@nstudio.io"
|
47
|
+
}
|
48
|
+
],
|
49
|
+
"bugs": {
|
50
|
+
"url": "https://github.com/nstudio/nativescript-ui-kit/issues"
|
51
|
+
},
|
52
|
+
"license": "Apache-2.0",
|
53
|
+
"homepage": "https://github.com/nstudio/nativescript-ui-kit",
|
54
|
+
"readmeFilename": "README.md",
|
55
|
+
"bootstrapper": "@nativescript/plugin-seed",
|
56
|
+
"types": "./index.d.d.ts"
|
57
|
+
}
|
@@ -0,0 +1,7 @@
|
|
1
|
+
dependencies {
|
2
|
+
def androidXRecyclerViewVersion = project.hasProperty("androidXRecyclerViewVersion") ? project.androidXRecyclerViewVersion : "1.1.0"
|
3
|
+
implementation "androidx.recyclerview:recyclerview:$androidXRecyclerViewVersion"
|
4
|
+
implementation ('com.h6ah4i.android.widget.advrecyclerview:advrecyclerview:1.0.0@aar'){
|
5
|
+
transitive=true
|
6
|
+
}
|
7
|
+
}
|
@@ -0,0 +1,66 @@
|
|
1
|
+
package com.nativescript.collectionview;
|
2
|
+
|
3
|
+
import android.content.Context;
|
4
|
+
|
5
|
+
import androidx.annotation.NonNull;
|
6
|
+
import androidx.recyclerview.widget.RecyclerView;
|
7
|
+
|
8
|
+
import android.view.View;
|
9
|
+
import android.view.ViewGroup;
|
10
|
+
|
11
|
+
public class Adapter extends RecyclerView.Adapter<CollectionViewCellHolder> {
|
12
|
+
public AdapterInterface adapterInterface;
|
13
|
+
|
14
|
+
public Adapter() {
|
15
|
+
super();
|
16
|
+
}
|
17
|
+
|
18
|
+
@NonNull
|
19
|
+
@Override
|
20
|
+
public CollectionViewCellHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
|
21
|
+
if (this.adapterInterface != null) {
|
22
|
+
return this.adapterInterface.onCreateViewHolder(parent, viewType);
|
23
|
+
}
|
24
|
+
return null;
|
25
|
+
}
|
26
|
+
|
27
|
+
@NonNull
|
28
|
+
@Override
|
29
|
+
public void onViewRecycled(@NonNull CollectionViewCellHolder holder) {
|
30
|
+
if (this.adapterInterface != null) {
|
31
|
+
this.adapterInterface.onViewRecycled(holder);
|
32
|
+
}
|
33
|
+
}
|
34
|
+
|
35
|
+
@Override
|
36
|
+
public void onBindViewHolder(@NonNull CollectionViewCellHolder holder, int position) {
|
37
|
+
if (this.adapterInterface != null) {
|
38
|
+
this.adapterInterface.onBindViewHolder(holder, position);
|
39
|
+
}
|
40
|
+
}
|
41
|
+
|
42
|
+
@Override
|
43
|
+
public int getItemCount() {
|
44
|
+
if (this.adapterInterface != null) {
|
45
|
+
return this.adapterInterface.getItemCount();
|
46
|
+
}
|
47
|
+
return 0;
|
48
|
+
}
|
49
|
+
|
50
|
+
@Override
|
51
|
+
public int getItemViewType(int position) {
|
52
|
+
if (this.adapterInterface != null) {
|
53
|
+
return this.adapterInterface.getItemViewType(position);
|
54
|
+
}
|
55
|
+
return 0;
|
56
|
+
}
|
57
|
+
|
58
|
+
@Override
|
59
|
+
public long getItemId(int position) {
|
60
|
+
if (this.adapterInterface != null) {
|
61
|
+
return this.adapterInterface.getItemId(position);
|
62
|
+
}
|
63
|
+
return RecyclerView.NO_ID;
|
64
|
+
}
|
65
|
+
|
66
|
+
}
|
@@ -0,0 +1,19 @@
|
|
1
|
+
package com.nativescript.collectionview;
|
2
|
+
|
3
|
+
import android.view.ViewGroup;
|
4
|
+
|
5
|
+
import androidx.annotation.NonNull;
|
6
|
+
|
7
|
+
public interface AdapterInterface {
|
8
|
+
CollectionViewCellHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType);
|
9
|
+
|
10
|
+
void onBindViewHolder(@NonNull CollectionViewCellHolder holder, int position);
|
11
|
+
|
12
|
+
void onViewRecycled(@NonNull CollectionViewCellHolder holder);
|
13
|
+
|
14
|
+
int getItemViewType(int position);
|
15
|
+
|
16
|
+
long getItemId(int position);
|
17
|
+
|
18
|
+
int getItemCount();
|
19
|
+
}
|
@@ -0,0 +1,12 @@
|
|
1
|
+
package com.nativescript.collectionview;
|
2
|
+
|
3
|
+
import android.content.Context;
|
4
|
+
import androidx.recyclerview.widget.RecyclerView;
|
5
|
+
import android.view.View;
|
6
|
+
|
7
|
+
public class CollectionViewCellHolder extends RecyclerView.ViewHolder {
|
8
|
+
|
9
|
+
public CollectionViewCellHolder(View view) {
|
10
|
+
super(view);
|
11
|
+
}
|
12
|
+
}
|
@@ -0,0 +1,72 @@
|
|
1
|
+
package com.nativescript.collectionview;
|
2
|
+
|
3
|
+
import android.content.Context;
|
4
|
+
import androidx.recyclerview.widget.RecyclerView;
|
5
|
+
import android.view.View;
|
6
|
+
import java.util.HashMap;
|
7
|
+
|
8
|
+
public class GridLayoutManager extends androidx.recyclerview.widget.GridLayoutManager {
|
9
|
+
private HashMap<Integer, Integer> childSizesMap = new HashMap();
|
10
|
+
public boolean isScrollEnabled = true;
|
11
|
+
|
12
|
+
public GridLayoutManager(Context context, int spanCount) {
|
13
|
+
super(context, spanCount);
|
14
|
+
setSmoothScrollbarEnabled(true);
|
15
|
+
}
|
16
|
+
|
17
|
+
public void onLayoutCompleted(RecyclerView.State state) {
|
18
|
+
super.onLayoutCompleted(state);
|
19
|
+
for (int i = 0; i < getChildCount(); i++) {
|
20
|
+
View child = getChildAt(i);
|
21
|
+
childSizesMap.put(getPosition(child), child.getHeight());
|
22
|
+
}
|
23
|
+
}
|
24
|
+
|
25
|
+
public int computeVerticalScrollOffset(RecyclerView.State state) {
|
26
|
+
if (getChildCount() == 0) {
|
27
|
+
return 0;
|
28
|
+
}
|
29
|
+
final int firstChildPosition = findFirstVisibleItemPosition();
|
30
|
+
final View firstChild = findViewByPosition(firstChildPosition);
|
31
|
+
if (firstChild == null) {
|
32
|
+
return 0;
|
33
|
+
}
|
34
|
+
float scrolledY = -firstChild.getY();
|
35
|
+
for (int i = 0; i < firstChildPosition; i++) {
|
36
|
+
if (childSizesMap.get(i) != null) {
|
37
|
+
scrolledY += childSizesMap.get(i) ;
|
38
|
+
}
|
39
|
+
}
|
40
|
+
return Math.round(scrolledY);
|
41
|
+
}
|
42
|
+
|
43
|
+
public void setScrollEnabled(boolean value) {
|
44
|
+
isScrollEnabled = value;
|
45
|
+
}
|
46
|
+
public boolean canScrollVertically() {
|
47
|
+
|
48
|
+
return isScrollEnabled && super.canScrollVertically();
|
49
|
+
}
|
50
|
+
public boolean canScrollHorizontally() {
|
51
|
+
|
52
|
+
return isScrollEnabled && super.canScrollHorizontally();
|
53
|
+
}
|
54
|
+
|
55
|
+
// computeScrollVectorForPosition( targetPosition) {
|
56
|
+
// if (this.getChildCount() == 0) {
|
57
|
+
// return null;
|
58
|
+
// }
|
59
|
+
// const firstChildPos = this.getPosition(this.getChildAt(0));
|
60
|
+
// const direction = targetPosition < firstChildPos != this.getReverseLayout()
|
61
|
+
// ? 1 : -1;
|
62
|
+
// if (this.getOrientation() == HORIZONTAL) {
|
63
|
+
// return new PointF(direction, 0);
|
64
|
+
// } else {
|
65
|
+
// return new PointF(0, direction);
|
66
|
+
// }
|
67
|
+
// }
|
68
|
+
|
69
|
+
// public supportsPredictiveItemAnimations() {
|
70
|
+
// return false;
|
71
|
+
// }
|
72
|
+
}
|
@@ -0,0 +1,35 @@
|
|
1
|
+
package com.nativescript.collectionview;
|
2
|
+
|
3
|
+
import androidx.annotation.NonNull;
|
4
|
+
import androidx.recyclerview.widget.RecyclerView;
|
5
|
+
|
6
|
+
public class OnScrollListener extends RecyclerView.OnScrollListener {
|
7
|
+
public interface Listener {
|
8
|
+
void onScrolled(@NonNull RecyclerView recyclerView, int dx, int dy);
|
9
|
+
void onScrollStateChanged(@NonNull RecyclerView recyclerView, int newState);
|
10
|
+
}
|
11
|
+
Listener listener = null;
|
12
|
+
public void setListener(Listener listener) {
|
13
|
+
this.listener = listener;
|
14
|
+
}
|
15
|
+
|
16
|
+
public OnScrollListener(Listener listener) {
|
17
|
+
super();
|
18
|
+
setListener(listener);
|
19
|
+
}
|
20
|
+
@Override
|
21
|
+
public void onScrolled(@NonNull RecyclerView recyclerView, int dx, int dy) {
|
22
|
+
if (listener != null) {
|
23
|
+
listener.onScrolled(recyclerView, dx, dy);
|
24
|
+
}
|
25
|
+
super.onScrolled(recyclerView, dx, dy);
|
26
|
+
}
|
27
|
+
|
28
|
+
@Override
|
29
|
+
public void onScrollStateChanged(@NonNull RecyclerView recyclerView, int newState) {
|
30
|
+
if (listener != null) {
|
31
|
+
listener.onScrollStateChanged(recyclerView, newState);
|
32
|
+
}
|
33
|
+
super.onScrollStateChanged(recyclerView, newState);
|
34
|
+
}
|
35
|
+
}
|
package/platforms/android/java/com/nativescript/collectionview/PreCachingGridLayoutManager.java
ADDED
@@ -0,0 +1,51 @@
|
|
1
|
+
package com.nativescript.collectionview;
|
2
|
+
|
3
|
+
import android.content.Context;
|
4
|
+
import androidx.recyclerview.widget.RecyclerView;
|
5
|
+
import android.util.Log;
|
6
|
+
import android.view.View;
|
7
|
+
import java.util.HashMap;
|
8
|
+
|
9
|
+
public class PreCachingGridLayoutManager extends GridLayoutManager {
|
10
|
+
static final String TAG = "PreCachingGridLayoutManager";
|
11
|
+
private int extraLayoutSpace = -1;
|
12
|
+
|
13
|
+
public PreCachingGridLayoutManager(Context context, int spanCount) {
|
14
|
+
super(context, spanCount);
|
15
|
+
}
|
16
|
+
|
17
|
+
|
18
|
+
public void setExtraLayoutSpace(int extraLayoutSpace) {
|
19
|
+
this.extraLayoutSpace = extraLayoutSpace;
|
20
|
+
}
|
21
|
+
|
22
|
+
@Override
|
23
|
+
protected void calculateExtraLayoutSpace(RecyclerView.State state, int[] extraLayoutSpace) {
|
24
|
+
super.calculateExtraLayoutSpace(state, extraLayoutSpace);
|
25
|
+
if (this.extraLayoutSpace > 0) {
|
26
|
+
extraLayoutSpace[0] = extraLayoutSpace[0] + this.extraLayoutSpace;
|
27
|
+
extraLayoutSpace[1] = extraLayoutSpace[1] + this.extraLayoutSpace;
|
28
|
+
}
|
29
|
+
}
|
30
|
+
|
31
|
+
@Override
|
32
|
+
public int computeVerticalScrollOffset(RecyclerView.State state) {
|
33
|
+
// fixed computeVerticalScrollOffset
|
34
|
+
View firstItemView = getChildAt(0);
|
35
|
+
View lastItemView = getChildAt(getChildCount() - 1);
|
36
|
+
if (firstItemView == null || lastItemView == null) {
|
37
|
+
return 0;
|
38
|
+
}
|
39
|
+
|
40
|
+
int firstItem = getPosition(firstItemView);
|
41
|
+
int lastItem = getPosition(lastItemView);
|
42
|
+
int itemsBefore = firstItem;
|
43
|
+
|
44
|
+
int laidOutArea = getDecoratedBottom(lastItemView) - getDecoratedTop(firstItemView);
|
45
|
+
int itemRange = lastItem - firstItem + 1;
|
46
|
+
float avgSizePerRow = (float) laidOutArea / itemRange;
|
47
|
+
|
48
|
+
int offset = (int) (itemsBefore * avgSizePerRow + getPaddingTop() - getDecoratedTop(firstItemView));
|
49
|
+
return offset;
|
50
|
+
}
|
51
|
+
}
|
@@ -0,0 +1,85 @@
|
|
1
|
+
package com.nativescript.collectionview;
|
2
|
+
|
3
|
+
import android.util.SparseArray;
|
4
|
+
|
5
|
+
import androidx.recyclerview.widget.RecyclerView;
|
6
|
+
|
7
|
+
import java.util.ArrayList;
|
8
|
+
|
9
|
+
public class RecycledViewPool extends RecyclerView.RecycledViewPool {
|
10
|
+
|
11
|
+
public RecycledViewPool() {
|
12
|
+
super();
|
13
|
+
}
|
14
|
+
|
15
|
+
private static final int DEFAULT_MAX_SCRAP = 5;
|
16
|
+
public interface ViewPoolListener {
|
17
|
+
void onViewHolderDisposed(RecyclerView.ViewHolder holder);
|
18
|
+
}
|
19
|
+
public ViewPoolListener mListener;
|
20
|
+
|
21
|
+
static class ScrapData {
|
22
|
+
final ArrayList<RecyclerView.ViewHolder> mScrapHeap = new ArrayList<>();
|
23
|
+
int mMaxScrap = DEFAULT_MAX_SCRAP;
|
24
|
+
}
|
25
|
+
|
26
|
+
SparseArray<ScrapData> mScrap = new SparseArray<>();
|
27
|
+
|
28
|
+
@Override
|
29
|
+
public void setMaxRecycledViews(int viewType, int max) {
|
30
|
+
ScrapData scrapData = getScrapDataForType(viewType);
|
31
|
+
scrapData.mMaxScrap = max;
|
32
|
+
final ArrayList<RecyclerView.ViewHolder> scrapHeap = scrapData.mScrapHeap;
|
33
|
+
while (scrapHeap.size() > max) {
|
34
|
+
scrapHeap.remove(scrapHeap.size() - 1);
|
35
|
+
}
|
36
|
+
super.setMaxRecycledViews(viewType, max);
|
37
|
+
}
|
38
|
+
|
39
|
+
@Override
|
40
|
+
public void putRecycledView(RecyclerView.ViewHolder scrap) {
|
41
|
+
final int viewType = scrap.getItemViewType();
|
42
|
+
super.putRecycledView(scrap);
|
43
|
+
final ArrayList<RecyclerView.ViewHolder> scrapHeap = getScrapDataForType(viewType).mScrapHeap;
|
44
|
+
if (mScrap.get(viewType).mMaxScrap <= scrapHeap.size()) {
|
45
|
+
if(mListener != null) {
|
46
|
+
mListener.onViewHolderDisposed(scrap);
|
47
|
+
}
|
48
|
+
return;
|
49
|
+
}
|
50
|
+
scrapHeap.add(scrap);
|
51
|
+
}
|
52
|
+
|
53
|
+
@Override
|
54
|
+
public void clear() {
|
55
|
+
for (int i = 0; i < mScrap.size(); i++) {
|
56
|
+
ScrapData data = mScrap.valueAt(i);
|
57
|
+
for (RecyclerView.ViewHolder scrap: data.mScrapHeap) {
|
58
|
+
if(mListener != null) {
|
59
|
+
mListener.onViewHolderDisposed(scrap);
|
60
|
+
}
|
61
|
+
}
|
62
|
+
data.mScrapHeap.clear();
|
63
|
+
}
|
64
|
+
super.clear();
|
65
|
+
}
|
66
|
+
|
67
|
+
@Override
|
68
|
+
public RecyclerView.ViewHolder getRecycledView(int viewType) {
|
69
|
+
RecyclerView.ViewHolder result = super.getRecycledView(viewType);
|
70
|
+
if(result != null) {
|
71
|
+
ScrapData data = getScrapDataForType(viewType);
|
72
|
+
data.mScrapHeap.remove(result);
|
73
|
+
}
|
74
|
+
return result;
|
75
|
+
}
|
76
|
+
|
77
|
+
private ScrapData getScrapDataForType(int viewType) {
|
78
|
+
ScrapData scrapData = mScrap.get(viewType);
|
79
|
+
if (scrapData == null) {
|
80
|
+
scrapData = new ScrapData();
|
81
|
+
mScrap.put(viewType, scrapData);
|
82
|
+
}
|
83
|
+
return scrapData;
|
84
|
+
}
|
85
|
+
}
|
@@ -0,0 +1,46 @@
|
|
1
|
+
package com.nativescript.collectionview;
|
2
|
+
|
3
|
+
import android.content.Context;
|
4
|
+
import android.view.View;
|
5
|
+
import android.view.ViewGroup;
|
6
|
+
import android.util.Log;
|
7
|
+
|
8
|
+
public class RecyclerView extends androidx.recyclerview.widget.RecyclerView {
|
9
|
+
static final String TAG = "RecyclerView";
|
10
|
+
public SizeChangedListener sizeChangedListener = null;
|
11
|
+
public RecyclerView(Context context) {
|
12
|
+
this(context, null);
|
13
|
+
}
|
14
|
+
public RecyclerView(Context context, android.util.AttributeSet attrs) {
|
15
|
+
super(context, attrs);
|
16
|
+
setHorizontalScrollBarEnabled(true);
|
17
|
+
setVerticalScrollBarEnabled(true);
|
18
|
+
setHasFixedSize(true);
|
19
|
+
setFocusable(true);
|
20
|
+
setDescendantFocusability(ViewGroup.FOCUS_AFTER_DESCENDANTS);
|
21
|
+
}
|
22
|
+
|
23
|
+
static public RecyclerView createRecyclerView(Context context) {
|
24
|
+
RecyclerView result = new RecyclerView(context);
|
25
|
+
return result;
|
26
|
+
}
|
27
|
+
|
28
|
+
static public View inflate (Context context) {
|
29
|
+
return android.view.LayoutInflater.from(context).inflate(R.layout.collectionview, null, false);
|
30
|
+
}
|
31
|
+
|
32
|
+
// @Override
|
33
|
+
// protected void onSizeChanged(int w, int h, int oldw, int oldh) {
|
34
|
+
// if (sizeChangedListener != null) {
|
35
|
+
// sizeChangedListener.onSizeChanged(w, h, oldw, oldh);
|
36
|
+
// }
|
37
|
+
// }
|
38
|
+
@Override
|
39
|
+
protected void onMeasure(int widthMeasureSpec,
|
40
|
+
int heightMeasureSpec) {
|
41
|
+
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
|
42
|
+
if (sizeChangedListener != null) {
|
43
|
+
sizeChangedListener.onMeasure();
|
44
|
+
}
|
45
|
+
}
|
46
|
+
}
|
@@ -0,0 +1,26 @@
|
|
1
|
+
package com.nativescript.collectionview;
|
2
|
+
|
3
|
+
import androidx.annotation.NonNull;
|
4
|
+
import androidx.recyclerview.widget.GridLayoutManager;
|
5
|
+
|
6
|
+
public class SpanSizeLookup extends GridLayoutManager.SpanSizeLookup {
|
7
|
+
public interface Interface {
|
8
|
+
int getSpanSize(int position);
|
9
|
+
}
|
10
|
+
Interface inter = null;
|
11
|
+
public void setInterface(Interface inter) {
|
12
|
+
this.inter = inter;
|
13
|
+
}
|
14
|
+
|
15
|
+
public SpanSizeLookup(Interface inter) {
|
16
|
+
super();
|
17
|
+
setInterface(inter);
|
18
|
+
}
|
19
|
+
@Override
|
20
|
+
public int getSpanSize(int position) {
|
21
|
+
if (inter != null) {
|
22
|
+
return inter.getSpanSize(position);
|
23
|
+
}
|
24
|
+
return 1;
|
25
|
+
}
|
26
|
+
}
|
@@ -0,0 +1,29 @@
|
|
1
|
+
{
|
2
|
+
"uses": [
|
3
|
+
"android.view:GestureDetector.SimpleOnGestureListener",
|
4
|
+
"android.view:View.OnClickListener",
|
5
|
+
"android.view:View.OnLayoutChangeListener",
|
6
|
+
"android.view:ViewGroup.LayoutParams",
|
7
|
+
"androidx.core.view:GestureDetectorCompat",
|
8
|
+
"androidx.recyclerview.widget:GridLayoutManager",
|
9
|
+
"androidx.recyclerview.widget:GridLayoutManager.SpanSizeLookup",
|
10
|
+
"androidx.recyclerview.widget:ItemTouchHelper",
|
11
|
+
"androidx.recyclerview.widget:ItemTouchHelper.SimpleCallback",
|
12
|
+
"androidx.recyclerview.widget:LinearLayoutManager",
|
13
|
+
"androidx.recyclerview.widget:RecyclerView",
|
14
|
+
"androidx.recyclerview.widget:RecyclerView.Adapter",
|
15
|
+
"androidx.recyclerview.widget:RecyclerView.ItemAnimator",
|
16
|
+
"androidx.recyclerview.widget:RecyclerView.LayoutManager",
|
17
|
+
"androidx.recyclerview.widget:RecyclerView.LayoutManager",
|
18
|
+
"androidx.recyclerview.widget:RecyclerView.OnItemTouchListener",
|
19
|
+
"androidx.recyclerview.widget:RecyclerView.OnScrollListener",
|
20
|
+
"androidx.recyclerview.widget:RecyclerView.RecyclerListener",
|
21
|
+
"androidx.recyclerview.widget:RecyclerView.RecycledViewPool",
|
22
|
+
"androidx.recyclerview.widget:RecyclerView.ViewHolder",
|
23
|
+
"androidx.recyclerview.widget:SimpleItemAnimator",
|
24
|
+
"com.h6ah4i.android.widget.advrecyclerview.animator:BaseItemAnimator",
|
25
|
+
"com.h6ah4i.android.widget.advrecyclerview.animator:GeneralItemAnimator",
|
26
|
+
"com.h6ah4i.android.widget.advrecyclerview.animator:RefactoredDefaultItemAnimator",
|
27
|
+
"com.nativescript.collectionview*:*"
|
28
|
+
]
|
29
|
+
}
|
@@ -0,0 +1,5 @@
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
2
|
+
<com.nativescript.collectionview.RecyclerView xmlns:android="http://schemas.android.com/apk/res/android"
|
3
|
+
android:layout_width="match_parent"
|
4
|
+
android:layout_height="match_parent">
|
5
|
+
</com.nativescript.collectionview.RecyclerView>
|
Binary file
|