Commit d56bc607611c4b573f2c233cddbe5e643beccab8

Authored by 韩亚云
1 parent 416cacce

全屏预览启动退出动画优化

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