Android 獲取當前資源對象的屏幕信息

首先通過閱讀API發現獲得DisplayMetrics這個對象的方式有兩種:

方式一:

DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);

方式二

DisplayMetrics metrics = new DisplayMetrics();
metrics = getResources().getDisplayMetrics();

目前發現只在使用方式上有一點區別:

方式一用於Activity中,通過Activity中的getWindowManager()方法來獲取DisplayMetrics對象。

方式二用於繼承於view的類中,通過context.getResources()方法來獲得DisplayMetrics對象。


當獲得了屏幕信息對象之後,經常要使用標準尺寸轉換函數,下面也進行一些介紹:

int wight = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 200, metrics);
int textSize = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP, 50, metrics);
參數介紹:

參數1:要換算成的單位

參數2:要進行轉換的尺寸

參數3:當前屏幕的信息


以方式二爲例:

int offSet = 52;
int tabTextSize = 12;

DisplayMetrics metrics = getResources().getDisplayMetrics();

offSet = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, offSet, metrics);
tabTextSize = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP, tabTextSize, metrics);




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章