Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Y
YGOMobile-Cn-Ko-En
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Packages
Packages
List
Container Registry
Analytics
Analytics
CI / CD
Code Review
Insights
Issues
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
fallenstardust
YGOMobile-Cn-Ko-En
Commits
8a9d8afd
Commit
8a9d8afd
authored
Oct 11, 2019
by
kenan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
沉浸模式修复
parent
0a2b63d4
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
55 additions
and
80 deletions
+55
-80
gradle.properties
gradle.properties
+2
-1
libcore/src/main/java/cn/garymb/ygomobile/YGOMobileActivity.java
.../src/main/java/cn/garymb/ygomobile/YGOMobileActivity.java
+53
-24
libcore/src/main/java/cn/garymb/ygomobile/utils/FullScreenUtils.java
.../main/java/cn/garymb/ygomobile/utils/FullScreenUtils.java
+0
-55
No files found.
gradle.properties
View file @
8a9d8afd
...
...
@@ -17,4 +17,5 @@ org.gradle.jvmargs=-Xmx1024m
# org.gradle.parallel=true
#android.useDeprecatedNdk=true
android.useAndroidX
=
true
android.enableJetifier
=
true
\ No newline at end of file
android.enableJetifier
=
true
android.injected.testOnly
=
false
\ No newline at end of file
libcore/src/main/java/cn/garymb/ygomobile/YGOMobileActivity.java
View file @
8a9d8afd
...
...
@@ -33,7 +33,6 @@ import cn.garymb.ygodata.YGOGameOptions;
import
cn.garymb.ygomobile.controller.NetworkController
;
import
cn.garymb.ygomobile.core.IrrlichtBridge
;
import
cn.garymb.ygomobile.lib.R
;
import
cn.garymb.ygomobile.utils.FullScreenUtils
;
import
cn.garymb.ygomobile.utils.SignUtils
;
import
cn.garymb.ygomobile.widget.ComboBoxCompat
;
import
cn.garymb.ygomobile.widget.EditWindowCompat
;
...
...
@@ -57,14 +56,32 @@ public class YGOMobileActivity extends NativeActivity implements
private
static
final
int
CHAIN_CONTROL_PANEL_X_POSITION_LEFT_EDGE
=
205
;
private
static
final
int
CHAIN_CONTROL_PANEL_Y_REVERT_POSITION
=
100
;
private
static
final
int
MAX_REFRESH
=
30
*
1000
;
protected
final
int
windowsFlags
=
Build
.
VERSION
.
SDK_INT
>=
19
?
(
View
.
SYSTEM_UI_FLAG_LAYOUT_STABLE
|
View
.
SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
|
View
.
SYSTEM_UI_FLAG_HIDE_NAVIGATION
|
View
.
SYSTEM_UI_FLAG_FULLSCREEN
|
View
.
SYSTEM_UI_FLAG_IMMERSIVE_STICKY
)
:
View
.
SYSTEM_UI_FLAG_LOW_PROFILE
;
/**
* 沉浸全屏模式
*/
private
static
final
int
windowsFlags
;
/**
* 非沉浸全屏模式
*/
private
static
final
int
windowsFlags2
;
static
{
if
(
Build
.
VERSION
.
SDK_INT
>=
Build
.
VERSION_CODES
.
KITKAT
)
{
windowsFlags
=
View
.
SYSTEM_UI_FLAG_LAYOUT_STABLE
/* 系统UI变化不触发relayout */
|
View
.
SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
/* 导航栏悬浮在布局上面 */
|
View
.
SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
/* 状态栏悬浮在布局上面 */
|
View
.
SYSTEM_UI_FLAG_HIDE_NAVIGATION
/* 隐藏导航栏 */
|
View
.
SYSTEM_UI_FLAG_FULLSCREEN
/* 隐藏状态栏 */
|
View
.
SYSTEM_UI_FLAG_IMMERSIVE_STICKY
/* 沉浸模式 */
;
windowsFlags2
=
View
.
SYSTEM_UI_FLAG_LAYOUT_STABLE
/* 系统UI变化不触发relayout */
|
View
.
SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
/* 隐藏导航栏 */
|
View
.
SYSTEM_UI_FLAG_HIDE_NAVIGATION
/* 隐藏状态栏 */
|
View
.
SYSTEM_UI_FLAG_FULLSCREEN
;
}
else
{
windowsFlags
=
View
.
SYSTEM_UI_FLAG_FULLSCREEN
|
View
.
SYSTEM_UI_FLAG_LOW_PROFILE
;
windowsFlags2
=
View
.
SYSTEM_UI_FLAG_FULLSCREEN
|
View
.
SYSTEM_UI_FLAG_LOW_PROFILE
;
}
}
protected
View
mContentView
;
protected
ComboBoxCompat
mGlobalComboBox
;
...
...
@@ -79,7 +96,6 @@ public class YGOMobileActivity extends NativeActivity implements
private
static
int
sChainControlYPostion
=
-
1
;
private
GameApplication
mApp
;
private
Handler
handler
=
new
Handler
();
private
FullScreenUtils
mFullScreenUtils
;
private
volatile
int
mPositionX
,
mPositionY
;
private
FrameLayout
mLayout
;
private
SurfaceView
mSurfaceView
;
...
...
@@ -109,9 +125,7 @@ public class YGOMobileActivity extends NativeActivity implements
if
(
USE_SURFACE
)
{
mSurfaceView
=
new
SurfaceView
(
this
);
}
mFullScreenUtils
=
new
FullScreenUtils
(
this
,
app
().
isImmerSiveMode
());
mFullScreenUtils
.
fullscreen
();
mFullScreenUtils
.
onCreate
();
fullscreen
();
super
.
onCreate
(
savedInstanceState
);
Log
.
e
(
"YGOStarter"
,
"跳转完成"
+
System
.
currentTimeMillis
());
if
(
sChainControlXPostion
<
0
)
{
...
...
@@ -127,6 +141,17 @@ public class YGOMobileActivity extends NativeActivity implements
sendBroadcast
(
new
Intent
(
ACTION_START
)
.
putExtra
(
IrrlichtBridge
.
EXTRA_PID
,
android
.
os
.
Process
.
myPid
())
.
setPackage
(
getPackageName
()));
if
(
Build
.
VERSION
.
SDK_INT
>=
Build
.
VERSION_CODES
.
KITKAT
)
{
getWindow
().
getDecorView
().
setOnSystemUiVisibilityChangeListener
(
new
View
.
OnSystemUiVisibilityChangeListener
()
{
@Override
public
void
onSystemUiVisibilityChange
(
int
visibility
)
{
if
((
visibility
&
View
.
SYSTEM_UI_FLAG_HIDE_NAVIGATION
)
==
0
)
{
fullscreen
();
}
}
});
}
}
//电池管理
...
...
@@ -216,20 +241,24 @@ public class YGOMobileActivity extends NativeActivity implements
}
private
void
fullscreen
()
{
//如果是沉浸模式
if
(
app
().
isImmerSiveMode
())
{
mFullScreenUtils
.
fullscreen
();
app
().
attachGame
(
this
);
if
(
USE_SURFACE
)
{
changeGameSize
();
}
else
{
int
[]
size
=
getGameSize
();
if
(
app
().
isKeepScale
())
{
getWindow
().
setLayout
(
size
[
0
],
size
[
1
]);
}
//沉浸模式
getWindow
().
getDecorView
().
setSystemUiVisibility
(
windowsFlags
);
}
else
{
getWindow
().
getDecorView
().
setSystemUiVisibility
(
windowsFlags2
);
}
app
().
attachGame
(
this
);
if
(
USE_SURFACE
)
{
changeGameSize
();
}
else
{
int
[]
size
=
getGameSize
();
if
(
app
().
isKeepScale
())
{
getWindow
().
setLayout
(
size
[
0
],
size
[
1
]);
}
}
if
(
USE_SURFACE
&&
mSurfaceView
!=
null
)
{
mSurfaceView
.
requestFocus
();
}
}
private
int
[]
getGameSize
(){
...
...
libcore/src/main/java/cn/garymb/ygomobile/utils/FullScreenUtils.java
deleted
100644 → 0
View file @
0a2b63d4
package
cn.garymb.ygomobile.utils
;
import
android.app.Activity
;
import
android.os.Build
;
import
android.view.View
;
public
class
FullScreenUtils
{
private
boolean
isFullscreen
;
private
Activity
activity
;
private
static
final
int
windowsFlags
=
Build
.
VERSION
.
SDK_INT
>=
Build
.
VERSION_CODES
.
KITKAT
?
(
View
.
SYSTEM_UI_FLAG_LAYOUT_STABLE
|
View
.
SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
|
View
.
SYSTEM_UI_FLAG_HIDE_NAVIGATION
|
View
.
SYSTEM_UI_FLAG_FULLSCREEN
|
View
.
SYSTEM_UI_FLAG_IMMERSIVE_STICKY
)
:
View
.
SYSTEM_UI_FLAG_LOW_PROFILE
;
public
FullScreenUtils
(
Activity
activity
)
{
this
.
activity
=
activity
;
}
public
FullScreenUtils
(
Activity
activity
,
boolean
isFullscreen
)
{
this
.
activity
=
activity
;
this
.
isFullscreen
=
isFullscreen
;
}
public
boolean
isFullscreen
()
{
return
isFullscreen
;
}
public
void
setFullscreen
(
boolean
fullscreen
)
{
isFullscreen
=
fullscreen
;
}
public
void
fullscreen
()
{
if
(
isFullscreen
()
&&
activity
!=
null
)
{
activity
.
getWindow
().
getDecorView
().
setSystemUiVisibility
(
windowsFlags
);
}
}
public
void
onCreate
()
{
if
(
Build
.
VERSION
.
SDK_INT
>=
Build
.
VERSION_CODES
.
KITKAT
&&
isFullscreen
()
&&
activity
!=
null
)
{
activity
.
getWindow
().
getDecorView
().
setOnSystemUiVisibilityChangeListener
(
new
View
.
OnSystemUiVisibilityChangeListener
()
{
@Override
public
void
onSystemUiVisibilityChange
(
int
visibility
)
{
if
((
visibility
&
View
.
SYSTEM_UI_FLAG_FULLSCREEN
)
==
0
)
{
activity
.
getWindow
().
getDecorView
().
setSystemUiVisibility
(
windowsFlags
);
}
}
});
}
}
}
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