我有一个VectorDrawable:
$this->db->trans_start();
$this->db->query('AN SQL QUERY...');
$this->db->query('ANOTHER QUERY...');
$this->db->query('AND YET ANOTHER QUERY...');
$this->db->trans_complete();
在运行时,我想知道<vector android:height="24dp" android:viewportHeight="1052.3622"
android:viewportWidth="744.0945" android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="#ff0000"
android:name="group1"
android:pathData="M182.9,349.5m-74.7,0a74.7,74.7 0,1 1,149.3 0a74.7,74.7 0,1 1,-149.3 0"
android:strokeAlpha="1" android:strokeColor="#000000" android:strokeWidth="4.23501825"/>
<path android:fillColor="#00ff00"
android:name="group2"
android:pathData="M474.3,392.4a84.3,102.9 0,1 0,168.6 0a84.3,102.9 0,1 0,-168.6 0z"
android:strokeAlpha="1" android:strokeColor="#000000" android:strokeWidth="5"/>>
</vector>
或group1
中的点在哪里。不幸的是,我没有找到能够提供相关数据的函数。有吗?
答案 0 :(得分:0)
虽然您无法在运行时从VectorDrawable中提取此内容,但我在项目中所做的是将路径数据提取到字符串资源并记住路径中的数据M
是移动的,{ {1}}为行,L
为曲线且C
为close,以编程方式解析字符串。
所以我在我的string.xml中
Z
和我的vector.xml
<string name="vector_path" translatable="false">M182.9,349.5m-74.7,0a74.7,74.7 .... etc
并且在运行时,您可以使用<path android:pathData="@string/vector_path"
和vector_path
String.split
字符串
我希望它有所帮助