博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
一个用于去除状态栏和虚拟导航栏的BaseActivity
阅读量:6270 次
发布时间:2019-06-22

本文共 2854 字,大约阅读时间需要 9 分钟。

BaseActivkty

public class BaseActivity extends Activity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        /**         * change style,hide status bar& navigation bar         */        requestWindowFeature(Window.FEATURE_NO_TITLE);        getWindow().getDecorView().setOnSystemUiVisibilityChangeListener(                new View.OnSystemUiVisibilityChangeListener() {                    @Override                    public void onSystemUiVisibilityChange(int visibility) {                        if ((visibility & (View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION)) == 0) {                            onWindowFocusChanged(true);                        }                    }                });        setContentView(R.layout.activity_main);        int SDK_VER = Integer.valueOf(android.os.Build.VERSION.SDK_INT);        if (SDK_VER == 15)            getWindow().getDecorView().setSystemUiVisibility(4);        else if (SDK_VER == 16 || SDK_VER == 17)            getWindow().getDecorView().setSystemUiVisibility(8);    }    /**     * change style,hide status bar& navigation bar     */    @Override    public void onWindowFocusChanged(boolean hasFocus) {        super.onWindowFocusChanged(hasFocus);        if (!hasFocus) {            // mBackDown = mHomeDown = false;        } else if (hasFocus) {            getWindow().getDecorView().setSystemUiVisibility(                    View.SYSTEM_UI_FLAG_LAYOUT_STABLE                            | 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);        }    }//    /**//     * 拦截了返回按键逻辑//     *///    @Override//    public boolean dispatchKeyEvent(KeyEvent event) {//        if (event.getAction() == KeyEvent.ACTION_DOWN) {//            switch (event.getKeyCode()) {//            case KeyEvent.KEYCODE_BACK://                return true;//            case KeyEvent.KEYCODE_HOME://                return false;//            }//        } else if (event.getAction() == KeyEvent.ACTION_UP) {//            switch (event.getKeyCode()) {//            case KeyEvent.KEYCODE_BACK://                if (!event.isCanceled()) {//                }//                return true;//            case KeyEvent.KEYCODE_HOME://                if (!event.isCanceled()) {//                }//                return true;//            }//        }//        return super.dispatchKeyEvent(event);//    }        /**     * 点击返回按钮时调用的方法     * @param v     */    public void exitOnClick(View v) {        onBackPressed();    }    }

 

转载于:https://www.cnblogs.com/BlogCommunicator/p/7390151.html

你可能感兴趣的文章
firefox
查看>>
PS批处理的使用
查看>>
七天学会ASP.NET MVC (一)——深入理解ASP.NET MVC 【转】
查看>>
Quartz作业调度框架
查看>>
腾讯云下安装 nodejs + 实现 Nginx 反向代理
查看>>
js-权威指南学习笔记13
查看>>
《超级时间整理术》晨读笔记
查看>>
Spring Boot 2.0(二):Spring Boot 2.0尝鲜-动态 Banner
查看>>
Delphi IdTCPClient IdTCPServer 点对点传送文件
查看>>
Delphi中使用ActiveX的一些心得
查看>>
QT5.8.0+MSVC2015安装以及环境配置(不需要安装VS2015)
查看>>
(原創) C/C++的function prototype和header file (C/C++) (C)
查看>>
深入理解JavaScript系列(29):设计模式之装饰者模式
查看>>
程序员的罪与罚
查看>>
SQL*LOADER错误总结
查看>>
SQL日志收缩
查看>>
【转】MySQL Query Cache 小结
查看>>
SVN分支和合并的简单例子
查看>>
PHP实现的封装验证码类
查看>>
Augular初探
查看>>