悬浮窗视频调整,主播离开下滑直播间离开画面不消失问题修复

This commit is contained in:
18401019693
2022-11-29 14:34:23 +08:00
parent 744de267dd
commit cf4948a3e2
6 changed files with 114 additions and 18 deletions

View File

@@ -73,8 +73,8 @@ public class LiveFloatView implements Function1<FloatCallbacks.Builder, Unit> {
CardView layout = magnetView.findViewById(R.id.layout);
RelativeLayout.LayoutParams cardParams = (RelativeLayout.LayoutParams) layout.getLayoutParams();
if (mLiveBean.getLandscape() == 1) {
cardParams.height = DpUtil.dp2px(130);
cardParams.width = DpUtil.dp2px(230);
cardParams.height = DpUtil.dp2px(190);
cardParams.width = DpUtil.dp2px(255);
} else {
cardParams.height = DpUtil.dp2px(224);
cardParams.width = DpUtil.dp2px(126);
@@ -91,8 +91,8 @@ public class LiveFloatView implements Function1<FloatCallbacks.Builder, Unit> {
Log.e("视频流有", "videoWidth:" + videoWidth + " videoHeight:" + videoHeight);
if (mLiveBean.getLandscape() != 1){
if (videoWidth > 720) {
cardParams.height = DpUtil.dp2px(130);
cardParams.width = DpUtil.dp2px(230);
cardParams.height = DpUtil.dp2px(190);
cardParams.width = DpUtil.dp2px(255);
} else {
cardParams.height = DpUtil.dp2px(224);
cardParams.width = DpUtil.dp2px(126);
@@ -206,8 +206,8 @@ public class LiveFloatView implements Function1<FloatCallbacks.Builder, Unit> {
CardView layout = view.findViewById(R.id.layout);
RelativeLayout.LayoutParams cardParams = (RelativeLayout.LayoutParams) layout.getLayoutParams();
if (mLiveBean.getLandscape() == 1) {
cardParams.height = DpUtil.dp2px(130);
cardParams.width = DpUtil.dp2px(230);
cardParams.height = DpUtil.dp2px(190);
cardParams.width = DpUtil.dp2px(255);
} else {
cardParams.height = DpUtil.dp2px(224);
cardParams.width = DpUtil.dp2px(126);
@@ -224,8 +224,8 @@ public class LiveFloatView implements Function1<FloatCallbacks.Builder, Unit> {
Log.e("视频流有", "videoWidth:" + videoWidth + " videoHeight:" + videoHeight);
if (mLiveBean.getLandscape() != 1){
if (videoWidth > 720) {
cardParams.height = DpUtil.dp2px(130);
cardParams.width = DpUtil.dp2px(230);
cardParams.height = DpUtil.dp2px(190);
cardParams.width = DpUtil.dp2px(255);
} else {
cardParams.height = DpUtil.dp2px(224);
cardParams.width = DpUtil.dp2px(126);

View File

@@ -0,0 +1,68 @@
package com.yunbao.common.views.weight;
import android.app.Activity;
import android.graphics.drawable.AnimationDrawable;
import android.view.Gravity;
import android.view.View;
import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.RelativeLayout;
import com.lzf.easyfloat.EasyFloat;
import com.lzf.easyfloat.enums.ShowPattern;
import com.lzf.easyfloat.interfaces.FloatCallbacks;
import com.lzf.easyfloat.interfaces.OnInvokeView;
import com.yunbao.common.R;
import com.yunbao.common.glide.ImgLoader;
import com.yunbao.common.utils.DeviceUtils;
import kotlin.Unit;
import kotlin.jvm.functions.Function1;
public class LiveLoadingViewHolder implements Function1<FloatCallbacks.Builder, Unit> {
private String TAG = "LiveLoadingViewHolder";
private Activity mContext;
private String url;
public void builderSystemFloat(Activity mContext, String url) {
this.mContext = mContext;
this.url = url;
EasyFloat.with(mContext)
.setTag(TAG)
.setLayout(R.layout.layout_portrait_live_item, new LiveOnInvokeView())
.setShowPattern(ShowPattern.CURRENT_ACTIVITY)
.setFilter()
.setGravity(Gravity.CENTER)
.setAnimator(null)
.setMatchParent(true,true)
.registerCallback(this)
.show();
}
/**
* loading
*/
private class LiveOnInvokeView implements OnInvokeView {
@Override
public void invoke(View view) {
RelativeLayout layout = view.findViewById(R.id.layout);
FrameLayout.LayoutParams cardParams = (FrameLayout.LayoutParams) layout.getLayoutParams();
cardParams.width = DeviceUtils.getScreenWidth(mContext);
cardParams.height = DeviceUtils.getScreenHeight(mContext);
layout.setLayoutParams(cardParams);
ImageView ivBg = view.findViewById(R.id.iv_bg);
ImgLoader.displayBlurLive(mContext, url, ivBg);
// 加载动画
ImageView ivLoading = view.findViewById(R.id.iv_loading);
AnimationDrawable frameAnimation = (AnimationDrawable) ivLoading.getBackground();
frameAnimation.start();
}
}
@Override
public Unit invoke(FloatCallbacks.Builder builder) {
return null;
}
}

View File

@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/layout"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:id="@+id/iv_bg"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="centerCrop"
android:src="@mipmap/live_bg" />
<ImageView
android:id="@+id/iv_loading"
android:layout_width="150dp"
android:layout_height="188dp"
android:layout_centerInParent="true"
android:background="@drawable/loading_animation" />
</RelativeLayout>