2016-12-28 59 views
8

我有一個SVG drawable。有時候,我必須調整大小。通常我更新寬度和高度。我無法解決的是viewportwidth和height如何影響svg。看起來改變這些尺寸可以將svg推出可見區域。視窗寬度/高度對安卓繪圖的影響

這些測量單位代表什麼?它與寬度和高度分別是什麼關係? (通常情況下)documentation from Google嚴重不足。有人可以詳細說明嗎?

+0

VectorDrawable不是SVG可繪製的。這是一種不同的格式。 – Christian

回答

11

viewportWidthviewPortHeight定義了VectorDrawable內容被繪製的文檔區域。它們相當於SVG viewBox的寬度和高度字段。研究SVG viewBox如何工作,如果您需要進一步的解釋。

所以想象你的形狀是一個100寬100高的矩形。您的viewportWidthviewPortHeight通常都應設置爲100.以便Android知道底層形狀的尺寸。

widthheight屬性告訴Android什麼是VectorDrawable的默認(「內部」)渲染大小。您可以將它們想像爲PNG或GIF(或SVG)的寬度和高度。

因此,VectorDrawable的內容可以在100x100的區域上定義。但是如果你的寬度和高度是24x24,內容將從100x100縮小到24x24。

所以這就是爲什麼用VectorDrawable與viewportWidthviewPortHeight混淆的原因。因此,例如,如果將它們更改爲50x50,則最終會將形狀的一個角縮小到24x24,而不是整個形狀。

+0

感謝您的描述... – giulio

4

Viewportwidth/Viewportheight是SVG路徑的畫布尺寸,width/height是整個drawable的實際固有尺寸。

相關問題