activity全屏显示且不影响状态栏和导航栏的实现

activity全屏显示且不影响状态栏和导航栏的实现,第1张

先上效果图,

有导航栏时

没有导航栏时

1、定义一个activity需要的theme

2、给activity设置上

3、写一个获取状态栏高度的方法

4、给标题栏设置距上的距离

我的xml时这样的

给整个layout设置了一个美女做背景。然后用一个LinearLayout实现标题栏, android:id="@+id/ll_back"

在activity里设置ll_back的上边距即可

bradle

刘海屏幕

对于华为20pro,在设置-->显示-->更多显示设置-->选择 默认(为应用自动匹配顶部显示,尽可能地利用屏幕空间,使内容不被遮挡)

或者选择 隐藏顶部区域(屏幕顶部始终不作为显示区域,会导致竖屏进入刘海区域,横屏不进入刘海区域)

activity隐藏底部虚拟导航(比如华为):

在onResume和onWindowFocusChanged中写入:

dialog:d窗,在有底部虚拟导航按钮(在全屏模式中,比如华为:闪烁问题)。

处理办法重写dialog的show方法:

如果只设置

会发现在刘海屏手机上有一段灰白色区域(action_model_bar-stub:ViewStubComat)位置, xml自己的布局会往下挤一段距离高度。

如果设置上了则该位置为(0,0,0,0),实现了真正意义上的全屏。

为何取名为透明?好奇怪,它的确有实际高度,设置为true了就无实际高度。

在实际的应用程序开发中,有时需要把 Activity 设置成全屏显示,一般情况下,可以通过两种方式来设置全屏显示效果。其一,通过在代码中可以设置,其二,通过manifest配置文件来设置全屏。

其一:在代码中设置(如下)

[c-sharp] view plaincopy

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState)

//设置无标题

requestWindowFeature(Window.FEATURE_NO_TITLE)

//设置全屏

getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,

WindowManager.LayoutParams.FLAG_FULLSCREEN)

setContentView(R.layout.main)

}

但要注意的是:在代码中设置的话,设置无标题和设置全屏的两段代码要放置在 setContentView(R.layout.main)这段代码的前面。要不然会报错。

其二:在manifest配置文件中设置

[c-sharp] view plaincopy

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

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

package="com.andyidea"

android:versionCode="1"

android:versionName="1.0">

<uses-sdk android:minSdkVersion="8" />

<application android:icon="@drawable/icon" android:label="@string/app_name">

<activity android:name=".login.LoginActivity"

android:theme="@android:style/android.NoTitleBar.Fullscreen"

android:label="@string/app_name">

<intent-filter>

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

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

</intent-filter>

</activity>

</application>

</manifest>

在相应的Activity中节点中添加属

性:android:theme="@android:style/Theme.NoTitleBar.Fullscreen"

即可以设置某个Activity全屏显示。若设置成 android:theme="@android:style/Theme.NoTitleBar"

即是只是设置成无标题状态。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/tougao/7804641.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-10
下一篇 2023-04-10

发表评论

登录后才能评论

评论列表(0条)

保存