我試圖在LayerList
中使用VectorDrawable
而不縮放矢量。例如:如何將矢量繪製在層列表中而不縮放
<layer-list>
<item android:drawable="@color/grid_item_activated"/>
<item android:gravity="center" android:drawable="@drawable/ic_check_white_48dp"/>
</layer-list>
可提拉ic_check_white_48dp
ID定義爲:
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="48dp"
android:height="48dp"
android:viewportWidth="24.0"
android:viewportHeight="24.0">
<path
android:fillColor="#FFFFFFFF"
android:pathData="M9,16.17L4.83,12l-1.42,1.41L9,19 21,7l-1.41,-1.41z"/>
</vector>
所需的效果是用於向在所述層可繪製爲中心選中圖標,無需縮放。問題是,上面的圖層列表會導致檢查圖標縮放以適合圖層大小。
我可以產生期望的效果,如果我與PNG圖像對於每個密度更換矢量繪製和修改層-列表作爲這樣:
<layer-list>
<item android:drawable="@color/grid_item_activated"/>
<item>
<bitmap android:gravity="center" android:src="@drawable/ic_check_white_48dp"/>
</item>
</layer-list>
是否有什麼辦法可以此使用VectorDrawable
做?
看來,這可能只是API 21/22中的一個錯誤。我剛剛在API 23設備上進行了測試,並且矢量繪圖已正確居中。 – ashughes
你應該回答你自己的問題並接受它。這種方式更加明顯,並且問題沒有顯示爲沒有答案。 –
我還沒有回答我的問題,因爲我還沒有在API 21/22上做什麼的答案。我的臨時解決方案是使用PNG而不是矢量。希望仍然可以找到一種方法來使載體工作。 – ashughes