您的位置:首页 > 移动开发 > Android开发

android 关于屏幕的设置(FullScreen、notitle)等等

2015-09-28 17:22 363 查看
本来不打算写这篇文章的,但是今天一个问题搞得我也是醉了、所以才打算把屏幕的一些相关知识罗列出来,方便自己以后使用。

要设置屏幕不显示标题一般我们都会在application中设置:

android:theme="@android:style/Theme.Light.NoTitleBar"


但是这个存在一个问题,就是主题太老,太丑,不能切换成其他新版本的主题样式。

所以我们一般 会写一个activity的父类,将一些公共的东西写在里面,包含对样式的设置:

一般会在oncreate中加上以下这段代码来设置没有标题栏
protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
    this.requestWindowFeature(Window.FEATURE_NO_TITLE);
    Window window = this.getWindow();
    window.clearFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);
    this.app = (LoaderApp) this.getApplication();
}
设好之后是完全可以满足我们的需求的。

但是今天早上,我们总监发现一个问题,就是在程序启动的第一个页面会有标题栏闪一下再消失的现象,建议我使用notitleBar的主题,开始也没多想,直接使用了,用了之后发现真他么的丑,丑到爆了,不能忍,得想办法既要无标题,也要是之前使用的theme,开始是想自定义theme的,后来发现一点难度,然后又想在application(java继承的application)中设置,发现根本没有window,废话,肯定没有,考虑了很久,尼玛发现我完全可以给启动页设置一个notitlebar的theme,整个application设置一个theme,妈的改好之后完全可行,也是泪流满面,想多了开始。下面再放上一些跟屏幕相关的东西:

获取屏幕宽度

WindowManager wm = (WindowManager) getContext()
                    .getSystemService(Context.WINDOW_SERVICE);
 
     int width = wm.getDefaultDisplay().getWidth();
     int height = wm.getDefaultDisplay().getHeight();


设置屏幕长亮

<span style="color:#333333;">getWindow().setFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON, WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);</span><span style="color:#cc0000;">
</span>


设置横竖屏

竖屏:

android:screenOrientation="portrait"

横屏:

android:screenOrientation="landscape"

同样也可以在代码中设置:

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: