android查看解析度
⑴ android獲取屏幕的解析度方法有幾種
獲取屏幕解析度的方式如下:
一、在activity中
1、DisplayMetrics dm = getResources().getDisplayMetrics();
int screenWidth = dm.widthPixels;
int screenHeight = dm.heightPixels;
2、DisplayMetrics dm = new DisplayMetrics();
this.getWindowManager().getDefaultDisplay().getMetrics(dm);
int screenWidth = dm.widthPixels;
int screenHeight = dm.heightPixels;
二、在service中
DisplayMetrics dm = new DisplayMetrics();
dm = getResources().getDisplayMetrics();
int screenWidth = dm.widthPixels;
int screenHeight = dm.heightPixels;
⑵ android 怎麼查看當前屏幕解析度
java">獲得當前屏幕的解析度packagecom.shanhaiyang.display_resolution_demo;
importandroid.app.Activity;
importandroid.graphics.Color;
importandroid.os.Bundle;
importandroid.util.DisplayMetrics;
importandroid.widget.TextView;
{
/**.*/
@Override
publicvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
DisplayMetricsdm=newDisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
StringstrResolution="Resolution:"+dm.widthPixels+"*"+dm.heightPixels;
TextViewtv=(TextView)findViewById(R.id.my_tv);
tv.setText(strResolution);
tv.setTextColor(Color.RED);
}
}
⑶ android如何獲取相機解析度
//參考SDK中的API,獲取相機的參數:
Camera.Parameters parameters = camera.getParameters();
//獲取預覽的各種解析度
List<Size> supportedPreviewSizes = parameters.getSupportedPreviewSizes();
//獲取攝像頭支持的各種解析度
List<Size> supportedPictureSizes = parameters.getSupportedPictureSizes();
實例:
// 獲取照相機參數,設置需要的參數,其餘預設
Camera camera = Camera.open();
Camera.Parameters parameters = camera.getParameters();
// 設置照片格式
parameters.setPictureFormat(PixelFormat.JPEG);
// 設置預瀏尺寸,注意要在攝像頭支持的范圍內選擇
parameters.setPreviewSize(WIDTH, HEIGHT);
// 設置照片解析度,注意要在攝像頭支持的范圍內選擇
parameters.setPictureSize(WIDTH, HEIGHT);
// 設置照相機參數
camera.setParameters(parameters);
// 開始拍照
camera.startPreview();
⑷ android如何獲取相機解析度
安卓系統在獲取相機解析度時,可以參考SDK中的API,獲取相機的參數:
Camera.Parameters parameters = camera.getParameters();
獲取預覽的各種解析度:
List<Size> supportedPreviewSizes = parameters.getSupportedPreviewSizes();
獲取攝像頭支持的各種解析度:
List<Size> supportedPictureSizes = parameters.getSupportedPictureSizes();
例如:獲取照相機參數,設置需要的參數,其餘預設
Camera camera = Camera.open();
Camera.Parameters parameters = camera.getParameters();
設置照片格式:
parameters.setPictureFormat(PixelFormat.JPEG);
設置預瀏尺寸,注意要在攝像頭支持的范圍內選擇:
parameters.setPreviewSize(WIDTH, HEIGHT);
設置照片解析度,注意要在攝像頭支持的范圍內選擇
parameters.setPictureSize(WIDTH, HEIGHT);
設置照相機參數:
camera.setParameters(parameters);
開始拍照:
camera.startPreview();
以上就是獲取相機解析度的步驟。
⑸ 怎麼查看android平板解析度
在設置里可能有個類似於「關於手機」的選項,一般在這裡面有解析度。
⑹ android中怎麼獲得屏幕的解析度
// 通過WindowManager獲取
DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
// 通過Resources獲取
DisplayMetrics dm2 = getResources().getDisplayMetrics();
// 獲取屏幕的默認解析度
Display display = getWindowManager().getDefaultDisplay();
System.out.println("width-display :" + display.getWidth());
System.out.println("heigth-display :" + display.getHeight());
在安卓4.2系統中,使用方法一得到了正確的屏幕尺寸值,而使用方法二和三得到的值全部為零。原因不祥。其中方法三中的display.getWidth()和display.getHeight()已被棄用。
⑺ 如何在手機上查看android手機解析度
手機上是沒有對應的顯示選項的,你可以到網上搜索對應的手機型號,就會有解析度的。
⑻ android 怎麼獲取當前使用的屏幕解析度
請看下面截圖,例子來自android學習手冊,360手機助手中下載,排到第4個,裡面有108個例子、源碼還有文檔
我們在網上看得最多的應該是以下這個方法:
WindowManagerwm=getWindowManager();
Displaydisplay=wm.getDefaultDisplay();
intscreenWidth=display.getWidth();
intscreenHeight=display.getHeight();
但studio提示它已經過時了,建議不再使用。
再去查看android源碼,發現可使用getSize替代,代碼如下:
publicstaticPointgetSize(Activityact){
Displaydisplay=act.getWindowManager().getDefaultDisplay();
Pointsize=newPoint();
display.getSize(size);//size.x就是寬度,size.y就是高度
returnsize;
}
一段時間後發現getWindowManager方法只能在activity中使用或者被activity實例調用,那像我們在Fragment或者Adapter中想獲得屏幕解析度,又有困難了(因為Fragment和Adapter一般只有Context),雖然可以通過強制類型轉換來處理,可是畢竟勞民傷財需要時時記得去轉換。所以又改了從Context獲取系統服務,然後再去取解析度,改後的代碼如下:
publicstaticPointgetSize(Contextctx){
WindowManagerwm=(WindowManager)ctx.getSystemService(Context.WINDOW_SERVICE);
Displaydisplay=wm.getDefaultDisplay();
Pointsize=newPoint();
display.getSize(size);
returnsize;
}
再後來發現通過DisplayMetrics也能獲取解析度
publicstaticPointgetSizeNew(Contextctx){
WindowManagerwm=(WindowManager)ctx.getSystemService(Context.WINDOW_SERVICE);
DisplayMetricsdm=newDisplayMetrics();
wm.getDefaultDisplay().getMetrics(dm);
Pointsize=newPoint();
size.x=dm.widthPixels*dm.density;
size.y=dm.heightPixels*dm.density;
returnsize;
}
不久便發現這個新方法時常量錯了,結果確認widthPixels和heightPixels就是寬和高,無需再乘上density。因為widthPixels和heightPixels的單位都是像素,而density指的是像素密度,即一個單位內有幾個像素,所以在我這邊乘上density沒有意義,只有除以density才有意義。dm.widthPixels/dm.density指的是寬度上有多少單位,dm.heightPixels/dm.density指的是高度上有多少單位。網上乘以density的做法,可能只是他們恰好遇上部分特殊機型罷了。最後的代碼如下:
publicstaticPointgetSizeNew(Contextctx){
WindowManagerwm=(WindowManager)ctx.getSystemService(Context.WINDOW_SERVICE);
DisplayMetricsdm=newDisplayMetrics();
wm.getDefaultDisplay().getMetrics(dm);
Pointsize=newPoint();
size.x=dm.widthPixels;
size.y=dm.heightPixels;
returnsize;
}
⑼ 怎麼查看android設備 解析度
為解決Android設備碎片化,引入一個概念density,也就是密度.它指的是在一定尺寸的物理屏幕上顯示像素的數量,一般使用dpi(dots per inch,每英寸像素數)作為單 位.比如設備解析度為240x320,屏幕物理尺寸為1.5英寸x2英寸(對角線為2.5)它的密度可以用解析度/尺寸表示:240/1.5或者即320/2,密度為160dpi。算對角線也是一樣 的,長的平方+寬的平方=160000,開方後=400.可知400/2.5=160.對於用戶來說,密度越大的屏幕顯示效果越精細,因為每英寸顯示的像素數量更多。 以上的描述就是一個藍本(此藍本對應於mdpi). 按照此藍本一個dp相當於160dpi屏幕中的一個px.同理在,在320dpi的屏幕中,一個dp相當於2個px. 通過這樣的成比例放縮,Android解決了需要多個不同屏幕中的大小顯示問題. 所以在Eclipse的布局文件中,以3.7in WVGA(Nexus One)(480x800)為例,可以看見其為sw320dp,h533dp. 即寬有320dp,高為533dp. 是怎麼計算出來的呢? 將(480的平方+800的平方)開方=932.9523031 然後932.9523031/屏幕尺寸3.7=252.14927,此結果為此手機的屏幕密度. 然後按照上面的藍本,就應該要計算在該手機上1dp對於多少px.計算如下: 160 1dp=1px 252.14927 1dp=?px 結果為: 252.14927/160=1.5759329 注意: 在此一般不取1.5759329,只取到1.5即可. 所以:480/1.5=320;800/1.5=533.3333(通常取為533),即上述的sw320dp,h533dp. 手機屏幕密度的對應關系 120上下浮動的都屬於ldpi 160上下浮動的都屬於mdpi 240上下浮動的都屬於hdpi 320上下浮動的都屬於xdpi 以摩托羅拉ME525+(3.7英寸 解析度854x480像素)為例: 將(480的平方+854的平方)開方=979.6509 然後979.6509/屏幕尺寸3.7=264.770529,此結果為此手機的屏幕密度.對應為hdpi 264.770529/160=1.6548 即在此手機中1dp=1.6548個像素,只取到1.6即可 所以:480/1.6=300;854/1.6=533.75(通常取為533) 按照這個邏輯,算出來的寬應該是只有300dp.悲劇的是,如果某個控制項的寬為300,在此手機上是不能鋪滿手機的寬的. 也就是說除以的不是1.6而還是1.5!!!!所以將寬設置為320即可 總結:在hdpi中,像素轉換為dp統一用的是:像素/1.5 以聯想K860(5.0英寸,解析度1280x720像素)為例: 將(1280的平方+720的平方)開方=1468.60478 然後1468.60478/屏幕尺寸5=293.720,此結果為此手機的屏幕密度.對應為xdpi 293.720/160=1.8357 即在此手機中1dp=1.8357個像素 所以:1280/1.8357=697.281;720/1.8357=392.22 按照這個邏輯,算出來的寬應該是392.22.悲劇的是,如果某個控制項的寬為392.22,在此手機上是顯示不完全的. 也就是說除以的不是1.8而是2!!!!所以將寬設置為360即可 總結:在xdpi中,像素轉換為dp統一用的是:像素/2 注意問題1: 在建立模擬器的時候注意 854x480在Hardware中,應該將Abstracted LCD density設置為240,並手動輸入解析度 1280x720在Hardware中,應該將Abstracted LCD density設置為320,並手動輸入解析度 注意問題2: 多個layout文件夾在命名上有相應規則,以解析度480x854為例,需要建立480x854像素的layout文件夾,命名:layout-854x480,有兩點需要注意:①大數(854)必須在前, 否則會報錯;②兩個數字之間的符號是小寫英文字母“x”,不是乘號
⑽ 如何用adb命令 獲得Android手機解析度
在命令行中輸入「adb shell」 ;進入shell之後,再輸入「cat /system/build.prop grep "proct"」 設備信息主要是存放在「/system/build.prop」文件,通過「cat」命令就可以查看了。
拓展資料:
adb的全稱為Android Debug Bridge,就是起到調試橋的作用。通過adb我們可以在Eclipse中方便通過DDMS來調試Android程序,說白了就是debug工具。
它的主要功能有:
* 運行設備的shell(命令行)
* 管理模擬器或設備的埠映射
* 計算機和設備之間上傳/下載文件
* 將本地apk軟體安裝至模擬器或android設備