Преглед изворни кода

内部h5尝试显示图片时,直接用原生来显示

zengjiebin пре 7 година
родитељ
комит
7d880ea804

+ 4 - 0
app/src/main/AndroidManifest.xml

@@ -413,6 +413,10 @@
             android:theme="@style/AppActionTheme"
             android:screenOrientation="portrait" />
         <activity
+            android:name="com.sheep.gamegroup.view.activity.ActImg"
+            android:theme="@style/AppActionTheme"
+            android:screenOrientation="portrait" />
+        <activity
             android:name="com.sheep.gamegroup.view.activity.ActMyMoney"
             android:theme="@style/AppActionTheme"
             android:screenOrientation="portrait" />

+ 19 - 0
app/src/main/java/com/sheep/gamegroup/util/Jump2View.java

@@ -84,6 +84,7 @@ import com.sheep.gamegroup.view.activity.ActGiftDetail;
 import com.sheep.gamegroup.view.activity.ActGuide;
 import com.sheep.gamegroup.view.activity.ActGuideDeblocked;
 import com.sheep.gamegroup.view.activity.ActGuideOnHook;
+import com.sheep.gamegroup.view.activity.ActImg;
 import com.sheep.gamegroup.view.activity.ActInputAndPickerImg;
 import com.sheep.gamegroup.view.activity.ActInvitation;
 import com.sheep.gamegroup.view.activity.ActLoadH5;
@@ -994,6 +995,13 @@ public class Jump2View {
             }
         }
         webParams.setUrl(url);
+        if(StringUtils.isImageUrl(url)){
+            showImg(context, webParams);
+            return;
+        } else if(StringUtils.isVideoUrl(url)){
+            goActPlayVideo(url, true);
+            return;
+        }
         Intent intent = new Intent(context, ActWebX5.class);
         intent.putExtra(WebParams.class.getSimpleName(), webParams);
         if(webParams.isForResult()){
@@ -1165,6 +1173,17 @@ public class Jump2View {
     }
 
     /**
+     * 显示一张图片
+     *
+     * @param context
+     * @param webParams
+     */
+    public void showImg(Context context, WebParams webParams) {
+        Intent intent = new Intent(context, ActImg.class);
+        intent.putExtra(WebParams.class.getSimpleName(), webParams);
+        context.startActivity(intent);
+    }
+    /**
      * 显示多张图片
      *
      * @param activity

+ 10 - 0
app/src/main/java/com/sheep/gamegroup/util/StringUtils.java

@@ -386,4 +386,14 @@ public class StringUtils {
         Uri uri = Uri.parse(url);
         return uri.getQueryParameter(key);
     }
+
+    //图片url
+    public static boolean isImageUrl(String url) {
+        return url.endsWith(".png") || url.endsWith(".jpg") || url.endsWith(".gif");
+    }
+
+    //视频url
+    public static boolean isVideoUrl(String url) {
+        return url.endsWith(".mp4");
+    }
 }

+ 36 - 0
app/src/main/java/com/sheep/gamegroup/view/activity/ActImg.java

@@ -0,0 +1,36 @@
+package com.sheep.gamegroup.view.activity;
+
+import android.content.Intent;
+import android.widget.ImageView;
+
+import com.sheep.gamegroup.absBase.BaseActivity;
+import com.sheep.gamegroup.model.entity.WebParams;
+import com.sheep.gamegroup.util.ViewUtil;
+import com.sheep.jiuyan.samllsheep.R;
+import com.sheep.jiuyan.samllsheep.utils.TitleBarUtils;
+
+/**
+ * Created by realicing on 2019/1/8.
+ * realicing@sina.com
+ *
+ * 显示一张图片
+ */
+public class ActImg extends BaseActivity {
+    @Override
+    protected int getLayoutId() {
+        return R.layout.act_img;
+    }
+
+    @Override
+    public void initView() {
+        Intent intent = getIntent();
+        WebParams webParams = (WebParams) intent.getSerializableExtra(WebParams.class.getSimpleName());
+
+        TitleBarUtils.getInstance().setShowOrHide(this, true)
+                .setTitle(this, webParams.getTitle())
+                .setTitleFinish(this);
+
+        ImageView imageView = findViewById(R.id.act_img_iv);
+        ViewUtil.setImage(imageView, webParams.getUrl());
+    }
+}

+ 13 - 0
app/src/main/res/layout/act_img.xml

@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+<android.support.v4.widget.NestedScrollView xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:fitsSystemWindows="true">
+
+    <ImageView
+        android:id="@+id/act_img_iv"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:adjustViewBounds="true"
+        android:scaleType="fitXY" />
+</android.support.v4.widget.NestedScrollView>