2017-01-12 63 views
1

enter image description here我可以自動爲Android Studio中的各種屏幕分辨率創建XML佈局創建嗎?

這張照片基本上說明了一切。我一直在做的是從一個初始佈局文件手動爲各種設備和屏幕分辨率手動創建不同的佈局類型,重新格式化,而我無情地複製和粘貼,直到我的拇指飆升,即默認,-sw480dp,-large,-xlarge,等等,這取決於我的應用程序的需求。例如,通過-sw720dp添加對-sw480dp的支持允許我的一些擁有較舊手機的朋友在沒有某種NullPointerException的情況下打開我的應用程序,從而導致它們甚至無法使用它。但是,這有時非常乏味,特別是在更改一個佈局文件時,您希望在其他版本中顯示該格式文件。最重要的是,更多受支持的設備意味着更積極的評論,以及隨着時間的推移,爲您的應用減少冗餘負面評論。

所以,我現在的問題是,我想支持所有這些佈局提供的截圖中顯示的突出顯示的佈局,但我真的不想做我爲comment_listview_item重新做了什麼。

我從來沒有和全職Android開發人員的同事一起在設計機構工作過,我還沒有碰到過關於這個主題的好教程。據我所知,無論什麼過程可能會自動化我想在這裏完成的是一個謎。

有沒有什麼我可以做到這一點,通過在屏幕截圖中突出顯示的佈局開始將自動創建新的佈局文件的過程中,以下面的方式呢?我拒絕相信這個過程真正涉及到我目前所有的複製粘貼和重新格式化。乾杯。

+0

你真的需要所有這些變種嗎?他們之間有什麼區別? –

+0

說實話,我不知道,那就是我想弄明白的。例如,v21支持工具欄的高程,而v16支持sans-serif-light字體,而默認的佈局文件不支持。我發現最好每個定義的屏幕分辨率都有這些,但也許有更快,更自動化的方式來實現相同的功能?通過720dp添加對-sw480dp的支持也似乎解決了我的朋友無法打開應用程序,因爲他的舊手機。 Android文檔非常棒,但設計師實際上在做什麼,我想知道。 – santafebound

回答

1

你真的不需要爲每個佈局創建所有這些XML文件。有趣的是,Android會根據設備自動調整屏幕大小。但是,如果屏幕太小或分辨率太低,那麼您的XML內容可能無法在此類設備中正確顯示。爲了提高工作精度,您可以簡單地爲小型,大型和超大型屏幕創建佈局。如果您還想調整橫向模式,則可能需要創建另一個xml。這個鏈接將幫助你:https://developer.android.com/guide/practices/screens_support.html#support

1

我發現爲每個廣泛的大小類別(小,中,大,x大)創建4個版本的佈局,並允許Android系統處理其餘的'真的可以全面工作。

除了使用權重 - 如果您使用2到3層,嵌套權重不應該成爲性能問題 - 您可以動態地縮放碎片並查看組件,方法是使用運行時獲取的設備屏幕寬度和高度的百分比。我稍後會發布代碼示例。