Commit d56bc607611c4b573f2c233cddbe5e643beccab8
1 parent
416cacce
全屏预览启动退出动画优化
Showing
5 changed files
with
44 additions
and
10 deletions
app/strike/src/main/java/com/cnlive/strike/imgutil/ImgActivity.java
| @@ -140,7 +140,7 @@ public class ImgActivity extends AppCompatActivity { | @@ -140,7 +140,7 @@ public class ImgActivity extends AppCompatActivity { | ||
| 140 | 140 | ||
| 141 | 141 | ||
| 142 | data.setShowImg(URL1); | 142 | data.setShowImg(URL1); |
| 143 | - iv_test1.setOnClickListener(view -> PreviewImageViewActivity.startPreviewPictrue(this, view, data)); | 143 | +// iv_test1.setOnClickListener(view -> PreviewImageViewActivity.startPreviewPictrue(this, view, data)); |
| 144 | 144 | ||
| 145 | // LoadImage.with(this) | 145 | // LoadImage.with(this) |
| 146 | // .url(URL1) | 146 | // .url(URL1) |
core/base/src/main/res/anim/preview_fade_in.xml
0 → 100644
| 1 | +<?xml version="1.0" encoding="utf-8"?> | ||
| 2 | + | ||
| 3 | +<alpha xmlns:android="http://schemas.android.com/apk/res/android" | ||
| 4 | + android:duration="@android:integer/config_longAnimTime" | ||
| 5 | + android:fromAlpha="0.0" | ||
| 6 | + android:interpolator="@android:anim/decelerate_interpolator" | ||
| 7 | + android:toAlpha="1.0" /> | ||
| 0 | \ No newline at end of file | 8 | \ No newline at end of file |
core/imageload/src/main/AndroidManifest.xml
| @@ -3,7 +3,11 @@ | @@ -3,7 +3,11 @@ | ||
| 3 | package="com.cnlive.core.imageload"> | 3 | package="com.cnlive.core.imageload"> |
| 4 | 4 | ||
| 5 | <application> | 5 | <application> |
| 6 | - <activity android:name="com.cnlive.core.activity.PreviewImageActivity"></activity> | 6 | + <activity android:name="com.cnlive.core.activity.PreviewImageActivity" |
| 7 | + android:configChanges="keyboardHidden|screenSize|smallestScreenSize|screenLayout|orientation" | ||
| 8 | + android:launchMode="singleTop" | ||
| 9 | + android:theme="@style/PreviewTheme"/> | ||
| 10 | + | ||
| 7 | <activity | 11 | <activity |
| 8 | android:name=".preview.PreviewImageViewActivity" | 12 | android:name=".preview.PreviewImageViewActivity" |
| 9 | android:configChanges="keyboardHidden|screenSize|smallestScreenSize|screenLayout|orientation" | 13 | android:configChanges="keyboardHidden|screenSize|smallestScreenSize|screenLayout|orientation" |
core/imageload/src/main/java/com/cnlive/core/activity/PreviewImageActivity.java
| @@ -6,11 +6,11 @@ import com.alibaba.android.arouter.facade.annotation.Route; | @@ -6,11 +6,11 @@ import com.alibaba.android.arouter.facade.annotation.Route; | ||
| 6 | import com.cnlive.core.imageload.R; | 6 | import com.cnlive.core.imageload.R; |
| 7 | import com.cnlive.core.imagepreview.ImagePreView; | 7 | import com.cnlive.core.imagepreview.ImagePreView; |
| 8 | import com.cnlive.core.imagepreview.PhotoLoader; | 8 | import com.cnlive.core.imagepreview.PhotoLoader; |
| 9 | +import com.cnlive.core.imagepreview.ViewerStatus; | ||
| 9 | import com.cnlive.core.imagepreview.listener.OnItemClickListener; | 10 | import com.cnlive.core.imagepreview.listener.OnItemClickListener; |
| 10 | import com.cnlive.core.libs.base.frame.activity.BaseActivity; | 11 | import com.cnlive.core.libs.base.frame.activity.BaseActivity; |
| 11 | 12 | ||
| 12 | import java.util.ArrayList; | 13 | import java.util.ArrayList; |
| 13 | -import java.util.Arrays; | ||
| 14 | import java.util.List; | 14 | import java.util.List; |
| 15 | 15 | ||
| 16 | @Route(path = "/preview/PreviewImageActivity") | 16 | @Route(path = "/preview/PreviewImageActivity") |
| @@ -28,15 +28,11 @@ public class PreviewImageActivity extends BaseActivity { | @@ -28,15 +28,11 @@ public class PreviewImageActivity extends BaseActivity { | ||
| 28 | @Override | 28 | @Override |
| 29 | protected void initView() { | 29 | protected void initView() { |
| 30 | preView = findViewById(R.id.image_pre); | 30 | preView = findViewById(R.id.image_pre); |
| 31 | - //设置为黑色预览 | ||
| 32 | - setStatusBarColor(R.color.black,0); | ||
| 33 | - | ||
| 34 | list = getIntent().getStringArrayListExtra("paths"); | 31 | list = getIntent().getStringArrayListExtra("paths"); |
| 35 | 32 | ||
| 36 | - | ||
| 37 | -// list.add("https://b-ssl.duitang.com/uploads/item/201706/30/20170630181644_j4mh5.jpeg"); | ||
| 38 | preView.overlayStatusBar(false) | 33 | preView.overlayStatusBar(false) |
| 39 | .imageData(list) | 34 | .imageData(list) |
| 35 | + .playExitAnim(false) | ||
| 40 | .imageLoader(new PhotoLoader()); | 36 | .imageLoader(new PhotoLoader()); |
| 41 | 37 | ||
| 42 | preView.watch(0); | 38 | preView.watch(0); |
| @@ -44,10 +40,25 @@ public class PreviewImageActivity extends BaseActivity { | @@ -44,10 +40,25 @@ public class PreviewImageActivity extends BaseActivity { | ||
| 44 | @Override | 40 | @Override |
| 45 | public boolean onItemClick(int position, ImageView imageView) { | 41 | public boolean onItemClick(int position, ImageView imageView) { |
| 46 | finish(); | 42 | finish(); |
| 47 | - return false; | 43 | + overridePendingTransition(R.anim.preview_fade_in, R.anim.preview_fade_out); |
| 44 | + return true; | ||
| 48 | } | 45 | } |
| 49 | }); | 46 | }); |
| 47 | + } | ||
| 50 | 48 | ||
| 51 | -// preView.getCurrentItem().getImageView().setOnClickListener(view -> finish()); | 49 | + @Override |
| 50 | + public void onBackPressed() { | ||
| 51 | + if(!isFinishing()) { | ||
| 52 | + finish(); | ||
| 53 | + overridePendingTransition(R.anim.preview_fade_in, R.anim.preview_fade_out); | ||
| 54 | + } | ||
| 55 | + } | ||
| 56 | + | ||
| 57 | + @Override | ||
| 58 | + protected void onDestroy() { | ||
| 59 | + super.onDestroy(); | ||
| 60 | + if(preView != null && preView.getViewStatus() == ViewerStatus.STATUS_WATCHING){ | ||
| 61 | + preView.cancel(); | ||
| 62 | + } | ||
| 52 | } | 63 | } |
| 53 | } | 64 | } |
core/imageload/src/main/res/values/style.xml
| @@ -39,4 +39,16 @@ | @@ -39,4 +39,16 @@ | ||
| 39 | <item name="android:windowCloseOnTouchOutside">false</item> | 39 | <item name="android:windowCloseOnTouchOutside">false</item> |
| 40 | </style> | 40 | </style> |
| 41 | 41 | ||
| 42 | + | ||
| 43 | + <style name="ActivityInOutAnimation" parent="android:style/Animation.Activity"> | ||
| 44 | + <item name="android:activityOpenEnterAnimation">@anim/preview_fade_in</item> | ||
| 45 | + <item name="android:activityCloseExitAnimation">@anim/preview_fade_out</item> | ||
| 46 | + </style> | ||
| 47 | + | ||
| 48 | + <style name="PreviewTheme" parent="Theme.AppCompat.NoActionBar"> | ||
| 49 | + <item name="android:windowActionBar">false</item> | ||
| 50 | + <item name="android:windowNoTitle">true</item> | ||
| 51 | + <item name="android:windowIsTranslucent">true</item> | ||
| 52 | + <item name="android:windowAnimationStyle">@style/ActivityInOutAnimation</item> | ||
| 53 | + </style> | ||
| 42 | </resources> | 54 | </resources> |
| 43 | \ No newline at end of file | 55 | \ No newline at end of file |