刘海屏幕
对于华为20pro,在设置-->显示-->更多显示设置-->选择 默认(为应用自动匹配顶部显示,尽可能地利用屏幕空间,使内容不被遮挡)
或者选择 隐藏顶部区域(屏幕顶部始终不作为显示区域,会导致竖屏进入刘海区域,横屏不进入刘海区域)
activity隐藏底部虚拟导航(比如华为):
在onResume和onWindowFocusChanged中写入:
dialog:d窗,在有底部虚拟导航按钮(在全屏模式中,比如华为:闪烁问题)。
处理办法重写dialog的show方法:
如果只设置
会发现在刘海屏手机上有一段灰白色区域(action_model_bar-stub:ViewStubComat)位置, xml自己的布局会往下挤一段距离高度。
如果设置上了则该位置为(0,0,0,0),实现了真正意义上的全屏。
为何取名为透明?好奇怪,它的确有实际高度,设置为true了就无实际高度。
先上效果图,有导航栏时
没有导航栏时
1、定义一个activity需要的theme
2、给activity设置上
3、写一个获取状态栏高度的方法
4、给标题栏设置距上的距离
我的xml时这样的
给整个layout设置了一个美女做背景。然后用一个LinearLayout实现标题栏, android:id="@+id/ll_back"
在activity里设置ll_back的上边距即可
bradle
在实际的应用程序开发中,有时需要把 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"
即是只是设置成无标题状态。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)