Skip to content
Toggle navigation
Toggle navigation
This project
Loading...
Sign in
ethan
/
appframe
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Network
Compare
Branches
Tags
Commit bc0457d7
authored
2026-06-26 16:06:52 +0800
by
tanghuan
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
优化 setScreen 指令
1 parent
0bdaccb0
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
15 additions
and
2 deletions
lib/data/repositories/message/screen_handler.dart
lib/data/repositories/message/screen_handler.dart
View file @
bc0457d
...
...
@@ -2,6 +2,9 @@ import 'package:appframe/services/dispatcher.dart';
import
'package:flutter/services.dart'
hide
MessageHandler
;
class
ScreenHandler
extends
MessageHandler
{
/// 是否处于横屏全屏状态
bool
_isLandscape
=
false
;
@override
Future
<
dynamic
>
handleMessage
(
dynamic
params
)
async
{
if
(
params
is
!
Map
<
String
,
dynamic
>)
{
...
...
@@ -17,20 +20,30 @@ class ScreenHandler extends MessageHandler {
Future
<
void
>
_setOrientation
(
int
screenType
)
async
{
if
(
screenType
==
2
)
{
// 横屏模式
_isLandscape
=
true
;
await
SystemChrome
.
setPreferredOrientations
([
DeviceOrientation
.
landscapeLeft
,
DeviceOrientation
.
landscapeRight
,
]);
// 隐藏状态栏
await
SystemChrome
.
setEnabledSystemUIMode
(
SystemUiMode
.
immersive
);
// 隐藏状态栏(immersiveSticky:短暂显示后自动隐藏)
await
SystemChrome
.
setEnabledSystemUIMode
(
SystemUiMode
.
immersiveSticky
);
// 监听系统UI变化,用户滑动唤出状态栏后立即重新隐藏
SystemChrome
.
setSystemUIChangeCallback
((
isSystemUIDefaultVisible
)
async
{
if
(
_isLandscape
&&
isSystemUIDefaultVisible
)
{
await
SystemChrome
.
setEnabledSystemUIMode
(
SystemUiMode
.
immersiveSticky
);
}
});
}
else
{
// 竖屏模式(默认)
_isLandscape
=
false
;
await
SystemChrome
.
setPreferredOrientations
([
DeviceOrientation
.
portraitUp
,
DeviceOrientation
.
portraitDown
,
]);
// 显示状态栏
await
SystemChrome
.
setEnabledSystemUIMode
(
SystemUiMode
.
edgeToEdge
);
// 移除系统UI变化监听
SystemChrome
.
setSystemUIChangeCallback
(
null
);
}
}
}
Write
Preview
Styling with
Markdown
is supported
Attach a file
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 post a comment