2014-09-06 15 views
0

我正在開發一個Android應用程序。此應用必須在所有Android設備上均可用。但是,我怎樣才能做出響應式設計?例如,我想設置一個背景圖像,但圖像將調整到不同的分辨率,這是一個混亂。在Android應用程序中的響應式設計

搜索在谷歌,我發現這個解決方案:

Configuration config = getResources().getConfiguration(); 
if(config.smallestScreenWidthDp >= 600){ 
    setContentView(R.layout.activity_main_tablet); 
}else{ 
     setContentView(R.layout.activity_main); 
} 

正是這種真正爲所有的設備的Android應用程序的唯一途徑?我必須爲每個設備創建一個活動和不同的圖像?有超過十個不同的決議。

感謝

回答

2

如果你想獲得每個設備上響應式佈局的結果,好的辦法是使用的RelativeLayout,並根據孩子的觀點類似按鈕,你應該使用「match_patent」或舊的SDK版本「film_patent」屬性。

鏈接在這裏:

http://developer.android.com/guide/topics/ui/layout/relative.html

什麼圖片?

Android開發人員指示說有四個可繪製的資源文件夾(mdpi,hdpi,xhdpi和xxhdpi),您應該將較早準備的圖像放在合適的尺寸和密度下。

鏈接在這裏:

http://developer.android.com/guide/practices/screens_support.html

我申請一個另一種方式。在我的應用程序中,有相對佈局,每個子視圖都有match_parent屬性,比如按鈕。 參考圖像,我們準備了240dpi的高清分辨率圖像,每款設備上的應用看起來不錯(三星趨勢精簡版,Nexus 5)。

所以說實話,如果你打算開發自己的手持設備的最佳方法是準備兩個圖像(HD和全高清)的應用程序,但這只是我的意見;)

+0

謝謝,我會做你說什麼,但是背景圖片呢?背景會自動調整大小,因此取決於背景圖像會變形的設備分辨率。我該如何解決這個問題? – 2014-09-06 12:51:02

+0

這是真的,背景圖片也在不同的設備上調整大小。我對背景圖像也做了同樣的處理。在小分辨率設備和高清我準備一個高清圖像和全高清另一個。但我也在每臺設備上測試了一個HD圖像(240dpi),效果非常好。這取決於你對應用程序設計的關注程度(對於準備好幾個圖像的遊戲,但對於普通應用程序,您可以嘗試我的解決方案,它對我有用。) – 2014-09-06 14:37:43