當前位置:首頁 » 安卓系統 » android獲取當前屏幕

android獲取當前屏幕

發布時間: 2022-08-28 12:54:14

『壹』 android編程:android中如何獲取屏幕大小

java">Displaydisplay=getWindowManager().getDefaultDisplay();
Pointsize=newPoint();
display.getSize(size);
intwidth=size.x;
intheight=size.y;

『貳』 安卓手機是怎樣抓取屏幕的

我來說,是手機自帶的截屏工具,你先摁住home鍵,再摁電源鍵,現在是一起摁住的,在一起松開就好了,就截屏了

『叄』 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手機或Pad的屏幕的物理尺寸,以便於界面的設計或是其他功能的實現。下面就介紹講一講如何獲取屏幕的物理尺寸
下面的代碼即可獲取屏幕的尺寸。
在一個Activity的onCreate方法中,寫入如下代碼:

[java] view plain print?
DisplayMetrics metric = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metric);
int width = metric.widthPixels; // 屏幕寬度(像素)
int height = metric.heightPixels; // 屏幕高度(像素)
float density = metric.density; // 屏幕密度(0.75 / 1.0 / 1.5)
int densityDpi = metric.densityDpi; // 屏幕密度DPI(120 / 160 / 240)

DisplayMetrics metric = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metric);
int width = metric.widthPixels; // 屏幕寬度(像素)
int height = metric.heightPixels; // 屏幕高度(像素)
float density = metric.density; // 屏幕密度(0.75 / 1.0 / 1.5)
int densityDpi = metric.densityDpi; // 屏幕密度DPI(120 / 160 / 240)

但是,需要注意的是,在一個低密度的小屏手機上,僅靠上面的代碼是不能獲取正確的尺寸的。比如說,一部240x320像素的低密度手機,如果運行上述代碼,獲取到的屏幕尺寸是320x427。因此,研究之後發現,若沒有設定多解析度支持的話,Android系統會將240x320的低密度(120)尺寸轉換為中等密度(160)對應的尺寸,這樣的話就大大影響了程序的編碼。所以,需要在工程的AndroidManifest.xml文件中,加入supports-screens節點,具體的內容如下:
[html] view plain print?
<supports-screens
android:smallScreens="true"
android:normalScreens="true"
android:largeScreens="true"
android:resizeable="true"
android:anyDensity="true" />

<supports-screens
android:smallScreens="true"
android:normalScreens="true"
android:largeScreens="true"
android:resizeable="true"
android:anyDensity="true" /> 這樣的話,當前的Android程序就支持了多種解析度,那麼就可以得到正確的物理尺寸了。

[java] view plain print?
import android.app.Activity;
import android.os.Bundle;
import android.util.DisplayMetrics;
import android.widget.TextView;
public class TextCanvasActivity extends Activity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//setContentView(new MyView(this));

//定義DisplayMetrics 對象
setContentView(R.layout.main);
DisplayMetrics dm = new DisplayMetrics();
//取得窗口屬性
getWindowManager().getDefaultDisplay().getMetrics(dm);

//窗口的寬度
int screenWidth = dm.widthPixels;

//窗口高度
int screenHeight = dm.heightPixels;
TextView textView = (TextView)findViewById(R.id.tv1);
textView.setText("屏幕寬度: " + screenWidth + "\n屏幕高度: " + screenHeight);
}
}

『伍』 百度android地圖怎麼獲取當前屏幕中心點的坐標

true]GeoPoint centerPoint = mapview.getMapCenter();// 地圖中心坐標 int tbSpan = mapview.getLatitudeSpan();// 當前緯線的跨度(從地圖的上邊緣到下邊緣) int lrSpan = mapview.getLongitudeSpan();// 當前經度的跨度(從地圖的左邊緣到地圖的右邊緣) GeoPoint ltPoint = new GeoPoint(centerPoint.getLatitudeE6() - tbSpan / 2, centerPoint.getLongitudeE6() - lrSpan / 2);// 左上角坐標 GeoPoint rbPoint = new GeoPoint(centerPoint.getLatitudeE6() + tbSpan / 2, centerPoint.getLongitudeE6() + lrSpan / 2);// 右下角坐標 查看原帖>>

『陸』 怎樣獲取Android手機屏幕的大小

要獲取手機屏幕大小,其實太簡單,只要用尺量取屏幕對角尺寸(單位:mm)。然後用這個尺寸除以25.4,就得到英寸了。譬如:127mm/25.4=5.0 英寸。

『柒』 android 獲取屏幕寬高與解析度寬高是一回事嗎

下面的代碼即可獲取屏幕的尺寸: 在一個Activity的onCreate方法中,編寫以下代碼: DisplayMetrics metric = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(metric); int width = metric.widthPixels; // 寬度(PX) int height = metric.heightPixels; // 高度(PX) float density = metric.density; // 密度(0.75 / 1.0 / 1.5) int densityDpi = metric.densityDpi; // 密度DPI(120 / 160 / 240) 需要注意的是,在一個低密度的小屏手機上,僅靠上面的代碼是不能獲取正確的尺寸的。 所以,需要在工程的AndroidManifest.xml文件中,加入supports-screens節點,如下: 這樣當前的Android程序就支持了多種解析度,那麼就可以得到正確的物理尺寸了。

『捌』 android如何獲取整個屏幕大小

有兩種方式:(獲取到的大小准確度與手機的類型有關,google手機你還需要加上底部欄)
1.
WindowManager
wm
=
(WindowManager)
getContext()
.getSystemService(Context.WINDOW_SERVICE);
int
width
=
wm.getDefaultDisplay().getWidth();
int
height
=
wm.getDefaultDisplay().getHeight();
2.
WindowManager
wm
=
this.getWindowManager();
int
width
=
wm.getDefaultDisplay().getWidth();
int
height
=
wm.getDefaultDisplay().getHeight();

熱點內容
索尼安卓11如何退回安卓10 發布:2025-01-13 10:24:09 瀏覽:127
程序編譯結構 發布:2025-01-13 10:24:08 瀏覽:90
創建郵箱地址伺服器連接錯誤 發布:2025-01-13 09:49:24 瀏覽:723
linux編輯文檔 發布:2025-01-13 09:47:51 瀏覽:435
二手製冷壓縮機 發布:2025-01-13 09:43:59 瀏覽:585
網魚電腦密碼多少 發布:2025-01-13 09:33:46 瀏覽:464
如何取消子賬號密碼 發布:2025-01-13 09:22:41 瀏覽:347
抖音搜索有緩存 發布:2025-01-13 09:17:28 瀏覽:590
c語言字元數組連接 發布:2025-01-13 08:55:11 瀏覽:901
國二c語言編程題目 發布:2025-01-13 08:45:41 瀏覽:285