我想知道如何在Android中使用Shape
類繪製矢量圖可能類似於另一個矢量繪圖標準。SVG到Android形狀
由於Shape
是Drawable
,Drawable通常定義爲XML,這聽起來很像SVG中的矢量繪圖命令。
我的問題是:有人創建了一個XSLT轉換或其他機制,用於將SVG繪圖描述轉換爲Android Shapes?
我想知道如何在Android中使用Shape
類繪製矢量圖可能類似於另一個矢量繪圖標準。SVG到Android形狀
由於Shape
是Drawable
,Drawable通常定義爲XML,這聽起來很像SVG中的矢量繪圖命令。
我的問題是:有人創建了一個XSLT轉換或其他機制,用於將SVG繪圖描述轉換爲Android Shapes?
,我能找到最接近的是svg4mobile。
儘管我不相信它會對Drawables XML進行轉換,但它確實會讀取svg並對Drawable類進行相應的調用。
嗯,不完全一樣。但我確實已經將libsvg移植到了android,這使您可以加載SVG文件並將它們繪製到Canvas。
請查看:
網站上說你必須使用bazaar下載,夠簡單! – 2010-06-23 12:31:32
如果只是它不是GPL!只適用於免費軟件,只是讓你知道 – 2012-01-27 20:38:27
@AntonP只是嘗試了一下你的庫,裏面有一個用inkscape創建的圖像,大約300kb。這不能渲染:內存不足錯誤:)) – 2013-10-06 14:58:58
除了上面提到的2個GPL庫之外,還有一個名爲TinyLine的商業庫實現了SVG Tiny子集,儘管如果你想創建一個非GPL的應用程序,它可能是一個更好的許可選擇。
目前包括我在內的一些人獨立工作。
您可能會發現這些文章的工作方案:
Android. ImageView with SVG Support.
Android ImageView and Drawable with SVG support
嘗試都不能編譯它的ndk部分,它會halpfully,如果你想更新項目設置 – 2013-10-06 15:01:55
另一個非GPL的庫(這個人是Apache許可證2.0),在谷歌的Androidify應用程式所使用的:SVG -Android
偉大AndEngine具有裝載SVG的延伸,它與任何resolut光柵到紋理離子,具有顏色替換和其他偉大的功能。真的有用。例如,您可以嘗試引擎作者a free game。
注意:該引擎最適合全屏2D遊戲,並基於OpenGL 2視圖。 LGPL
「偉大的AndEngine ......」更好地說「偉大越野車AndEngine ...「 – 2013-10-07 19:09:03
我也在尋找像這樣的東西,我很困惑爲什麼這不是實現噴氣。正如你所提到的,繪圖命令的簡單轉換就足夠了(至少對於SVG的一個子集)。我甚至有時爲非常簡單的形狀手動完成這項工作(定義像這樣的漸變的按鈕背景非常棒),而且我對SVG的細節或多或少一無所知。 – PSIXO 2014-02-27 14:07:10
偉大的問題,錯誤的電話關閉它。我認爲從SVG到Shape的轉換器是一個絕妙的想法。我可能會寫一個,但我討厭XSLT,所以我可能會用C#來做,或者我猜它應該是Java。 – 2014-06-10 06:35:13
我會建議你使用VectorDrawable。我找到的最佳解決方案是將VectorVectorDrawable與SVG一起使用到VectorDrawable轉換器。 ** BetterVectorDrawable **是Android 4.0+的VectorDrawable實現,在Android 5.0+上具有可配置的回退行爲。 ** SVG到VectorDrawable轉換器**是SVG圖像到Android VectorDrawable XML資源文件的批量轉換器。在線版本:http://a-student.github。io/SvgToVectorDrawableConverter.Web/ – 2015-09-10 11:42:30