Android杂谈---获取手机屏幕大小
生活随笔
收集整理的這篇文章主要介紹了
Android杂谈---获取手机屏幕大小
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Android雜談---獲取手機屏幕大小
SurfaceView簡單例子
玩轉Android---UI篇---ZoomControls放大縮小圖片 更多相關推薦 這里總結下android中關于手機屏幕的相關操作:
1、獲取屏幕的分辨率(因為android中處理顯示的時候,需要根據屏幕分辨率的不同才去不同的布局或顯示不同的素材)
Java代碼?
// 通過WindowManager獲取??
DisplayMetrics dm = new DisplayMetrics();??
getWindowManager().getDefaultDisplay().getMetrics(dm);??
System.out.println("heigth : " + dm.heightPixels);??
System.out.println("width : " + dm.widthPixels);??
// 通過Resources獲取??????????
DisplayMetrics dm2 = getResources().getDisplayMetrics();??
System.out.println("heigth2 : " + dm2.heightPixels);??
System.out.println("width2 : " + dm2.widthPixels);????
// 獲取屏幕的默認分辨率??
Display display = getWindowManager().getDefaultDisplay();??
System.out.println("width-display :" + display.getWidth());??
System.out.println("heigth-display :" + display.getHeight());? // 通過WindowManager獲取
DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
System.out.println("heigth : " + dm.heightPixels);
System.out.println("width : " + dm.widthPixels);
// 通過Resources獲取??
DisplayMetrics dm2 = getResources().getDisplayMetrics();
System.out.println("heigth2 : " + dm2.heightPixels);
System.out.println("width2 : " + dm2.widthPixels);?
// 獲取屏幕的默認分辨率
Display display = getWindowManager().getDefaultDisplay();
System.out.println("width-display :" + display.getWidth());
System.out.println("heigth-display :" + display.getHeight()); 2、去掉屏幕標題及全屏顯示
Java代碼?
// 去掉標題??
requestWindowFeature(Window.FEATURE_NO_TITLE);??
// 設置全屏??
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,??
??????? WindowManager.LayoutParams.FLAG_FULLSCREEN);? // 去掉標題
requestWindowFeature(Window.FEATURE_NO_TITLE);
// 設置全屏
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
??WindowManager.LayoutParams.FLAG_FULLSCREEN); 3、設置屏幕的風向
在Manifest.xml文件中配置Activity的屬性
Xml代碼?
<activity android:name=".AnimateActivity" android:label="@string/app_name"?
??? android:screenOrientation="landscape"><!--landscape 橫屏 portrait 豎屏-->?
??? <intent-filter>?
??????? <action android:name="android.intent.action.MAIN" />?
??????? <category android:name="android.intent.category.LAUNCHER" />?
??? </intent-filter>?
</activity>? <activity android:name=".AnimateActivity" android:label="@string/app_name"
?android:screenOrientation="landscape"><!--landscape 橫屏 portrait 豎屏-->
?<intent-filter>
??<action android:name="android.intent.action.MAIN" />
??<category android:name="android.intent.category.LAUNCHER" />
?</intent-filter>
</activity> 在程序中控制,一般在Activity中的onCreate、onDestroy方法中控制,因為在屏幕方向發生變化時,
系統會重新啟動Activity。所以需要再Activity銷毀前保存相關數據,方便在下次onCreate方法中
重新加載,并更新屏幕的布局
Java代碼?
public void onCreate(Bundle savedInstanceState) {??
??? //強制橫屏??
??? setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);??
??? // TODO 更新屏幕布局??
}??
?
public void onDestroy() {??
??? if(getRequestedOrientation() ==??
??????????? ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE){??
??????? // 保存數據??
??? }else if(getRequestedOrientation() ==??
??????????? ActivityInfo.SCREEN_ORIENTATION_PORTRAIT){??
??????? // 保存數據??
??? }??
}?
?
SurfaceView簡單例子
玩轉Android---UI篇---ZoomControls放大縮小圖片 更多相關推薦 這里總結下android中關于手機屏幕的相關操作:
1、獲取屏幕的分辨率(因為android中處理顯示的時候,需要根據屏幕分辨率的不同才去不同的布局或顯示不同的素材)
Java代碼?
// 通過WindowManager獲取??
DisplayMetrics dm = new DisplayMetrics();??
getWindowManager().getDefaultDisplay().getMetrics(dm);??
System.out.println("heigth : " + dm.heightPixels);??
System.out.println("width : " + dm.widthPixels);??
// 通過Resources獲取??????????
DisplayMetrics dm2 = getResources().getDisplayMetrics();??
System.out.println("heigth2 : " + dm2.heightPixels);??
System.out.println("width2 : " + dm2.widthPixels);????
// 獲取屏幕的默認分辨率??
Display display = getWindowManager().getDefaultDisplay();??
System.out.println("width-display :" + display.getWidth());??
System.out.println("heigth-display :" + display.getHeight());? // 通過WindowManager獲取
DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
System.out.println("heigth : " + dm.heightPixels);
System.out.println("width : " + dm.widthPixels);
// 通過Resources獲取??
DisplayMetrics dm2 = getResources().getDisplayMetrics();
System.out.println("heigth2 : " + dm2.heightPixels);
System.out.println("width2 : " + dm2.widthPixels);?
// 獲取屏幕的默認分辨率
Display display = getWindowManager().getDefaultDisplay();
System.out.println("width-display :" + display.getWidth());
System.out.println("heigth-display :" + display.getHeight()); 2、去掉屏幕標題及全屏顯示
Java代碼?
// 去掉標題??
requestWindowFeature(Window.FEATURE_NO_TITLE);??
// 設置全屏??
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,??
??????? WindowManager.LayoutParams.FLAG_FULLSCREEN);? // 去掉標題
requestWindowFeature(Window.FEATURE_NO_TITLE);
// 設置全屏
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
??WindowManager.LayoutParams.FLAG_FULLSCREEN); 3、設置屏幕的風向
在Manifest.xml文件中配置Activity的屬性
Xml代碼?
<activity android:name=".AnimateActivity" android:label="@string/app_name"?
??? android:screenOrientation="landscape"><!--landscape 橫屏 portrait 豎屏-->?
??? <intent-filter>?
??????? <action android:name="android.intent.action.MAIN" />?
??????? <category android:name="android.intent.category.LAUNCHER" />?
??? </intent-filter>?
</activity>? <activity android:name=".AnimateActivity" android:label="@string/app_name"
?android:screenOrientation="landscape"><!--landscape 橫屏 portrait 豎屏-->
?<intent-filter>
??<action android:name="android.intent.action.MAIN" />
??<category android:name="android.intent.category.LAUNCHER" />
?</intent-filter>
</activity> 在程序中控制,一般在Activity中的onCreate、onDestroy方法中控制,因為在屏幕方向發生變化時,
系統會重新啟動Activity。所以需要再Activity銷毀前保存相關數據,方便在下次onCreate方法中
重新加載,并更新屏幕的布局
Java代碼?
public void onCreate(Bundle savedInstanceState) {??
??? //強制橫屏??
??? setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);??
??? // TODO 更新屏幕布局??
}??
?
public void onDestroy() {??
??? if(getRequestedOrientation() ==??
??????????? ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE){??
??????? // 保存數據??
??? }else if(getRequestedOrientation() ==??
??????????? ActivityInfo.SCREEN_ORIENTATION_PORTRAIT){??
??????? // 保存數據??
??? }??
}?
?
轉載于:https://blog.51cto.com/zhaohaiyang/633629
總結
以上是生活随笔為你收集整理的Android杂谈---获取手机屏幕大小的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 电脑报错代码
- 下一篇: 我的RHCA之路随想