zkit-ui 2.0.4 → 2.0.6
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/README.md +56 -0
- package/android/build.gradle +100 -0
- package/android/src/main/AndroidManifest.xml +1 -0
- package/android/src/main/java/cn/fontree/zkit/ui/preview/NativeImagePreviewLayoutSupport.java +450 -0
- package/android/src/main/java/cn/fontree/zkit/ui/preview/NativeImagePreviewMediaItem.java +36 -0
- package/android/src/main/java/cn/fontree/zkit/ui/preview/NativeImagePreviewModule.kt +43 -0
- package/android/src/main/java/cn/fontree/zkit/ui/preview/NativeImagePreviewPagerAdapter.java +140 -0
- package/android/src/main/java/cn/fontree/zkit/ui/preview/NativeImagePreviewSharedElementGeometry.java +25 -0
- package/android/src/main/java/cn/fontree/zkit/ui/preview/NativeImagePreviewSharedElementNames.java +39 -0
- package/android/src/main/java/cn/fontree/zkit/ui/preview/NativeImagePreviewSharedElementState.java +25 -0
- package/android/src/main/java/cn/fontree/zkit/ui/preview/NativeImagePreviewSourceViewRegistry.java +115 -0
- package/android/src/main/java/cn/fontree/zkit/ui/preview/NativeImagePreviewTransitionSnapshotView.java +60 -0
- package/android/src/main/java/cn/fontree/zkit/ui/preview/NativeImagePreviewVideoPlayerView.java +338 -0
- package/android/src/main/java/cn/fontree/zkit/ui/preview/NativeImagePreviewView.kt +305 -0
- package/android/src/main/java/cn/fontree/zkit/ui/preview/NativeImagePreviewViewerOverlayView.java +636 -0
- package/android/src/main/java/cn/fontree/zkit/ui/preview/NativeImagePreviewViewerPageView.java +357 -0
- package/android/src/main/java/cn/fontree/zkit/ui/preview/NativeImagePreviewViewerTransitionController.java +223 -0
- package/android/src/main/res/layout/native_image_preview_player_view.xml +9 -0
- package/dist/all.d.ts +2 -0
- package/dist/all.d.ts.map +1 -1
- package/dist/all.js +24 -22
- package/dist/ui/NativeImagePreview/NativeImagePreview.d.ts +3 -0
- package/dist/ui/NativeImagePreview/NativeImagePreview.d.ts.map +1 -0
- package/dist/ui/NativeImagePreview/NativeImagePreview.js +99 -0
- package/dist/ui/NativeImagePreview/NativeImagePreview.web.d.ts +4 -0
- package/dist/ui/NativeImagePreview/NativeImagePreview.web.d.ts.map +1 -0
- package/dist/ui/NativeImagePreview/NativeImagePreview.web.js +150 -0
- package/dist/ui/NativeImagePreview/context.d.ts +14 -0
- package/dist/ui/NativeImagePreview/context.d.ts.map +1 -0
- package/dist/ui/NativeImagePreview/context.js +38 -0
- package/dist/ui/NativeImagePreview/index.d.ts +3 -0
- package/dist/ui/NativeImagePreview/index.d.ts.map +1 -0
- package/dist/ui/NativeImagePreview/index.js +5 -0
- package/dist/ui/NativeImagePreview/types.d.ts +68 -0
- package/dist/ui/NativeImagePreview/types.d.ts.map +1 -0
- package/dist/ui/NativeImagePreview/types.js +2 -0
- package/dist/ui/NativeImagePreview/utils.d.ts +8 -0
- package/dist/ui/NativeImagePreview/utils.d.ts.map +1 -0
- package/dist/ui/NativeImagePreview/utils.js +83 -0
- package/dist/ui/NativeImagePreview/web/geometry.d.ts +20 -0
- package/dist/ui/NativeImagePreview/web/geometry.d.ts.map +1 -0
- package/dist/ui/NativeImagePreview/web/geometry.js +121 -0
- package/dist/ui/NativeImagePreview/web/media.d.ts +6 -0
- package/dist/ui/NativeImagePreview/web/media.d.ts.map +1 -0
- package/dist/ui/NativeImagePreview/web/media.js +90 -0
- package/dist/ui/NativeImagePreview/web/styles.css +137 -0
- package/dist/ui/NativeImagePreview/web/transition.d.ts +15 -0
- package/dist/ui/NativeImagePreview/web/transition.d.ts.map +1 -0
- package/dist/ui/NativeImagePreview/web/transition.js +77 -0
- package/dist/ui/NativeImagePreview/web/types.d.ts +74 -0
- package/dist/ui/NativeImagePreview/web/types.d.ts.map +1 -0
- package/dist/ui/NativeImagePreview/web/types.js +3 -0
- package/dist/ui/NativeImagePreview/web/viewer.d.ts +104 -0
- package/dist/ui/NativeImagePreview/web/viewer.d.ts.map +1 -0
- package/dist/ui/NativeImagePreview/web/viewer.js +894 -0
- package/expo-module.config.json +11 -0
- package/ios/NativeImagePreview/NativeImagePreviewImageLoader.swift +73 -0
- package/ios/NativeImagePreview/NativeImagePreviewImageViewInteraction.swift +245 -0
- package/ios/NativeImagePreview/NativeImagePreviewLayoutSupport.swift +143 -0
- package/ios/NativeImagePreview/NativeImagePreviewMedia.swift +28 -0
- package/ios/NativeImagePreview/NativeImagePreviewSourceViewRegistry.swift +80 -0
- package/ios/NativeImagePreview/NativeImagePreviewVideoPlayerView.swift +437 -0
- package/ios/NativeImagePreview/NativeImagePreviewViewerConfiguration.swift +51 -0
- package/ios/NativeImagePreview/NativeImagePreviewViewerController.swift +745 -0
- package/ios/NativeImagePreview/NativeImagePreviewViewerPageView.swift +623 -0
- package/ios/NativeImagePreview/NativeImagePreviewViewerTransitionCoordinator.swift +312 -0
- package/ios/NativeImagePreviewModule.swift +46 -0
- package/ios/NativeImagePreviewView.swift +252 -0
- package/package.json +16 -2
- package/src/all.ts +18 -0
- package/src/services/ImagePreviewService/README.md +19 -0
- package/src/types.d.ts +1 -0
- package/src/ui/NativeImagePreview/NativeImagePreview.tsx +146 -0
- package/src/ui/NativeImagePreview/NativeImagePreview.web.tsx +201 -0
- package/src/ui/NativeImagePreview/README.md +111 -0
- package/src/ui/NativeImagePreview/context.tsx +22 -0
- package/src/ui/NativeImagePreview/index.tsx +18 -0
- package/src/ui/NativeImagePreview/types.ts +94 -0
- package/src/ui/NativeImagePreview/utils.ts +108 -0
- package/src/ui/NativeImagePreview/web/geometry.ts +134 -0
- package/src/ui/NativeImagePreview/web/media.ts +91 -0
- package/src/ui/NativeImagePreview/web/styles.css +137 -0
- package/src/ui/NativeImagePreview/web/transition.ts +111 -0
- package/src/ui/NativeImagePreview/web/types.ts +88 -0
- package/src/ui/NativeImagePreview/web/viewer.ts +1024 -0
- package/zkit-ui.podspec +13 -1
package/android/src/main/java/cn/fontree/zkit/ui/preview/NativeImagePreviewViewerPageView.java
ADDED
|
@@ -0,0 +1,357 @@
|
|
|
1
|
+
package cn.fontree.zkit.ui.preview;
|
|
2
|
+
|
|
3
|
+
import android.animation.ObjectAnimator;
|
|
4
|
+
import android.content.Context;
|
|
5
|
+
import android.graphics.Color;
|
|
6
|
+
import android.graphics.RectF;
|
|
7
|
+
import android.graphics.drawable.Drawable;
|
|
8
|
+
import android.util.TypedValue;
|
|
9
|
+
import android.view.Gravity;
|
|
10
|
+
import android.view.View;
|
|
11
|
+
import android.view.ViewTreeObserver;
|
|
12
|
+
import android.view.ViewGroup;
|
|
13
|
+
import android.widget.FrameLayout;
|
|
14
|
+
import android.widget.ImageView;
|
|
15
|
+
import android.widget.ProgressBar;
|
|
16
|
+
|
|
17
|
+
import androidx.annotation.NonNull;
|
|
18
|
+
import androidx.annotation.Nullable;
|
|
19
|
+
|
|
20
|
+
import com.bumptech.glide.Glide;
|
|
21
|
+
import com.bumptech.glide.load.engine.GlideException;
|
|
22
|
+
import com.bumptech.glide.request.RequestListener;
|
|
23
|
+
import com.bumptech.glide.request.target.Target;
|
|
24
|
+
import com.github.chrisbanes.photoview.PhotoView;
|
|
25
|
+
|
|
26
|
+
public final class NativeImagePreviewViewerPageView extends FrameLayout {
|
|
27
|
+
public interface Listener {
|
|
28
|
+
void onDismissRequested(@NonNull NativeImagePreviewViewerPageView pageView);
|
|
29
|
+
|
|
30
|
+
void onVideoCloseRequested(@NonNull NativeImagePreviewViewerPageView pageView);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
private final FrameLayout mediaContainer;
|
|
34
|
+
private final PhotoView photoView;
|
|
35
|
+
private final NativeImagePreviewVideoPlayerView videoPlayerView;
|
|
36
|
+
private final FrameLayout loadingContainer;
|
|
37
|
+
private final ObjectAnimator loadingPulseAnimator;
|
|
38
|
+
@Nullable
|
|
39
|
+
private NativeImagePreviewMediaItem item;
|
|
40
|
+
@Nullable
|
|
41
|
+
private Listener listener;
|
|
42
|
+
private boolean active;
|
|
43
|
+
private boolean allowParentInterceptOnImageEdge;
|
|
44
|
+
|
|
45
|
+
public NativeImagePreviewViewerPageView(@NonNull Context context) {
|
|
46
|
+
super(context);
|
|
47
|
+
setLayoutParams(new LayoutParams(
|
|
48
|
+
ViewGroup.LayoutParams.MATCH_PARENT,
|
|
49
|
+
ViewGroup.LayoutParams.MATCH_PARENT
|
|
50
|
+
));
|
|
51
|
+
setBackgroundColor(Color.TRANSPARENT);
|
|
52
|
+
|
|
53
|
+
mediaContainer = new FrameLayout(context);
|
|
54
|
+
mediaContainer.setLayoutParams(new LayoutParams(
|
|
55
|
+
ViewGroup.LayoutParams.MATCH_PARENT,
|
|
56
|
+
ViewGroup.LayoutParams.MATCH_PARENT
|
|
57
|
+
));
|
|
58
|
+
mediaContainer.setBackgroundColor(Color.TRANSPARENT);
|
|
59
|
+
addView(mediaContainer);
|
|
60
|
+
|
|
61
|
+
photoView = new PhotoView(context);
|
|
62
|
+
photoView.setLayoutParams(new LayoutParams(
|
|
63
|
+
ViewGroup.LayoutParams.MATCH_PARENT,
|
|
64
|
+
ViewGroup.LayoutParams.MATCH_PARENT
|
|
65
|
+
));
|
|
66
|
+
photoView.setScaleType(ImageView.ScaleType.FIT_CENTER);
|
|
67
|
+
photoView.setBackgroundColor(Color.TRANSPARENT);
|
|
68
|
+
photoView.setVisibility(GONE);
|
|
69
|
+
photoView.setOnViewTapListener((view, x, y) -> {
|
|
70
|
+
if (listener != null) {
|
|
71
|
+
listener.onDismissRequested(this);
|
|
72
|
+
}
|
|
73
|
+
});
|
|
74
|
+
mediaContainer.addView(photoView);
|
|
75
|
+
|
|
76
|
+
videoPlayerView = new NativeImagePreviewVideoPlayerView(context);
|
|
77
|
+
videoPlayerView.setVisibility(GONE);
|
|
78
|
+
videoPlayerView.setListener(() -> {
|
|
79
|
+
if (listener != null) {
|
|
80
|
+
listener.onVideoCloseRequested(this);
|
|
81
|
+
}
|
|
82
|
+
});
|
|
83
|
+
videoPlayerView.setOnContentReadyListener(() -> setLoadingVisible(false));
|
|
84
|
+
mediaContainer.addView(videoPlayerView);
|
|
85
|
+
|
|
86
|
+
loadingContainer = new FrameLayout(context);
|
|
87
|
+
loadingContainer.setLayoutParams(new LayoutParams(
|
|
88
|
+
ViewGroup.LayoutParams.WRAP_CONTENT,
|
|
89
|
+
ViewGroup.LayoutParams.WRAP_CONTENT,
|
|
90
|
+
Gravity.CENTER
|
|
91
|
+
));
|
|
92
|
+
ProgressBar progressBar = new ProgressBar(context);
|
|
93
|
+
LayoutParams progressLayoutParams = new LayoutParams(dp(28), dp(28), Gravity.CENTER);
|
|
94
|
+
progressBar.setLayoutParams(progressLayoutParams);
|
|
95
|
+
loadingContainer.addView(progressBar);
|
|
96
|
+
loadingContainer.setVisibility(GONE);
|
|
97
|
+
addView(loadingContainer);
|
|
98
|
+
|
|
99
|
+
loadingPulseAnimator = ObjectAnimator.ofFloat(loadingContainer, View.ALPHA, 0.62f, 1f);
|
|
100
|
+
loadingPulseAnimator.setDuration(760L);
|
|
101
|
+
loadingPulseAnimator.setRepeatMode(ObjectAnimator.REVERSE);
|
|
102
|
+
loadingPulseAnimator.setRepeatCount(ObjectAnimator.INFINITE);
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
public void setListener(@Nullable Listener listener) {
|
|
106
|
+
this.listener = listener;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
public void bind(@NonNull NativeImagePreviewMediaItem item) {
|
|
110
|
+
this.item = item;
|
|
111
|
+
if (item.getMediaType() == NativeImagePreviewMediaItem.MediaType.IMAGE) {
|
|
112
|
+
bindImage(item);
|
|
113
|
+
} else {
|
|
114
|
+
bindVideo(item);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
public void setActive(boolean active) {
|
|
119
|
+
this.active = active;
|
|
120
|
+
if (item == null || item.getMediaType() != NativeImagePreviewMediaItem.MediaType.VIDEO) {
|
|
121
|
+
return;
|
|
122
|
+
}
|
|
123
|
+
videoPlayerView.setActive(active);
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
public void release() {
|
|
127
|
+
Glide.with(photoView.getContext().getApplicationContext()).clear(photoView);
|
|
128
|
+
photoView.setImageDrawable(null);
|
|
129
|
+
photoView.setScale(1f, false);
|
|
130
|
+
photoView.setVisibility(GONE);
|
|
131
|
+
videoPlayerView.release();
|
|
132
|
+
videoPlayerView.setVisibility(GONE);
|
|
133
|
+
item = null;
|
|
134
|
+
active = false;
|
|
135
|
+
setLoadingVisible(false);
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
@NonNull
|
|
139
|
+
public View getDragTarget() {
|
|
140
|
+
return mediaContainer;
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
public boolean canPageHorizontally() {
|
|
144
|
+
if (item == null) {
|
|
145
|
+
return true;
|
|
146
|
+
}
|
|
147
|
+
if (item.getMediaType() == NativeImagePreviewMediaItem.MediaType.IMAGE) {
|
|
148
|
+
return photoView.getScale() <= 1.02f;
|
|
149
|
+
}
|
|
150
|
+
return true;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
public void setAllowParentInterceptOnImageEdge(boolean allow) {
|
|
154
|
+
allowParentInterceptOnImageEdge = allow;
|
|
155
|
+
photoView.setAllowParentInterceptOnEdge(allow);
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
public boolean canBeginVerticalDismiss(float dx, float dy, float rawX, float rawY) {
|
|
159
|
+
if (item == null) {
|
|
160
|
+
return false;
|
|
161
|
+
}
|
|
162
|
+
if (Math.abs(dy) <= Math.abs(dx) * 1.02f) {
|
|
163
|
+
return false;
|
|
164
|
+
}
|
|
165
|
+
if (item.getMediaType() == NativeImagePreviewMediaItem.MediaType.IMAGE) {
|
|
166
|
+
return photoView.getScale() <= 1.02f;
|
|
167
|
+
}
|
|
168
|
+
return !videoPlayerView.isTouchOnInteractiveControls(rawX, rawY);
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
public void setMediaHidden(boolean hidden) {
|
|
172
|
+
if (item == null) {
|
|
173
|
+
return;
|
|
174
|
+
}
|
|
175
|
+
if (item.getMediaType() == NativeImagePreviewMediaItem.MediaType.IMAGE) {
|
|
176
|
+
photoView.setAlpha(hidden ? 0f : 1f);
|
|
177
|
+
} else {
|
|
178
|
+
videoPlayerView.setMediaHidden(hidden);
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
public void setImagePlaceholderIfEmpty(@Nullable Drawable drawable) {
|
|
183
|
+
if (item == null || item.getMediaType() != NativeImagePreviewMediaItem.MediaType.IMAGE) {
|
|
184
|
+
return;
|
|
185
|
+
}
|
|
186
|
+
if (drawable == null || photoView.getDrawable() != null) {
|
|
187
|
+
return;
|
|
188
|
+
}
|
|
189
|
+
photoView.setVisibility(VISIBLE);
|
|
190
|
+
photoView.setImageDrawable(drawable);
|
|
191
|
+
setLoadingVisible(true);
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
@Nullable
|
|
195
|
+
public NativeImagePreviewSharedElementState sharedElementState() {
|
|
196
|
+
if (item == null) {
|
|
197
|
+
return null;
|
|
198
|
+
}
|
|
199
|
+
if (item.getMediaType() == NativeImagePreviewMediaItem.MediaType.IMAGE) {
|
|
200
|
+
return NativeImagePreviewLayoutSupport.captureImageViewState(photoView);
|
|
201
|
+
}
|
|
202
|
+
return videoPlayerView.sharedElementState();
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
@NonNull
|
|
206
|
+
public NativeImagePreviewSharedElementGeometry defaultTransitionGeometry(@NonNull RectF containerBounds, @Nullable Drawable fallbackDrawable) {
|
|
207
|
+
Drawable drawable = currentDrawable();
|
|
208
|
+
if (drawable == null) {
|
|
209
|
+
drawable = fallbackDrawable;
|
|
210
|
+
}
|
|
211
|
+
if (drawable == null) {
|
|
212
|
+
float fallbackWidth = Math.max(containerBounds.width() * 0.72f, 1f);
|
|
213
|
+
float fallbackHeight = Math.max(containerBounds.height() * 0.42f, 1f);
|
|
214
|
+
float left = containerBounds.left + (containerBounds.width() - fallbackWidth) * 0.5f;
|
|
215
|
+
float top = containerBounds.top + (containerBounds.height() - fallbackHeight) * 0.5f;
|
|
216
|
+
RectF visibleFrame = new RectF(left, top, left + fallbackWidth, top + fallbackHeight);
|
|
217
|
+
RectF contentFrame = new RectF(0f, 0f, visibleFrame.width(), visibleFrame.height());
|
|
218
|
+
return new NativeImagePreviewSharedElementGeometry(visibleFrame, contentFrame);
|
|
219
|
+
}
|
|
220
|
+
return NativeImagePreviewLayoutSupport.defaultGeometryFor(drawable, containerBounds);
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
public void prepareForOpenTransition() {
|
|
224
|
+
if (item == null) {
|
|
225
|
+
return;
|
|
226
|
+
}
|
|
227
|
+
if (item.getMediaType() == NativeImagePreviewMediaItem.MediaType.IMAGE) {
|
|
228
|
+
photoView.setScale(1f, false);
|
|
229
|
+
photoView.setAllowParentInterceptOnEdge(allowParentInterceptOnImageEdge);
|
|
230
|
+
} else {
|
|
231
|
+
videoPlayerView.prepareForReturnTransition();
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
public void prepareForReturnTransition() {
|
|
236
|
+
if (item == null) {
|
|
237
|
+
return;
|
|
238
|
+
}
|
|
239
|
+
if (item.getMediaType() == NativeImagePreviewMediaItem.MediaType.IMAGE) {
|
|
240
|
+
photoView.setScale(1f, false);
|
|
241
|
+
photoView.setAllowParentInterceptOnEdge(allowParentInterceptOnImageEdge);
|
|
242
|
+
} else {
|
|
243
|
+
videoPlayerView.prepareForReturnTransition();
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
public void prepareForDismissDrag() {
|
|
248
|
+
if (item == null) {
|
|
249
|
+
return;
|
|
250
|
+
}
|
|
251
|
+
if (item.getMediaType() == NativeImagePreviewMediaItem.MediaType.IMAGE) {
|
|
252
|
+
photoView.setScale(1f, false);
|
|
253
|
+
} else {
|
|
254
|
+
videoPlayerView.prepareForReturnTransition();
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
public void restoreAfterDismissCancelled() {
|
|
259
|
+
if (item == null || item.getMediaType() != NativeImagePreviewMediaItem.MediaType.VIDEO) {
|
|
260
|
+
return;
|
|
261
|
+
}
|
|
262
|
+
videoPlayerView.restoreAfterDismissCancelled();
|
|
263
|
+
}
|
|
264
|
+
|
|
265
|
+
private void bindImage(@NonNull NativeImagePreviewMediaItem item) {
|
|
266
|
+
photoView.setVisibility(VISIBLE);
|
|
267
|
+
videoPlayerView.release();
|
|
268
|
+
videoPlayerView.setVisibility(GONE);
|
|
269
|
+
photoView.setScale(1f, false);
|
|
270
|
+
photoView.setAllowParentInterceptOnEdge(allowParentInterceptOnImageEdge);
|
|
271
|
+
Glide.with(photoView).clear(photoView);
|
|
272
|
+
photoView.setImageDrawable(null);
|
|
273
|
+
setLoadingVisible(true);
|
|
274
|
+
Glide.with(photoView)
|
|
275
|
+
.load(item.getSourceUrl())
|
|
276
|
+
.dontAnimate()
|
|
277
|
+
.listener(new RequestListener<Drawable>() {
|
|
278
|
+
@Override
|
|
279
|
+
public boolean onLoadFailed(@Nullable GlideException e, Object model, Target<Drawable> target, boolean isFirstResource) {
|
|
280
|
+
setLoadingVisible(false);
|
|
281
|
+
return false;
|
|
282
|
+
}
|
|
283
|
+
|
|
284
|
+
@Override
|
|
285
|
+
public boolean onResourceReady(Drawable resource, Object model, Target<Drawable> target, com.bumptech.glide.load.DataSource dataSource, boolean isFirstResource) {
|
|
286
|
+
setLoadingVisible(false);
|
|
287
|
+
applyDynamicPhotoScaleBounds();
|
|
288
|
+
return false;
|
|
289
|
+
}
|
|
290
|
+
})
|
|
291
|
+
.into(photoView);
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
private void applyDynamicPhotoScaleBounds() {
|
|
295
|
+
photoView.getViewTreeObserver().addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() {
|
|
296
|
+
@Override
|
|
297
|
+
public boolean onPreDraw() {
|
|
298
|
+
photoView.getViewTreeObserver().removeOnPreDrawListener(this);
|
|
299
|
+
RectF displayRect = photoView.getDisplayRect();
|
|
300
|
+
if (displayRect == null || displayRect.width() <= 0f || displayRect.height() <= 0f) {
|
|
301
|
+
return true;
|
|
302
|
+
}
|
|
303
|
+
|
|
304
|
+
float fillWidthScale = photoView.getWidth() > 0 ? photoView.getWidth() / displayRect.width() : 1f;
|
|
305
|
+
float fillHeightScale = photoView.getHeight() > 0 ? photoView.getHeight() / displayRect.height() : 1f;
|
|
306
|
+
float coverViewportScale = Math.max(fillWidthScale, fillHeightScale);
|
|
307
|
+
float maximumScale = Math.max(4f, Math.min(coverViewportScale * 3f, 32f));
|
|
308
|
+
float mediumScale = Math.min(Math.max(2f, coverViewportScale), maximumScale * 0.5f);
|
|
309
|
+
|
|
310
|
+
photoView.setScaleLevels(1f, mediumScale, maximumScale);
|
|
311
|
+
return true;
|
|
312
|
+
}
|
|
313
|
+
});
|
|
314
|
+
}
|
|
315
|
+
|
|
316
|
+
private void bindVideo(@NonNull NativeImagePreviewMediaItem item) {
|
|
317
|
+
photoView.setVisibility(GONE);
|
|
318
|
+
Glide.with(photoView).clear(photoView);
|
|
319
|
+
photoView.setImageDrawable(null);
|
|
320
|
+
videoPlayerView.setVisibility(VISIBLE);
|
|
321
|
+
videoPlayerView.bind(item);
|
|
322
|
+
videoPlayerView.setActive(active);
|
|
323
|
+
setLoadingVisible(true);
|
|
324
|
+
}
|
|
325
|
+
|
|
326
|
+
@Nullable
|
|
327
|
+
private Drawable currentDrawable() {
|
|
328
|
+
if (item == null) {
|
|
329
|
+
return null;
|
|
330
|
+
}
|
|
331
|
+
if (item.getMediaType() == NativeImagePreviewMediaItem.MediaType.IMAGE) {
|
|
332
|
+
return photoView.getDrawable();
|
|
333
|
+
}
|
|
334
|
+
return videoPlayerView.getPosterDrawable();
|
|
335
|
+
}
|
|
336
|
+
|
|
337
|
+
private void setLoadingVisible(boolean visible) {
|
|
338
|
+
if (visible) {
|
|
339
|
+
loadingContainer.setVisibility(VISIBLE);
|
|
340
|
+
if (!loadingPulseAnimator.isRunning()) {
|
|
341
|
+
loadingPulseAnimator.start();
|
|
342
|
+
}
|
|
343
|
+
return;
|
|
344
|
+
}
|
|
345
|
+
loadingPulseAnimator.cancel();
|
|
346
|
+
loadingContainer.setAlpha(1f);
|
|
347
|
+
loadingContainer.setVisibility(GONE);
|
|
348
|
+
}
|
|
349
|
+
|
|
350
|
+
private int dp(int value) {
|
|
351
|
+
return (int) TypedValue.applyDimension(
|
|
352
|
+
TypedValue.COMPLEX_UNIT_DIP,
|
|
353
|
+
value,
|
|
354
|
+
getResources().getDisplayMetrics()
|
|
355
|
+
);
|
|
356
|
+
}
|
|
357
|
+
}
|
|
@@ -0,0 +1,223 @@
|
|
|
1
|
+
package cn.fontree.zkit.ui.preview;
|
|
2
|
+
|
|
3
|
+
import android.animation.Animator;
|
|
4
|
+
import android.animation.AnimatorListenerAdapter;
|
|
5
|
+
import android.animation.ValueAnimator;
|
|
6
|
+
import android.graphics.RectF;
|
|
7
|
+
import android.view.View;
|
|
8
|
+
import android.view.animation.DecelerateInterpolator;
|
|
9
|
+
import android.widget.FrameLayout;
|
|
10
|
+
import android.widget.ImageView;
|
|
11
|
+
|
|
12
|
+
import androidx.annotation.NonNull;
|
|
13
|
+
import androidx.annotation.Nullable;
|
|
14
|
+
|
|
15
|
+
public final class NativeImagePreviewViewerTransitionController {
|
|
16
|
+
private final FrameLayout containerView;
|
|
17
|
+
private final View backgroundView;
|
|
18
|
+
private final View contentView;
|
|
19
|
+
@Nullable
|
|
20
|
+
private NativeImagePreviewTransitionSnapshotView snapshotView;
|
|
21
|
+
@Nullable
|
|
22
|
+
private ImageView hiddenSourceView;
|
|
23
|
+
|
|
24
|
+
public NativeImagePreviewViewerTransitionController(
|
|
25
|
+
@NonNull FrameLayout containerView,
|
|
26
|
+
@NonNull View backgroundView,
|
|
27
|
+
@NonNull View contentView
|
|
28
|
+
) {
|
|
29
|
+
this.containerView = containerView;
|
|
30
|
+
this.backgroundView = backgroundView;
|
|
31
|
+
this.contentView = contentView;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
public void performOpenTransition(
|
|
35
|
+
@Nullable ImageView sourceView,
|
|
36
|
+
@Nullable NativeImagePreviewSharedElementState sourceState,
|
|
37
|
+
@NonNull NativeImagePreviewSharedElementGeometry targetGeometry,
|
|
38
|
+
@NonNull Runnable completion
|
|
39
|
+
) {
|
|
40
|
+
clearSnapshot();
|
|
41
|
+
backgroundView.setAlpha(0f);
|
|
42
|
+
contentView.setAlpha(0f);
|
|
43
|
+
hiddenSourceView = sourceView;
|
|
44
|
+
if (hiddenSourceView != null) {
|
|
45
|
+
hiddenSourceView.setAlpha(0f);
|
|
46
|
+
}
|
|
47
|
+
if (sourceState == null) {
|
|
48
|
+
backgroundView.animate()
|
|
49
|
+
.alpha(1f)
|
|
50
|
+
.setDuration(220L)
|
|
51
|
+
.setInterpolator(new DecelerateInterpolator())
|
|
52
|
+
.withEndAction(completion)
|
|
53
|
+
.start();
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
NativeImagePreviewSharedElementGeometry sourceGeometry = frameInContainer(sourceState.getGeometry());
|
|
58
|
+
NativeImagePreviewSharedElementGeometry endGeometry = frameInContainer(targetGeometry);
|
|
59
|
+
snapshotView = new NativeImagePreviewTransitionSnapshotView(containerView.getContext(), sourceState.getDrawable());
|
|
60
|
+
containerView.addView(snapshotView);
|
|
61
|
+
snapshotView.applyGeometry(sourceGeometry);
|
|
62
|
+
animateSnapshot(
|
|
63
|
+
sourceGeometry,
|
|
64
|
+
endGeometry,
|
|
65
|
+
0f,
|
|
66
|
+
1f,
|
|
67
|
+
300L,
|
|
68
|
+
completion
|
|
69
|
+
);
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
public void completeOpenTransition(@NonNull Runnable completion) {
|
|
73
|
+
contentView.animate()
|
|
74
|
+
.alpha(1f)
|
|
75
|
+
.setDuration(140L)
|
|
76
|
+
.setInterpolator(new DecelerateInterpolator())
|
|
77
|
+
.setListener(new AnimatorListenerAdapter() {
|
|
78
|
+
@Override
|
|
79
|
+
public void onAnimationEnd(Animator animation) {
|
|
80
|
+
restoreHiddenSourceView();
|
|
81
|
+
clearSnapshot();
|
|
82
|
+
completion.run();
|
|
83
|
+
}
|
|
84
|
+
})
|
|
85
|
+
.start();
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
public void performCloseTransition(
|
|
89
|
+
@Nullable NativeImagePreviewSharedElementState pageState,
|
|
90
|
+
@Nullable NativeImagePreviewSharedElementGeometry targetGeometry,
|
|
91
|
+
@Nullable ImageView targetView,
|
|
92
|
+
@NonNull Runnable completion
|
|
93
|
+
) {
|
|
94
|
+
clearSnapshot();
|
|
95
|
+
float backgroundStartAlpha = backgroundView.getAlpha();
|
|
96
|
+
if (pageState == null || targetGeometry == null) {
|
|
97
|
+
contentView.animate()
|
|
98
|
+
.alpha(0f)
|
|
99
|
+
.setDuration(180L)
|
|
100
|
+
.setInterpolator(new DecelerateInterpolator())
|
|
101
|
+
.start();
|
|
102
|
+
backgroundView.animate()
|
|
103
|
+
.alpha(0f)
|
|
104
|
+
.setDuration(180L)
|
|
105
|
+
.setInterpolator(new DecelerateInterpolator())
|
|
106
|
+
.withEndAction(completion)
|
|
107
|
+
.start();
|
|
108
|
+
return;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
if (targetView != null) {
|
|
112
|
+
targetView.setAlpha(0f);
|
|
113
|
+
}
|
|
114
|
+
NativeImagePreviewSharedElementGeometry startGeometry = frameInContainer(pageState.getGeometry());
|
|
115
|
+
NativeImagePreviewSharedElementGeometry endGeometry = frameInContainer(targetGeometry);
|
|
116
|
+
snapshotView = new NativeImagePreviewTransitionSnapshotView(containerView.getContext(), pageState.getDrawable());
|
|
117
|
+
containerView.addView(snapshotView);
|
|
118
|
+
snapshotView.applyGeometry(startGeometry);
|
|
119
|
+
animateSnapshot(
|
|
120
|
+
startGeometry,
|
|
121
|
+
endGeometry,
|
|
122
|
+
backgroundStartAlpha,
|
|
123
|
+
0f,
|
|
124
|
+
280L,
|
|
125
|
+
() -> {
|
|
126
|
+
if (targetView != null) {
|
|
127
|
+
targetView.setAlpha(1f);
|
|
128
|
+
}
|
|
129
|
+
clearSnapshot();
|
|
130
|
+
completion.run();
|
|
131
|
+
}
|
|
132
|
+
);
|
|
133
|
+
contentView.animate()
|
|
134
|
+
.alpha(0f)
|
|
135
|
+
.setDuration(280L)
|
|
136
|
+
.setInterpolator(new DecelerateInterpolator())
|
|
137
|
+
.start();
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
private void animateSnapshot(
|
|
141
|
+
@NonNull NativeImagePreviewSharedElementGeometry startGeometry,
|
|
142
|
+
@NonNull NativeImagePreviewSharedElementGeometry endGeometry,
|
|
143
|
+
float backgroundStartAlpha,
|
|
144
|
+
float backgroundEndAlpha,
|
|
145
|
+
long durationMs,
|
|
146
|
+
@NonNull Runnable completion
|
|
147
|
+
) {
|
|
148
|
+
NativeImagePreviewTransitionSnapshotView localSnapshotView = snapshotView;
|
|
149
|
+
if (localSnapshotView == null) {
|
|
150
|
+
completion.run();
|
|
151
|
+
return;
|
|
152
|
+
}
|
|
153
|
+
ValueAnimator animator = ValueAnimator.ofFloat(0f, 1f);
|
|
154
|
+
animator.setDuration(durationMs);
|
|
155
|
+
animator.setInterpolator(new DecelerateInterpolator());
|
|
156
|
+
animator.addUpdateListener(valueAnimator -> {
|
|
157
|
+
float progress = (float) valueAnimator.getAnimatedValue();
|
|
158
|
+
localSnapshotView.applyGeometry(interpolateGeometry(startGeometry, endGeometry, progress));
|
|
159
|
+
backgroundView.setAlpha(lerp(backgroundStartAlpha, backgroundEndAlpha, progress));
|
|
160
|
+
});
|
|
161
|
+
animator.addListener(new AnimatorListenerAdapter() {
|
|
162
|
+
@Override
|
|
163
|
+
public void onAnimationEnd(Animator animation) {
|
|
164
|
+
backgroundView.setAlpha(backgroundEndAlpha);
|
|
165
|
+
completion.run();
|
|
166
|
+
}
|
|
167
|
+
});
|
|
168
|
+
animator.start();
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
@NonNull
|
|
172
|
+
private NativeImagePreviewSharedElementGeometry interpolateGeometry(
|
|
173
|
+
@NonNull NativeImagePreviewSharedElementGeometry start,
|
|
174
|
+
@NonNull NativeImagePreviewSharedElementGeometry end,
|
|
175
|
+
float progress
|
|
176
|
+
) {
|
|
177
|
+
RectF visibleFrame = interpolateRect(start.getVisibleFrameInWindow(), end.getVisibleFrameInWindow(), progress);
|
|
178
|
+
RectF contentFrame = interpolateRect(start.getContentFrameInVisibleBounds(), end.getContentFrameInVisibleBounds(), progress);
|
|
179
|
+
return new NativeImagePreviewSharedElementGeometry(visibleFrame, contentFrame);
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
@NonNull
|
|
183
|
+
private RectF interpolateRect(@NonNull RectF start, @NonNull RectF end, float progress) {
|
|
184
|
+
return new RectF(
|
|
185
|
+
lerp(start.left, end.left, progress),
|
|
186
|
+
lerp(start.top, end.top, progress),
|
|
187
|
+
lerp(start.right, end.right, progress),
|
|
188
|
+
lerp(start.bottom, end.bottom, progress)
|
|
189
|
+
);
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
@NonNull
|
|
193
|
+
private NativeImagePreviewSharedElementGeometry frameInContainer(@NonNull NativeImagePreviewSharedElementGeometry geometry) {
|
|
194
|
+
int[] location = new int[2];
|
|
195
|
+
containerView.getLocationOnScreen(location);
|
|
196
|
+
RectF visibleFrame = geometry.getVisibleFrameInWindow();
|
|
197
|
+
visibleFrame.offset(-location[0], -location[1]);
|
|
198
|
+
return new NativeImagePreviewSharedElementGeometry(
|
|
199
|
+
visibleFrame,
|
|
200
|
+
geometry.getContentFrameInVisibleBounds()
|
|
201
|
+
);
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
private float lerp(float start, float end, float progress) {
|
|
205
|
+
return start + (end - start) * progress;
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
private void restoreHiddenSourceView() {
|
|
209
|
+
if (hiddenSourceView == null) {
|
|
210
|
+
return;
|
|
211
|
+
}
|
|
212
|
+
hiddenSourceView.setAlpha(1f);
|
|
213
|
+
hiddenSourceView = null;
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
private void clearSnapshot() {
|
|
217
|
+
if (snapshotView == null) {
|
|
218
|
+
return;
|
|
219
|
+
}
|
|
220
|
+
containerView.removeView(snapshotView);
|
|
221
|
+
snapshotView = null;
|
|
222
|
+
}
|
|
223
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
|
2
|
+
<androidx.media3.ui.PlayerView xmlns:android="http://schemas.android.com/apk/res/android"
|
|
3
|
+
xmlns:app="http://schemas.android.com/apk/res-auto"
|
|
4
|
+
android:layout_width="match_parent"
|
|
5
|
+
android:layout_height="match_parent"
|
|
6
|
+
android:background="@android:color/transparent"
|
|
7
|
+
app:resize_mode="fit"
|
|
8
|
+
app:surface_type="texture_view"
|
|
9
|
+
app:use_controller="true" />
|
package/dist/all.d.ts
CHANGED
|
@@ -30,6 +30,8 @@ export { Radio, RadioGroup, RadioIndicator } from './ui/Radio/index';
|
|
|
30
30
|
export type { RadioColors, RadioGroupAlign, RadioGroupOrientation, RadioGroupProps, RadioIndicatorProps, RadioLabelPlacement, RadioLayout, RadioProps, RadioRef, RadioSize, RadioSlotProps, RadioTone, RadioValue, RadioVariant, } from './ui/Radio/index';
|
|
31
31
|
export { LinkedScroll } from './ui/LinkedScroll/index';
|
|
32
32
|
export type { LinkedScrollChangeMeta, LinkedScrollChangeSource, LinkedScrollItem, LinkedScrollMenuItemRenderContext, LinkedScrollProps, LinkedScrollSectionRenderContext, LinkedScrollValue, } from './ui/LinkedScroll/index';
|
|
33
|
+
export { NativeImagePreview } from './ui/NativeImagePreview/index';
|
|
34
|
+
export type { NativeImagePreviewChangeEvent, NativeImagePreviewChangeEventPayload, NativeImagePreviewChangeMeta, NativeImagePreviewChangeReason, NativeImagePreviewColorScheme, NativeImagePreviewComponent, NativeImagePreviewItem, NativeImagePreviewItemDescriptor, NativeImagePreviewItemProps, NativeImagePreviewMediaType, NativeImagePreviewNativeProps, NativeImagePreviewProps, NativeImagePreviewResolvedItem, NativeImagePreviewResolvedColorScheme, NativeImagePreviewSource, } from './ui/NativeImagePreview/index';
|
|
33
35
|
export { ThemeProvider } from './theme/ThemeProvider';
|
|
34
36
|
export { useTheme } from './theme/useTheme';
|
|
35
37
|
export type { Theme, ThemeOverride } from './theme/types';
|
package/dist/all.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"all.d.ts","sourceRoot":"","sources":["../src/all.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"all.d.ts","sourceRoot":"","sources":["../src/all.ts"],"names":[],"mappings":"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"}
|