2013-07-20 31 views
1

我使用一個按鈕背景的9補丁文件,而draw9patch工具驗證文件,Android Studio中它與文物和裁剪呈現。我不確定這是Android Studio中的錯誤還是我的9補丁錯誤。這是按鈕的代碼,如果有幫助的話。9補丁背景渲染與文物和種植

<ImageButton 
      android:layout_width="fill_parent" 
      android:layout_height="40dp" 
      android:id="@+id/imageButton" 
      android:layout_weight="1" 
      android:src="@drawable/tool_panel_share_icon_default" 
      android:baselineAlignBottom="true" 
      android:background="@drawable/view_type_button_background_left_default" 
      android:scaleType="fitCenter" 
      /> 

這裏是我的9補丁:

9-patch file

這是我認爲它應該看起來像按鈕:

enter image description here

,但是這是我實際上越來越多(底線是在黑暗背景下透明度爲26%):

enter image description here

你可以看到左邊有一條錯誤的黑線,右邊的黑線顯然是裁剪出來的。

更新:

下面是實際的9補丁文件,我剛纔發佈的是該文件的一個屏幕截圖,爲了看細節的緣故。

enter image description here

UPDATE2:

好吧,我想通了,如何讓它正常顯示,但我仍然不明白最初的失敗的原因。我意識到如果將頂部標記放置在9修補程序內容的黑色黑線旁邊,則會失敗;不過,如果我將它向左移動1個像素,它就會正確渲染。

作品: enter image description here

失敗: enter image description here

這是新的9補丁併成功渲染的截圖:

enter image description here

enter image description here

更新3:

我只是重新使用draw9patch工具9補丁和行爲是一致的。

+0

我仍然在尋找什麼導致此行爲的答案。 –

+0

您是使用draw9patch工具還是使用某種gfx資產創建工具(如Photoshop)創建9patch文件?如果9patch文件沒有被draw9patch保存,則會出現各種古怪的行爲。 – Kai

+0

不幸的是我從一家設計工作室收到這些資產,所以我不確定他們是如何製作它們的。 –

回答

0

你讓它太高。

儘量做到像我張貼。

enter image description here

+0

您能張貼更大的圖片嗎?我無法弄清楚細節。 –

+0

爲什麼你需要更大的圖片? 9-patch用於縮放〜 – kvh

+0

沒關係,我下載了它並放大。但是這個9-patch看起來和我的完全不同,你的左邊有漸變,並且你刪除了底部的黑線和漸變。此外,我不明白你的意思是「你做得太高」。 –

1

我下載了9patch png格式您提供的,下面的圖片是你的PNG,這是不正確的左黑點。所述9patch PNG圖像的邊界應該只有1個像素寬度,並且只能用黑色作爲其顏色,它是(0,0,0)。

查看this page瞭解更多信息。

enter image description here

+0

這不是實際的9補丁文件,而是該文件的屏幕截圖。我希望它足夠大,可以看到。我會將原始文件添加到我的帖子中。 –

+0

這是真的有線,抱歉不能幫你。 – faylon

1

我也面臨着同樣的你一旦問題。

我想你把九個補丁圖像放在分辨率低於設備的文件夾中。

當設備嘗試獲取圖像時,需要將圖像向上縮放,並且您的頂部標記正好位於「邊框」,即漸變區域enter image description here

這會導致縮放後的圖像不可預知。

+0

設備是xhdpi,9修補程序位於drawable/xhdpi文件夾中。 –

+0

真的很有線。 – Pongpat

0

你使用

... \ Android的\ Android的SDK \ TOOLS \ draw9patch.bat

繪製你的形象?這真的很有幫助,並顯示初步結果。

+0

看更新#3 –