Android全屏操作

Android应用程序中,为了美观或者特殊需要,有时需要全屏,这里介绍一些方法,

下面的方法是Activity刚开始创建,就设置为全屏,先看示例代码,再看看代码的作用。

   @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);

        getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LOW_PROFILE
                | View.SYSTEM_UI_FLAG_FULLSCREEN
                | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
                | View.SYSTEM_UI_FLAG_LAYOUT_STABLE
                | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
                | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
                | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION);

        setContentView(R.layout.activity_main);
    }

1. 保存屏幕常亮

调用下面的方法,是为了保持屏幕常亮

getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);

2. 全屏的参数设置

2.1 隐藏状态栏

SYSTEM_UI_FLAG_FULLSCREEN:状态栏消失,状态栏的layout还在;

SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN:状态栏消失,状态栏的layout也不再占用屏幕空间;

2.2 隐藏导航键

View.SYSTEM_UI_FLAG_HIDE_NAVIGATION:导航键消失不见,但是导航键的位置依然占用原来的屏幕空间;

View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION:导航键消失不见,同时导航键的layout也不再占用屏幕空间;

3.3 隐藏程序的标题栏,下面2个参数,可以使标题栏消失

View.SYSTEM_UI_FLAG_LAYOUT_STABLE
View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY

 

通过上面的设置,程序启动后,就可以看到程序全屏了。但是当从屏幕最上方下滑屏幕,或者从屏幕最下方上滑屏幕,状态栏和导航键还是会出现,不知道有没有办法在这种情况下也不让状态栏和导航键出来。

 

其他方法,收集如下,

方法一:

public class MainActivity extends Activity
{
    @Override
    protected 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.activity_main);
    }
}

方法二:

<!-- 同时隐藏状态栏和标题栏  -->
<activity
    android:name="com.ysj.demo.MainActivity"
    android:theme="@android:style/Theme.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 theme. -->
<style name="AppTheme" parent="AppBaseTheme">
    <!-- All customizations that are NOT specific to a particular API-level can go here. -->
    <!-- 隐藏状态栏 -->
    <item name="android:windowFullscreen">true</item>
    <!-- 隐藏标题栏 -->
    <item name="android:windowNoTitle">true</item>
</style>

方法一中的两段代码要在setContentView()之前。
方法二只能同时隐藏状态栏和标题栏。
方法一和方法二都只应用于单个Activity, 方法三应用于整个程序。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值