当前位置: 代码迷 >> Android >> 【Android】获取屏幕分辨率跟顶栏高度全屏和横屏
  详细解决方案

【Android】获取屏幕分辨率跟顶栏高度全屏和横屏

热度:103   发布时间:2016-04-28 01:52:27.0
【Android】获取屏幕分辨率和顶栏高度全屏和横屏
//获取屏幕分辨率 方法1
<span style="white-space:pre">		</span>DisplayMetrics dm = new DisplayMetrics(); 		android.view.Display display = getWindowManager().getDefaultDisplay(); 		display.getMetrics(dm); 	  <span style="white-space:pre">	</span>screen_w  = dm.widthPixels;		screen_h = dm.heightPixels;

<pre name="code" class="java">//获取屏幕分辨率 方法

<span style="white-space:pre">		</span>WindowManager windowManager = getWindowManager();<span style="white-space:pre">		</span>Display display = windowManager.getDefaultDisplay();<span style="white-space:pre">		</span>screenWidth = display.getWidth();<span style="white-space:pre">		</span>screenHeight = display.getHeight();



	// 获取手机状态栏高度	public static int getStatusBarHeight(Context context) {		Class<?> c = null;		Object obj = null;		Field field = null;		int x = 0, statusBarHeight = 0;		try {			c = Class.forName("com.android.internal.R$dimen");			obj = c.newInstance();			field = c.getField("status_bar_height");			x = Integer.parseInt(field.get(obj).toString());			statusBarHeight = context.getResources().getDimensionPixelSize(x);		} catch (Exception e1) {			e1.printStackTrace();		}		return statusBarHeight;	}	//用的时候直接调用这个方法。


以下粘贴自,http://xqjay19910131-yahoo-cn.iteye.com/blog/1435249


-----------------------------------------------------------------------------------------------------------------------------------------
设置为无标题 
Java代码  

Java代码  收藏代码
  1. requestWindowFeature(Window.FEATURE_NO_TITLE);    


设置为全屏模式getWindow().setFlags 
Java代码  
Java代码  收藏代码
  1. getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);    



设置为横屏 
Java代码  
Java代码  收藏代码
  1. setRequesteOrientation(ActivityInfo.SCREEN_ORIENTATION_LADSCAPE);   



//--------------------------------------------------------------- 


在开发中我们经常需要把我们的应用设置为全屏,这里我所知道的有俩中方法,一中是在代码中设置,另一种方法是在配置文件里改
一、在代码中设置: 
Java代码  收藏代码
  1. view plaincopy to clipboardprint?  
  2.  package com.android.tutor;    
  3.  import android.app.Activity;    
  4.  import android.os.Bundle;    
  5.  import android.view.Window;    
  6.  import android.view.WindowManager;    
  7.  public class OpenGl_Lesson1 extends Activity {    
  8.      public void onCreate(Bundle savedInstanceState) {    
  9.          super.onCreate(savedInstanceState);    
  10.         //去除title      
  11.        requestWindowFeature(Window.FEATURE_NO_TITLE);      
  12.         //去掉Activity上面的状态栏  
  13.         getWindow().setFlags(WindowManager.LayoutParams. FLAG_FULLSCREEN ,        
  14.                        WindowManager.LayoutParams. FLAG_FULLSCREEN);     
  15.               
  16.          setContentView(R.layout.main);    
  17.      }    
  18.  }   

在这里要强调一点,设置全屏的俩段代码必须在setContentView(R.layout.main) 之前,不然会报错。 

二、在配置文件里修改 
(关键代码:
Java代码  收藏代码
  1. android:theme="@android:style/Theme.NoTitleBar.Fullscreen"  
如果想只是去除标题栏就后面不用加Fullscreen了,另外,如果想要整个应用都去除标题栏和状态栏,就把这句代码加到<application。。标签里面,如果只是想某个activity起作用,这句代码就加到相应的activity上): 

Java代码  收藏代码
  1. <?xml version="1.0" encoding="utf-8"?>    
  2.  <manifest xmlns:android="http://schemas.android.com/apk/res/android"    
  3.        package="com.android.tutor"    
  4.        android:versionCode="1"    
  5.        android:versionName="1.0">    
  6.      <application android:icon="@drawable/icon" android:label="@string/app_name">    
  7.          <activity android:name=".OpenGl_Lesson1"    
  8.                    android:theme="@android:style/Theme.NoTitleBar.Fullscreen"    
  9.                    android:label="@string/app_name">    
  10.              <intent-filter>    
  11.                  <action android:name="android.intent.action.MAIN" />    
  12.                  <category android:name="android.intent.category.LAUNCHER" />    
  13.              </intent-filter>    
  14.          </activity>    
  15.      </application>    
  16.      <uses-sdk android:minSdkVersion="7" />    
  17.  </manifest>     
在这里我还想说明一下,用前者在我们应用运行后,会看到短暂的状态栏,然后才全屏,而第二种方法是不会有这种情况的,所以我建议大家使用后者!




禁止转载

  相关解决方案