[Update]优化摄像头直播交互、UI
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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() {
|
||||
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
@@ -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
|
||||
|
||||
@@ -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));
|
||||
|
||||
@@ -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">
|
||||
|
||||
|
||||
Reference in New Issue
Block a user