diff --git a/app/build.gradle b/app/build.gradle index 5e2c0194f..f08e1af4f 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -269,6 +269,7 @@ dependencies { } api 'com.tencent.vasdolly:helper:3.0.3' + implementation "io.github.tencent:vap:2.0.24" } String storageUrl = System.env.FLUTTER_STORAGE_BASE_URL ?: "https://storage.googleapis.com" diff --git a/app/src/main/java/com/yizhuan/erban/ui/setting/LabActivity.java b/app/src/main/java/com/yizhuan/erban/ui/setting/LabActivity.java index 2cea24a68..a74f6ca14 100644 --- a/app/src/main/java/com/yizhuan/erban/ui/setting/LabActivity.java +++ b/app/src/main/java/com/yizhuan/erban/ui/setting/LabActivity.java @@ -8,12 +8,10 @@ import android.widget.RadioGroup; import com.idlefish.flutterboost.FlutterBoost; import com.yizhuan.erban.R; import com.yizhuan.erban.base.BaseActivity; -import com.yizhuan.erban.ui.webview.CommonWebViewActivity; +import com.yizhuan.erban.ui.utils.ImageLoadUtils; import com.yizhuan.xchat_android_core.DemoCache; import com.yizhuan.xchat_android_core.Env; import com.yizhuan.xchat_android_core.auth.AuthModel; -import com.yizhuan.xchat_android_library.utils.config.BasicConfig; -import com.yizhuan.xchat_android_library.utils.pref.CommonPref; import java.util.ArrayList; @@ -27,12 +25,13 @@ public class LabActivity extends BaseActivity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_lab); - //h5测试地址 - findViewById(R.id.rb_h5_test).setOnClickListener(v -> CommonWebViewActivity.start(context, "http://192.168.10.7:5503/")); - //vue测试地址 - findViewById(R.id.rb_vue_test).setOnClickListener(v -> CommonWebViewActivity.start(context, "http://192.168.10.7:8080/")); findViewById(R.id.rb_flutter_test).setOnClickListener(v -> FlutterBoost.instance().open("/", null)); - int enviroment = CommonPref.instance(BasicConfig.INSTANCE.getAppContext()).getInt(Env.KEY_ENVIRONMENT); + findViewById(R.id.rb_vap_test).setOnClickListener(v -> + ImageLoadUtils.loadVAP( + findViewById(R.id.anim_vap_test), + "http://img.uat.lecheng163.com/mask_trunk_demo.mp4") + ); + //根据ID找到RadioGroup实例 RadioGroup group = (RadioGroup) this.findViewById(R.id.radioGroup); RadioButton rbRelease = (RadioButton) findViewById(R.id.rb_release); diff --git a/app/src/main/java/com/yizhuan/erban/ui/utils/ImageLoadUtils.java b/app/src/main/java/com/yizhuan/erban/ui/utils/ImageLoadUtils.java index 4721d5aef..689b77e15 100644 --- a/app/src/main/java/com/yizhuan/erban/ui/utils/ImageLoadUtils.java +++ b/app/src/main/java/com/yizhuan/erban/ui/utils/ImageLoadUtils.java @@ -4,6 +4,7 @@ import android.content.Context; import android.graphics.drawable.Drawable; import androidx.annotation.DrawableRes; +import androidx.annotation.NonNull; import androidx.annotation.Nullable; import android.text.TextUtils; @@ -18,17 +19,28 @@ import com.bumptech.glide.load.resource.bitmap.CenterCrop; import com.bumptech.glide.load.resource.bitmap.CircleCrop; import com.bumptech.glide.load.resource.bitmap.RoundedCorners; import com.bumptech.glide.request.RequestListener; +import com.bumptech.glide.request.target.CustomTarget; +import com.bumptech.glide.request.target.CustomViewTarget; import com.bumptech.glide.request.target.SimpleTarget; import com.bumptech.glide.request.target.Target; +import com.bumptech.glide.request.target.ViewTarget; import com.bumptech.glide.request.transition.Transition; import com.netease.nim.uikit.common.util.string.StringUtil; import com.netease.nim.uikit.support.glide.GlideApp; +import com.tencent.qgame.animplayer.AnimConfig; +import com.tencent.qgame.animplayer.AnimView; +import com.tencent.qgame.animplayer.inter.IAnimListener; +import com.tencent.qgame.animplayer.util.ScaleType; import com.yizhuan.erban.R; import com.yizhuan.erban.ui.widget.magicindicator.buildins.UIUtil; import com.yizhuan.erban.utils.BlurTransformation; +import com.yizhuan.xchat_android_core.utils.LogUtils; import com.yizhuan.xchat_android_core.utils.SystemUtils; +import com.yizhuan.xchat_android_library.utils.codec.MD5Utils; import java.io.File; +import java.io.IOException; +import java.util.concurrent.ExecutionException; import io.reactivex.Single; @@ -504,4 +516,37 @@ public class ImageLoadUtils { return getCustomSizeUrl(url, 150); } + /** + * 加载VAP动画 + * test url http://img.uat.lecheng163.com/mask_trunk_demo.mp4 + * + * @param animView + * @param vapUrl + */ + public static void loadVAP(AnimView animView, String vapUrl) { + GlideApp.with(animView) + .asFile() + .dontTransform() + .load(vapUrl) + .into(new CustomTarget() { + @Override + public void onResourceReady(@NonNull File resource, @Nullable Transition transition) { + animView.setScaleType(ScaleType.FIT_CENTER); + animView.startPlay(resource); + } + + @Override + public void onLoadCleared(@Nullable Drawable placeholder) { + + } + + @Override + public void onLoadFailed(@Nullable Drawable errorDrawable) { + super.onLoadFailed(errorDrawable); + LogUtils.d("onLoadFailed"); + } + }); + + } + } diff --git a/app/src/main/res/layout/activity_lab.xml b/app/src/main/res/layout/activity_lab.xml index 8296d370e..d5271b33f 100644 --- a/app/src/main/res/layout/activity_lab.xml +++ b/app/src/main/res/layout/activity_lab.xml @@ -1,75 +1,76 @@ - + - + - + - + android:contentDescription="性别"> - + - + + - + - + + + + + + - - - \ No newline at end of file + android:layout_height="match_parent" /> + +