2013年9月30日

【Android】Display Metrics讀取手機長寬解析度與密度Density DPI

哈囉~各位Android安卓開發者大家好啊 ^^

小黑人今天要與大家分享的是"Display Metrics",也就是關於手機螢幕的長寬解析度、手機密度、手機DPI等資訊,其中讀取手機的長寬解析度和手機密度是大家較為普遍用到的,原因就是Android手機的解析度實在是太多類型了,但為了達到整體畫面要一致,所以通常就會計算手機的解析度與密度進行UI圖片縮放,那要怎麼讀取手機的解析度資訊呢?小黑人在下方有舉例三個讀取解析度與密度的例子,就讓我們繼續看下去吧! ^^

1.第一種讀取手機長寬解析度、手機密度、手機DPI的寫法為:
//手機的寬度(像素)
int mWidth = getResources().getDisplayMetrics().widthPixels;
//手機的高度(像素)
int mHeight = getResources().getDisplayMetrics().heightPixels;
//手機的密度
float mDensity = getResources().getDisplayMetrics().density;
//手機的DPI
float mDpi = getResources().getDisplayMetrics().densityDpi;
2.第二種讀取手機長寬解析度、手機密度、手機DPI的寫法為:
//先取得DisplayMetrics資訊
DisplayMetrics mDisplayMetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(mDisplayMetrics);
//手機的寬度(像素)
int mWidth = mDisplayMetrics.widthPixels;
//手機的高度(像素)
int mHeight = mDisplayMetrics.heightPixels;
//手機的密度
float mDensity = mDisplayMetrics.density;
//手機的DPI
int mDpi = mDisplayMetrics.densityDpi;
3.第三種讀取手機長寬解析度的寫法為:(與第二種類似,但是第三種為直接讀取寬高)
//手機的寬度(像素)
int mWidth = getWindowManager().getDefaultDisplay().getWidth();
//手機的高度(像素)
int mHeight = getWindowManager().getDefaultDisplay().getHeight();
以上就是簡單的讀取手機寬高解析度與手機密度及手機DPI的三種方法,大家可以試試看唷!
如有任何問題都可以和小黑人一起交流討論喔~謝謝大家~! ^^

2 則留言:

  1. 你好,我叫danny很高興認識你.我最近遇到一個問題想與您請教.我的手機有一天忽然被人駭入,當時我還關掉我家的WIFI了,卻是憑空修改我的程式碼,我現在密碼不管怎麼改都沒有用,都會自動存進他修改的程式碼,連GOOGLE從灌也灌到一半顯示沒有網路無法登入,從灌GOOGLE是不需要登入GOOGLE的.我知道我是遇到駭客,請問有什麼方法可以解決嗎?一般警察都認為我瘋了,但是這卻是真實發生在我身上,請問你有什麼可以幫忙我的嗎?我的電話是0981819925.

    回覆刪除
  2. 你好,我叫danny很高興認識你.我最近遇到一個問題想與您請教.我的手機有一天忽然被人駭入,當時我還關掉我家的WIFI了,卻是憑空修改我的程式碼,我現在密碼不管怎麼改都沒有用,都會自動存進他修改的程式碼,連GOOGLE從灌也灌到一半顯示沒有網路無法登入,從灌GOOGLE是不需要登入GOOGLE的.我知道我是遇到駭客,請問有什麼方法可以解決嗎?一般警察都認為我瘋了,但是這卻是真實發生在我身上,請問你有什麼可以幫忙我的嗎?我的電話是0981819925.

    回覆刪除

謝謝大家支持,有任何問題都可以和小黑人一起討論!