我正在尝试使用 Android Lollipop 的新 VectorDrawable API 来让图像在运行时动态缩放(根据应用程序状态变得越来越小)。据我了解,这种可绘制对象的 group 元素的 scaleX 和 scaleY 属性是导致它被放大或缩小的原因。在查看 API 后,我尝试了以下操作但无济于事:
Resources.Theme theme=getResources().newTheme();
theme.applyStyle(R.style.HowAboutThisScale, true);
ImageView vectorView=(ImageView) findViewById(R.id.vector_view);
VectorDrawable vectorTest=(VectorDrawable) getResources().getDrawable(R.drawable.my_image);
vectorTest.mutate();
vectorTest.applyTheme(theme);
vectorView.setImageDrawable(vectorTest);
在styles.xml中以此为主题:
<style name="HowAboutThisScale">
<item name="android:scaleX">10</item>
<item name="android:scaleY">10</item>
</style>
但是,这根本行不通。我确信我做错了什么,主要是因为我没有太多在运行时修改其他 Drawable 的经验。有没有人知道任何方法来实现这样的事情?