2013-12-10 15 views
0

在佈局中處理圖像時,您會推薦什麼策略?我們都知道,Android的硬件差異很大。不僅在密度方面,還有屏幕尺寸。一些移動設備,可能大部分舊學校時間的寬度爲320dip,但例如Galaxy S4有360dip。在佈局中處理圖像時應該選擇什麼策略?

我的問題是最好的可視化我想用一個例子。可以說我有2張圖片,我想連續顯示(horrizonatly)。如何最好做到這一點(通常,除了例外情況外,在大部分項目中):

1)固定的寬度和高度? 2)基於可用空間的百分比的寬度和高度(例如,與重量屬性的組合)? 3)確保在將圖像放入「資源」之前確保圖像尺寸正確,然後僅「顯示它們」,以wrapped_content值顯示它們,並使圖像的實際尺寸決定它們佔用屏幕的空間

在那裏,根據屏幕尺寸的不同,還可以添加不同的佈局,但是如果有人執行了10多個與圖像打交道的項目,並向他提供小費,我真的很高興。過去的經驗,如何確定佈局圖像的尺寸,最好的長期戰略是什麼。

回答

0

縮放您擁有的每張圖片。 您可以使用此工具來縮放:tool

0

我相信對您的問題沒有一般的答案。相反,您需要根據您的UI設計,設備/方向兼容性和性能要求做出最佳設計決策。

例如,在很多情況下,設計將決定如何在屏幕上顯示不同屏幕尺寸的圖像,無論是手機/平板電腦。因此,無論您將它們顯示爲固定寬度還是屏幕大小的百分比取決於您之後的視覺效果(儘管在這種情況下,在多個DPI存儲桶中使用縮放資源,您可以獲得類似結果)。

對於性能很重要的示例,您可能需要考慮以完整分辨率(使用DPI存儲桶)顯示圖像比使Android擴展它們更有效。但是,由於您正在處理存儲桶,由於DPI範圍的不精確性,您將無法完全控制UI的顯示方式,因此在某些屏幕尺寸/ DPI下可能看起來不理想。

只是爲了展開其他人提到的內容。如果你還沒有準備好,你應該把有關資源的處理在多個屏幕配置一起來看看這款Android的文章:

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

特別是,你要注意,即使使用權或DP時值在佈局中,您仍然希望通過使用將配置分類爲「存儲桶」的資源限定符來儘可能多地優化資源以實現儘可能多的顯示配置。正如我上面提到的那樣,這不僅僅是出於性能的原因,而且也是爲了優化資產外觀,因爲您將依賴Android來重新配置它們,在某些情況下(例如,顯示在一個非常高分辨率的圖像上非常低的DPI設備)給視覺效果不好。

0

這真的很難,如果你想每個設備正確顯示,因爲有3.2英寸的mdpi設備和5.1英寸的mdpi設備。即使你把一個適當的圖像文件放在可繪製的mdpi中,兩個設備都會把它搞亂。所以關於像背景的圖像你必須妥協。

更好的使用清單文件中的設備兼容性或爲不同設備提供不同的軟件包。

對我來說,圖像主要是作爲按鈕的替代。考慮一個像 1的圖像。登錄 - 中間有一段文字的寬條。 - 使用背景顏色進行線性佈局,並將textview放置在重心的位置。 2.用戶選擇圖像,一個共同的背景和一個人的中心圖像 - 在這種情況下,除了人之外,刪除圖像上的所有內容。使用線性佈局,背景與刪除的部分相匹配。在這個線性佈局內部,將圖像視圖與僅有人物的圖像放置在一起。確保此人圖像的大小與Xhdpi匹配。

現在創建只是創建不同的XML佈局文件,但只有一組圖像。現在在不同的設備xml中提到不同的填充圖像和不同大小的線性佈局。 結果將是圖像匹配各種設備。

至少對我來說,它減少了管理20個圖像和幾乎1Mb的應用程序大小的開銷。 希望它對你的情況有用。

1

當涉及到處理多個屏幕密度和大小的圖像時,請考慮分別使用特定於ldpi,mdpi,hdpi和x-hdpi的資源。

此外,使用九塊圖像而不是png或位圖圖像很好。