Я пытаюсь написать функцию, которая изменила бы определенный цвет файла SVG. Это векторный ресурс, так что это файл XML: я подумал, что это облегчит задачу, но это не так.
ColorFilter ничего не сделал для меня, так как это всего лишь фильтр. Я хотел бы изменить определенный цвет, передавая сам объект, чтобы передать его другой функции, которая преобразует его в BitmapDescriptor.
Функция для изменения цвета
private Drawable changeColor(Drawable mydrawable, Context context) {
ContextThemeWrapper wrapper = new ContextThemeWrapper(context, R.style.BusinessColor);
mydrawable.applyTheme(wrapper.getTheme());
return mydrawable;
}
Частьdrawable Я хочу изменить
<path
android:pathData="path_data"
android:fillColor="@color/scooter_green"/>
Ссылка styles.xml, которая изменит цвет
<style name="BusinessColor" parent="DefaultColor">
<item name="android:fillColor">@color/brown_piana</item>
</style>
Использование HomeActivity
BitmapDescriptor icon = new BitMapConverter().getBusinessBitmap(context, R.drawable.ic_map_marker_scooter);
Getbusinessbitmap
public BitmapDescriptor getBusinessBitmap(Context context, int drawableId) {
Drawable drawable = ContextCompat.getDrawable(context, drawableId);
Drawable business = changeColor(drawable, context);
return getBitmap(business);
Так как стандартная раскраска объекта - scooter_green, я хочу решить в HomeActivity, когда менять цвет этого объекта на piana_brown. Сейчас значок не отображается, он нулевой.
Я бы дал вам дополнительную информацию, если она вам понадобится, пожалуйста, помогите мне решить эту проблему.