簡體   English   中英

如何在 Android 中使用 XML 作為可繪制對象創建自定義形狀?

[英]How to create custom shape using XML as a drawable in Android?

看看這個要點。

上面的要點創建了一個如下所示的可繪制對象:

在此處輸入圖片說明

顯然,在要點中, pathData屬性已提供坐標。 這是如何實現的,我的意思是,當然有人不會根據自己的需要找到每個點。

我的問題:這是如何實現的? 是否有任何工具可以這樣做?

像這樣的 Drawable 通過避免使用圖像來減少應用程序的大小。 此外,還有一些關於 XML 中的 drawable 的問題,例如thisthis等等,但我認為我的問題非常不同(並且可能很有用)。

你可以使用一些工具來設計你的 SVG 文件,比如Android Vector Asset Studio

通常人們不會自己編寫 SVG 路徑,他們會使用工具或編輯器來繪制圖形並生成文件。

您需要做的是使用 SVG 編輯器(例如Inkscape (我使用的))創建 SVG 圖像,或者如果您想要更專業(和昂貴)的編輯器,您可以使用Adobe Illustrator 您甚至可以使用可在瀏覽器中訪問的名為svg-edit的工具。

創建所需的藝術作品后,保存您的 SVG 文件。 接下來轉到並打開Android Studio。

  • 右鍵單擊 res 文件夾(通常放置可繪制對象的任何文件夾)
  • 選擇新建 > 矢量資源。 這將打開以下窗口。

在此處輸入圖片說明

  • 選擇本地文件

在此處輸入圖片說明

  • 編輯路徑以將其定向到 svg 文件的位置
  • 根據圖像的復雜性,可能會拋出錯誤(並非所有 svg 元素都轉換為 xml。因此,避免在 svg 中使用復雜的藝術,在這種情況下使用光柵圖像)。
  • Android Studio 自己做了一些修復。 因此,即使拋出錯誤,如果您的圖像呈現良好,那么您就可以開始了。
  • 單擊下一步> 調整更多設置 > 單擊完成
  • 您的 xml 矢量資產已成功創建。

注意:為確保向后兼容,請將以下內容添加到 build.gradle

android{
         defaultConfig{
                        vectorDrawables.useSupportLibrary = true
                      }
       }
dependencies{
              compile 'com.android.support:appcompat-v7:23.2.0'
            }

希望這對你有幫助。 有關更多信息,請參閱 官方文檔

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM