Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
L
laki_icu_app
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
张宏
laki_icu_app
Commits
dc8a1afb
Commit
dc8a1afb
authored
Jun 24, 2026
by
张宏
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
44444444
parent
b3ee6e80
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
23 additions
and
16 deletions
+23
-16
video_player_widget.dart
lib/views/monitoring/index/widgets/video_player_widget.dart
+21
-14
video_stream_switch.dart
lib/views/monitoring/index/widgets/video_stream_switch.dart
+2
-2
No files found.
lib/views/monitoring/index/widgets/video_player_widget.dart
View file @
dc8a1afb
...
...
@@ -65,15 +65,7 @@ class VideoPlayerWidget extends StatelessWidget {
@override
Widget
build
(
BuildContext
context
)
{
return
ClipRRect
(
child:
Container
(
padding:
EdgeInsets
.
only
(
top:
15
.
h
,
bottom:
35
.
h
,
left:
10
.
w
,
right:
15
.
w
),
decoration:
BoxDecoration
(
image:
const
DecorationImage
(
image:
AssetImage
(
'lib/assets/monitoring/box_border.png'
),
fit:
BoxFit
.
fill
,
),
// border: Border.all(color: Colors.red, width: 1),
),
// padding: EdgeInsets.only(top: 15.h,bottom: 35.h,left: 10.w,right: 15.w),
child:
Stack
(
fit:
StackFit
.
expand
,
children:
[
...
...
@@ -81,14 +73,29 @@ class VideoPlayerWidget extends StatelessWidget {
_buildVideoLayer
(),
// 状态指示层
_buildStatusOverlay
(),
Container
(
decoration:
BoxDecoration
(
border:
Border
.
all
(
color:
Color
(
0xFF010B1D
),
width:
10
.
w
),
),
),
// 边框图片层(中间层,保证按钮可点)
const
Positioned
.
fill
(
child:
Image
(
image:
AssetImage
(
'lib/assets/monitoring/box_border.png'
),
fit:
BoxFit
.
fill
,
),
),
// 模式切换按钮(右下角倒数第二个位置)
if
(
onToggleMode
!=
null
&&
!
isSwitchingMode
)
_buildToggleModeButton
(),
// 全屏按钮(右下角最后一个位置)
if
(
_isVideoShowing
)
_buildFullscreenButton
(
context
),
],
),
),
);
}
...
...
@@ -224,7 +231,7 @@ class VideoPlayerWidget extends StatelessWidget {
/// 全屏按钮(右下角)
Widget
_buildFullscreenButton
(
BuildContext
context
)
{
return
Positioned
(
right:
1
2
.
w
,
right:
4
2
.
w
,
bottom:
12
.
h
,
child:
GestureDetector
(
onTap:
()
{
...
...
@@ -239,8 +246,8 @@ class VideoPlayerWidget extends StatelessWidget {
);
},
child:
Container
(
width:
4
0
.
w
,
height:
4
0
.
w
,
width:
6
0
.
w
,
height:
6
0
.
w
,
decoration:
BoxDecoration
(
color:
Colors
.
black38
,
borderRadius:
BorderRadius
.
circular
(
8
.
r
),
...
...
@@ -258,7 +265,7 @@ class VideoPlayerWidget extends StatelessWidget {
/// 模式切换按钮(全屏按钮左侧 8px 间距)
Widget
_buildToggleModeButton
()
{
return
Positioned
(
right:
12
.
w
+
40
.
w
+
8
.
w
,
right:
12
.
w
+
40
.
w
+
6
8
.
w
,
bottom:
12
.
h
,
child:
VideoStreamSwitch
(
currentMode:
streamMode
,
...
...
lib/views/monitoring/index/widgets/video_stream_switch.dart
View file @
dc8a1afb
...
...
@@ -29,8 +29,8 @@ class VideoStreamSwitch extends StatelessWidget {
return
GestureDetector
(
onTap:
onToggle
,
child:
Container
(
width:
4
0
.
w
,
height:
4
0
.
w
,
width:
6
0
.
w
,
height:
6
0
.
w
,
decoration:
BoxDecoration
(
color:
isP2p
?
const
Color
(
0xFF3A87FF
).
withValues
(
alpha:
0.6
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment