2014-09-26 170 views
1

我正在開發一個Android應用程序,其中服務器發送1920×1080分辨率設備的像素尺寸對應的所有值。我需要該應用程序支持多屏幕resolutions.I通過Android關於支持多屏幕分辨率的文檔。它建議將像素轉換爲傾角然後渲染。我在我的應用程序中這樣做了,但視圖並沒有按照需要渲染。所以我試圖通過動態獲取屏幕寬度和高度來應用簡單的單一方法,然後根據當前屏幕寬度和高度縮放所有尺寸。 假設我目前的屏幕寬度是X,高度是Y.So我做的是 水平方向的比例因子=新屏幕寬度/ 1920。 水平方向縮放尺寸=水平方向縮放比例*水平方向服務器尺寸。 類似於垂直方向。 現在應用程序在我的設備上看起來很好,但它是一種可靠的做事方式?我是否應該處理顯示密度呢?Android擴展多分辨率屏幕

+0

您是否按照屏幕比例創建了圖像? – Hasnain 2014-09-26 06:43:56

回答

0

DP可能是更好的方法,如果你詳細闡述一下你的意思是'不按需要呈現',我可以嘗試提供幫助。

我能想到的兩個主要問題與當前的方法:設備的

  1. 不同的縱橫比。使用你的方法,你最終會失真的圖像。例如,「服務器尺寸」中的正方形爲400x400。在800x480手機中,該廣場將爲162x177 - 不再是廣場。根據您的應用程序的視覺效果和目的,這可能會也可能不是問題。如果這是一個問題,你需要解釋這一點。
  2. 物理視圖的大小。 DP方法的目的之一是確保視圖在不同設備上具有(幾乎)相同的大小,主要是不會太小以至於不能處理用戶。因此,使用DP方法時,高密度設備上的100dp按鈕將爲200px,而在中等密度設備上則爲100px。通過這種方式,這兩個設備上的按鈕在物理上大小相同。 但是你的方法忽略了這一點。以第一個例子中的平方 - 它將始終是屏幕寬度的第五個(400/1920)。根據設備尺寸的不同,這可能很大或很小。再次,根據您的需要,這可能會或可能不會成爲問題。

只要你考慮到這些(也許更多)的問題,你的方法就可以工作。但它確實需要特別的關注,並且可能需要更多的編碼和工作才能使其完美工作,而不是簡單地使用DP。

+0

這是一個非常好的點,但我忘了在OP中提到,該應用程序只需要支持1920 * 1080和1280 * 720分辨率,對於它們兩者來說,(1280/1920)或(720/1080)比例都是相同的。 – 2014-09-26 08:54:02

+0

我仍然會將密度考慮在內,例如,您最終不會購買平板電腦上的巨大按鈕。考慮到寬高比是相同的,您只需稍微修改您的係數即可獲得一致的用戶體驗。但是請考慮一些1280x720設備爲應用程序使用全屏幕區域,而其他1280x720設備爲屏幕上的軟按鈕保留一些空間。所以Galaxy S3與Galaxy聯繫的實際寬高比不相等。但是,如果您使用的是全屏沉浸式模式,那麼您很好。 – nitzanj 2014-09-26 10:56:53