[Update]优化摄像头直播交互、UI

This commit is contained in:
chenfufeng
2022-07-26 16:14:34 +08:00
parent ab4a807c59
commit 1d1916da02
29 changed files with 105 additions and 1249 deletions

View File

@@ -74,6 +74,7 @@ dependencies {
implementation rootProject.ext.dependencies.mogoami
implementation rootProject.ext.dependencies.android_start_up
implementation rootProject.ext.dependencies.cicle_indicator
if (Boolean.valueOf(USE_MAVEN_PACKAGE)) {
api rootProject.ext.dependencies.mogoaicloudservicesdk
api rootProject.ext.dependencies.mogocommons

View File

@@ -1,7 +1,6 @@
package com.mogo.eagle.core.function.hmi.ui.camera
import android.content.Context
import android.graphics.Color
import android.graphics.PorterDuff
import android.graphics.PorterDuffColorFilter
import android.view.View
@@ -13,9 +12,6 @@ import com.mogo.eagle.core.function.hmi.R
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant
import com.mogo.eagle.core.utilcode.util.ToastUtils
import com.mogo.eagle.core.widget.indicator.enums.IndicatorOrientation
import com.mogo.eagle.core.widget.indicator.enums.IndicatorSlideMode
import com.mogo.eagle.core.widget.indicator.enums.IndicatorStyle
import com.mogo.eagle.core.widget.media.video.SimpleVideoPlayer
import com.mogo.module.common.dialog.BaseFloatDialog
import com.shuyu.gsyvideoplayer.GSYVideoManager
@@ -25,7 +21,6 @@ import com.shuyu.gsyvideoplayer.player.IjkPlayerManager
import com.shuyu.gsyvideoplayer.player.PlayerFactory
import com.shuyu.gsyvideoplayer.utils.GSYVideoType
import kotlinx.android.synthetic.main.road_video_dialog.*
import kotlinx.android.synthetic.main.view_camera_list.view.*
import tv.danmaku.ijk.media.player.IjkMediaPlayer
@@ -37,8 +32,6 @@ class RoadVideoDialog(context: Context) : BaseFloatDialog(context), LifecycleObs
private val TAG = "RoadVideoDialog"
private var mVideoUrl: String = ""
private val gsyVideoOptionBuilder by lazy {
GSYVideoOptionBuilder()
}
@@ -56,14 +49,14 @@ class RoadVideoDialog(context: Context) : BaseFloatDialog(context), LifecycleObs
PorterDuff.Mode.MULTIPLY
)
setCanceledOnTouchOutside(false)
roundLayout.setScrollListener { is2Left ->
roundLayout.setScrollListener { isNextPage ->
/**
* 如果画面向左滚动
*/
val calIndex = if (is2Left) {
curPlayIndex - 1
} else {
val calIndex = if (isNextPage) {
curPlayIndex + 1
} else {
curPlayIndex - 1
}
// 检查数组越界
if (calIndex >= 0 && calIndex < infList.size) {
@@ -71,8 +64,7 @@ class RoadVideoDialog(context: Context) : BaseFloatDialog(context), LifecycleObs
infList[curPlayIndex].ip?.let {
playVideo(it)
}
indicatorView.onPageScrolled(calIndex, 0f, 0)
indicatorView.onPageSelected(calIndex)
indicatorView.animatePageSelected(calIndex)
}
}
roadVideoClose.setOnClickListener {
@@ -109,17 +101,8 @@ class RoadVideoDialog(context: Context) : BaseFloatDialog(context), LifecycleObs
}
private fun initIndicatorView() {
indicatorView.notifyDataChanged(infList.size)
indicatorView.setSlideMode(IndicatorSlideMode.SCALE)
indicatorView.setOrientation(IndicatorOrientation.INDICATOR_HORIZONTAL)
indicatorView.setIndicatorStyle(IndicatorStyle.ROUND_RECT)
indicatorView.setSliderColor(
Color.parseColor("#FFFFFF"), Color.parseColor("#26C5FD"),
Color.parseColor("#26C5FD")
)
indicatorView.setSliderWidth(9f, 54f)
indicatorView.setSliderHeight(9f)
indicatorView.setSliderGap(36f)
curPlayIndex = 0
indicatorView.createIndicators(infList.size, curPlayIndex)
}
private fun initVideoPlayer() {

View File

@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval"
>
<size android:width="16px" android:height="16px" />
<gradient android:startColor="#2972FF" android:endColor="#27C8FF" />
</shape>

View File

@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval"
>
<size android:width="16px" android:height="16px" />
<solid android:color="#80FFFFFF" />
</shape>

View File

@@ -27,22 +27,34 @@
android:visibility="visible"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/tvCameraDesc"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
android:layout_marginStart="61px"
android:layout_marginBottom="49px"
android:textColor="@color/v2x_white"
android:textSize="42px"
android:visibility="gone"
/>
</com.mogo.eagle.core.widget.RoundConstraintLayout>
<com.mogo.eagle.core.widget.indicator.IndicatorView
<me.relex.circleindicator.CircleIndicator
android:id="@+id/indicatorView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:vpi_orientation="horizontal"
app:vpi_slide_mode="scale"
app:vpi_slider_checked_color="@color/hmi_traffic_light_red_color_up"
app:vpi_slider_normal_color="@color/hmi_check_keyboard_input_field"
app:vpi_slider_radius="@dimen/dp_20"
app:vpi_style="round_rect"
android:layout_width="1736px"
android:layout_height="32px"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@id/roundLayout"
android:layout_marginTop="60px"
app:ci_drawable="@drawable/indicator_selected_bg"
app:ci_width="16px"
app:ci_height="16px"
app:ci_gravity="center"
app:ci_drawable_unselected="@drawable/indicator_unselected_bg"
/>
<androidx.core.widget.ContentLoadingProgressBar

View File

@@ -783,8 +783,8 @@ public class AMapCustomView
MakerWithCount marker = new MakerWithCount(getContext());
marker.setCount(count);
marker.measure(View.MeasureSpec.makeMeasureSpec(110, View.MeasureSpec.EXACTLY),
View.MeasureSpec.makeMeasureSpec(108, View.MeasureSpec.EXACTLY));
marker.measure(View.MeasureSpec.makeMeasureSpec(116, View.MeasureSpec.EXACTLY),
View.MeasureSpec.makeMeasureSpec(116, View.MeasureSpec.EXACTLY));
marker.layout(0, 0, marker.getMeasuredWidth(), marker.getMeasuredHeight());
Bitmap bitmap = Bitmap.createBitmap(marker.getWidth(), marker.getHeight(), Bitmap.Config.ARGB_8888);
marker.draw(new Canvas(bitmap));

View File

@@ -4,6 +4,7 @@
android:layout_height="wrap_content"
android:maxWidth="108px"
android:maxHeight="108px"
android:padding="2px"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto">