我真的不明白如何創建9patch圖像,但我發現了一個正在處理我的片段的圖像。問題是邊框外的顏色不是背景的顏色。我嘗試將圖像中的像素顏色更改爲背景顏色,但生成的圖像不再有效。 這是工作的形象,但有錯誤的顏色:如何修改9patch圖像Android的顏色?
http://i.stack.imgur.com/cJBfV.png
我怎樣才能改變這種狀況是境外,或者我怎麼能建立這樣一個新的9patch圖像的像素的顏色那?
我真的不明白如何創建9patch圖像,但我發現了一個正在處理我的片段的圖像。問題是邊框外的顏色不是背景的顏色。我嘗試將圖像中的像素顏色更改爲背景顏色,但生成的圖像不再有效。 這是工作的形象,但有錯誤的顏色:如何修改9patch圖像Android的顏色?
http://i.stack.imgur.com/cJBfV.png
我怎樣才能改變這種狀況是境外,或者我怎麼能建立這樣一個新的9patch圖像的像素的顏色那?
您可以使用Android SDK提供的Draw 9-patch工具編輯9修補程序。然而,由於您的圖像已經包含9個可伸縮區域,因此您可以在圖像編輯器(如GIMP或Photoshop)中編輯顏色。確保將圖像重命名爲使用.9.png
擴展名,以便將其識別爲9修補圖像。
我找到了draw9patch,但我不知道如何修改顏色.. –
使用GIMP或任何圖形編輯器。 –
九補丁是正常的png文件。任何能夠顯示九個補丁的軟件對它們的解釋都是不同的。換句話說,你可以用任何png編輯器編輯它們。
還有一些專用工具(例如:在android sdk/tools/draw9patch中)以不同的尺寸顯示結果。
那他們怎麼解釋呢?
第一行和最後一行+九像素圖像中像素的第一列和最後一列僅包含黑色或透明像素(並且不顯示那些第一/最後一行/列)。
(交點)左邊和上邊的黑色像素定義了可伸縮區域。 (可以有多個)
(交點)右側和底部邊緣的黑色像素定義了內容區域。 (你只能有一個)
我改變了一些像素的顏色通過Photoshop和我保存編輯後的圖像作爲PNG,但是當我修改名稱是.9.png android無法找到文件 –
你是什麼意思「無法找」 ? – ben75
在android - >無法找到您的繪圖文件夾中的文件。這發生在我修改了Photoshop中的顏色 –
你可以使用DrawableCompat
與supprot v4。
現在,我會告訴你用這種方法改變烤麪包的顏色。如你所知,烤麪包背景是一個名爲toast_frame.9.png
一個9patch可繪製(你可以找到它在你的SDK目錄)
驗證碼:
Toast toast = Toast.makeText(this, content, Toast.LENGTH_SHORT);
toastView.findViewById(android.R.id.message);
View toastView = toast.getView();
Drawable toastBg = toastView.getBackground();
Drawable drawable = tintDrawable(toastBg, ColorStateList.valueOf(Color.RED));
toastView.setBackground(drawable);
toast.setView(toastView);
toast.show();
public Drawable tintDrawable(Drawable drawable, ColorStateList colors) {
final Drawable wrappedDrawable = DrawableCompat.wrap(drawable);
DrawableCompat.setTintList(wrappedDrawable, colors);
return wrappedDrawable;
}
,如果您想了解更多,請點擊此:http://www.race604.com/tint-drawable/
你是一個天才!謝謝 – Antonio
http://radleymarx.com/blog/simple-guide-to-9-patch/ –