2013-04-10 101 views
0

我有一些大的分辨率圖像,我需要縮放以適合每個屏幕作爲背景,圖像的尺寸爲1800x2880,我需要它們在沒有任何拉伸的情況下縮小到每個屏幕(它們是插圖) 。 什麼是最好的方法呢?Android縮小圖像

+1

看來你有兩個相互衝突的目標。如果比例不匹配,則不能*固有*使圖像適合另一個比例而不拉伸。要麼你不得不裁剪它的一部分,顯示一些空的空間,否則你將不得不伸展它。 – dmon 2013-04-10 14:47:51

+0

我已經試過bitmapscaling以適合樣本,但屏幕的某些部分仍未填充,所以我使用scaletype fitxy來拉伸它。這是唯一的方法嗎?我試圖表明,不可能在每個Android手機上都製作這樣的圖像,但是我一直在努力「找到一種方式」。 – user2235899 2013-04-10 14:51:44

+0

畫一個正方形。繪製一個矩形。問*他們*以適應廣場上的矩形。 – dmon 2013-04-10 14:59:17

回答

1

最好的方法是閱讀關於supporting multiple screen sizes的android開發人員指南,並按照他們的說法進行操作。

任何其他人可能會在這裏回答您將簡化或複製或重寫與他自己說的話。

編輯:

關於拉伸圖像,你有兩種可能的方法:

  • create a 9-patch與你的背景,因此它可以填充在最後一個像素(或圖像的關鍵領域填補可以/應該填寫而不改變它的一般方面(這取決於圖像的內容)
  • 標記圖像查看使用CENTER_INSIDE

縮放圖像均勻(保持圖像的縱橫比),使得 圖像的兩個尺寸(寬度和高度)將等於或小於所述視圖(負填充)的相應尺寸小 。

+0

我已閱讀該頁面,但我無法確保多個分辨率的drawables填充整個屏幕看起來不舒服; imagecale fitxy完全相反,我應該把這些圖像放在drawable-nodpi中嗎? – user2235899 2013-04-10 14:44:56

+0

伸展和DPI的數量是不同的東西。我會更新我的答案,關於伸展 – Budius 2013-04-10 14:46:13

+0

好吧,所以基本上使用9補丁來定義圖像的哪些區域可以伸展是它嗎?去試試這個 – user2235899 2013-04-10 15:03:19

0

設置在xhdpi文件夾中的圖像。在XML中,您將使用fillparent.it將不會拉伸。

+0

屬性fill_parent已過時,並且match_parent是其新值 – 2013-04-10 14:40:10