亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

了解真正的“沉浸式”模式

標簽:
Android

玩游戏和看视频就是最典型的“沉浸式”模式的效果,将状态栏、ActionBar、导航栏等系统元素全部隐藏,只留下主体内容部分。

步骤:

1、新建一个空的项目,修改布局文件中的代码

[代码]xml代码:

?

01

02

03

04

05

06

07

08

09

10

11

12

13

<?xml version="1.0" encoding="utf-8"?>

<RelativeLayout

    xmlns:android="http://schemas.android.com/apk/res/android"

    xmlns:tools="http://schemas.android.com/tools"

    android:layout_width="match_parent"

    android:layout_height="match_parent">

 

    <ImageView

        android:layout_width="match_parent"

        android:layout_height="match_parent"

        android:class="lazyload" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC" data-original="@mipmap/ver_bg"

        android:scaleType="centerCrop"/>

</RelativeLayout>

2、修改MainActivity中的代码

方法1

[代码]java代码:

?

01

02

03

04

05

06

07

08

09

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

import android.graphics.Color;

import android.os.Build;

import android.os.Bundle;

import android.support.v7.app.ActionBar;

import android.support.v7.app.AppCompatActivity;

import android.view.View;

 

public class MainActivity   extends AppCompatActivity   {

 

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

        immerseView();

    }

 

    private void immerseView() {

        if (Build.VERSION.SDK_INT >= 21) {

            View   decorView = getWindow().getDecorView();

            int option = View.SYSTEM_UI_FLAG_FULLSCREEN |   View.SYSTEM_UI_FLAG_LAYOUT_STABLE;

            decorView.setSystemUiVisibility(option);

            getWindow().setNavigationBarColor(Color.TRANSPARENT);//将导航栏颜色设置为透明

            getWindow().setStatusBarColor(Color.TRANSPARENT);//将状态栏颜色设置为透明

        }

        ActionBar   actionBar = getSupportActionBar();

        actionBar.hide();//隐藏ActionBar

    }

}

方法2、重写onWindowFocusChanged方法

[代码]java代码:

?

01

02

03

04

05

06

07

08

09

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

import android.os.Build;

import android.os.Bundle;

import android.support.v7.app.AppCompatActivity;

import android.view.View;

 

public class MainActivity   extends AppCompatActivity   {

 

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

    }

 

    @Override

    public void onWindowFocusChanged(boolean hasFocus) {

        super.onWindowFocusChanged(hasFocus);

        if (hasFocus &&   Build.VERSION.SDK_INT >= 19) {

            View   decorView = getWindow().getDecorView();

            decorView.setSystemUiVisibility(

                    View.SYSTEM_UI_FLAG_LAYOUT_STABLE

                    |   View.SYSTEM_UI_FLAG_HIDE_NAVIGATION

                    |   View.SYSTEM_UI_FLAG_FULLSCREEN

                    |   View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION

                    |   View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN

                    |   View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY

            );

        }

    }

}

竖屏模式

5bb86919000190d103280577.jpg

游戏的横屏模式

修改AndroidManifest.xml文件

[代码]xml代码:

?

1

2

3

4

5

6

7

<activity android:name=".MainActivity" android:screenOrientation="landscape">

            <intent-filter>

                <action android:name="android.intent.action.MAIN"/>

 

                <category android:name="android.intent.category.LAUNCHER"/>

            </intent-filter>

        </activity>

 

5bb8692400014a4505800328.jpg

此时,已可实现真正的“沉浸式”效果,界面默认情况下是全屏的,状态栏和导航栏都不会显示,当我们需要时,只需要在屏幕向下拉或屏幕右侧向右拉即可显示相应的状态栏和导航栏,过一段时间如果没有任何操作,状态栏和导航栏又会自动隐藏起来,重新回到全屏状态。

原文链接:http://www.apkbus.com/blog-844891-61495.html

點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消