关于手机屏幕

来源:互联网 发布:ncut算法 opencv 编辑:程序博客网 时间:2024/04/28 22:44

本文来自rydiy的博客:http://blog.csdn.net/crasyman2008

一、全屏

 

在网上看到了2种设置方法:

 

1、代码设置:

 

       //无title         requestWindowFeature(Window.FEATURE_NO_TITLE);          //全屏         getWindow().setFlags(WindowManager.LayoutParams. FLAG_FULLSCREEN ,                          WindowManager.LayoutParams. FLAG_FULLSCREEN);                  setContentView(R.layout.main);

setContentView一定要放在最后面,不然会出错

 

2、在 manifast文件中设置

在Activity中添加 android:theme="@android:style/Theme.NoTitleBar.Fullscreen"

 

区别:

       第一种方法会有很明显的跳转,第二种则没有。

 

 

二、获取屏幕大小

1.

DisplayMetrics dm = new DisplayMetrics();getWindowManager().getDefaultDisplay().getMetrics(dm);//获得手机的宽带和高度像素单位为px String str = "手机屏幕分辨率为:" + dm.widthPixels + " * "+dm.heightPixels; 

 

2.

windowManager = (WindowManager) context .getSystemService(Context.WINDOW_SERVICE);   //屏幕的宽度   windowWidth = windowManager.getDefaultDisplay().getWidth();   //屏幕的高度     windowHeight = windowManager.getDefaultDisplay().getHeight();

 


三、设置屏幕方向

1、manifase中设置

 

在activity中添加

//横屏android:screenOrientation="landscape"//竖屏android:screenOrientation="portrait"

 

2、代码中设置

以下代码是获取当前屏幕方向,如果是横屏就设置为竖屏,不然则反之

   //如果是竖排,则改为横排    if(getRequestedOrientation() == ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE)    {     setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);    }    //如果是横排,则改为竖排    else if(getRequestedOrientation() == ActivityInfo.SCREEN_ORIENTATION_PORTRAIT)    {     setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);    }