2012-09-24 38 views
0

我有一個文本字段的圖像,我想把它作爲我的文本字段的背景。我製作了九張切片圖像,這樣我就可以改變圖像的大小,但保留了角落的完整性。我在我的可繪製xhdpi中有這個圖像,我想在我的hdpi和mdpi中使用相同的圖像。我需要在我的應用程序中爲多個圖像執行此操作,因此我不希望爲每個像素密度創建九個切片圖像。當我將我的九片切片拖入照片商店以更改圖像大小時,上方的黑線和文本框的sid現在位於圖像中,而不是圖像上方/左側的像素。有什麼方法可以擴展我的九片?或者我必須爲每個像素密度製作九個切片?尺度九切片圖像android

+2

^這不完全正確。通過使用多種密度,可以縮放「非縮放」部分,例如像op所說的拐角。 – Edison

+0

我使用九個切片,這樣我就可以在不影響角落的情況下將文本框拉伸到屏幕的全長。高度應該根據像素密度而改變,現在它不會。它在我的手機上使用了hdpi的xhdpi,顯示比我想要的更高。 – KKendall

+0

我想他意識到他的錯誤! – KKendall

回答

2

經驗法則:當您爲每個密度縮放圖像時,即使高度和寬度都是整數倍,也要注意混疊問題。

也就是說:爲每個像素密度做一個九個切片以保證安全,因爲您的黑點/線條可能會被切掉。

+0

是的。但是,您只能將其中一個放在xhdpi目錄中,但如果您支持ldpi屏幕,請務必使用至少2像素寬的縮放片來避免混疊問題(xhdpi爲mdpi的2倍)或3像素寬。 –

+1

不要這樣做。較低密度的手機可能會有更低的內存和堆大小爲您的應用程序。因此,在解碼xhdpi映像時可能會遇到OOM錯誤。當我試圖懶惰的圖像時,它傷害了我幾次。 – Edison

+1

很好的建議。對於那些密度較低的手機,您可能需要在ldpi中提供單獨的資源。這取決於你的九個補丁有多大,但是。 –

1

如果您想對所有人使用相同的圖像,只需在res中創建一個名爲drawable-nodpi的新文件夾,並且它將在沒有縮放的情況下爲所有密度使用相同的圖像。如果邊界非常薄,那麼我對大部分9補丁都是這樣做的。如果您在xhdpi設備上有厚邊框,請記住,如果使用相同的設備,它們會在mdpi設備上顯得更厚。如果這不是問題,在我看來,請參考nodpi的方法。

0

使用Photoshop縮放圖像將刪除或添加像素到圖像。當它這樣做時,它將改變比例/填充指南,使它們不再是1像素寬和純黑色。爲了避免這種裁剪圖像您縮放圖像之前刪除導遊然後將它們添加回。

或者你可以convert 9-patch 圖像使用此谷歌9補丁工具的其他決議。