我想在我的應用程序中使用附加的九個修補程序圖像作爲視圖的背景(該圖像來自android-15 sdk資源)。如圖所示,圖像在圖像左側有兩個垂直點,圖像上方有兩個水平點,圖像下面有一條水平線。這些圖像中的點/線顯示在我的應用程序中。Android:圍繞九個補丁圖像的點和線?
我將文件從sdk文件夾複製到資源目錄中,並將可繪製資源設置爲我的視圖的背景。使用此圖像作爲視圖的背景的正確方法是什麼,使點/線不顯示?
我想在我的應用程序中使用附加的九個修補程序圖像作爲視圖的背景(該圖像來自android-15 sdk資源)。如圖所示,圖像在圖像左側有兩個垂直點,圖像上方有兩個水平點,圖像下面有一條水平線。這些圖像中的點/線顯示在我的應用程序中。Android:圍繞九個補丁圖像的點和線?
我將文件從sdk文件夾複製到資源目錄中,並將可繪製資源設置爲我的視圖的背景。使用此圖像作爲視圖的背景的正確方法是什麼,使點/線不顯示?
線條和圓點是什麼使這個NinePatch
。左側和頂部的點定義了可以拉伸的區域,而另外兩條線定義了在NinePatch
內繪製東西的邊界框。
如果您將這樣的圖像設置爲背景 - 那些線條將不會顯示。要自己創建這些圖像,可以使用android sdk中的draw9patch工具(http://developer.android.com/guide/developing/tools/draw9patch.html)。
要記住的一件事是,NinePatch
圖片的文件類型必須是,例如:image.9.png
。否則,這些線將被繪製。
謝謝,點/線顯示,因爲當我重命名文件,我刪除了0.9。 – ab11 2012-01-13 13:52:57
你使用位於你的工具文件夾中的draw9patch應用程序?這個應用程序可以用來簡單地創建一個九個補丁圖像。
不,這9個補丁映像包含在sdk中。我將它複製到我的應用程序的資源文件夾中以用於我的應用程序。我編輯了我的問題,以澄清 – ab11 2012-01-13 12:39:17
通過可伸縮的補丁,您基本上可以告訴Android您想要重複的圖像中哪些行和像素列。當您拉伸標準圖像時,有兩種可能性:一種是按比例縮放,但由於插值仍然失去銳度;二,它不成比例地縮小,不僅失去了銳度,而且失去了它的形狀。不成比例的縮放的下面是一個例子:
所以黑線的目的,它告訴Android的圖像中的哪個區域是安全的重複。頂角定義了它可以拉伸的列,而左角定義了可以拉伸的行。底部和右側角落只是定義了實際的內容區域(例如允許按鈕放置文本的位置),您可以預留額外的空間來填充框架。在下面的圖片中,您可以看到框架外側的兩個黑色像素定義了圖像上的行,而頂部的一個定義了一個列。
及以下,這顯示了一個9修補伸出到各種尺寸的結果。如果它被放大到更寬,定義的可伸縮列左側和右側的圖像的一半將與新大小的左側和右側對齊,並重復定義的列以填充其間的空間。定義的行也會發生同樣的情況;如果你使用倍數(我不相信你可以使用2個以上的拉伸行/列),它只是用它們均勻地填充空間;在這種情況下,我用它來保持梯度均勻分割中間。
這是一個** 9 **補丁圖像,重命名爲_filename.9.png_,然後再試一次! – 2012-01-13 12:49:43
+1。我有一個類似的問題得到了這個職位的回答。 – Jeroen 2013-03-22 16:47:49