[英]Android Studio Resource Manager vector drawable preview
我的项目中有很多矢量可绘制对象。 所有这些都使用 fillColor 作为主题属性。 在这种情况下,资源管理器预览不会显示,直到通过工具将某种颜色设置为可绘制对象。
如图所示,ic_drag 是红色的,因为 tools:fillColor="#ff0000"。 但是 ic_arrow_back_on_primary 预览是空的。
ic_drag:
<vector xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:width="24dp"
android:height="24dp"
android:tint="?attr/colorControlNormal"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="?banan"
tools:fillColor="#ff0000"
android:pathData="M20,9H4v2h16V9zM4,15h16v-2H4V15z" />
</vector>
ic_arrow_back_on_primary:
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:tint="?attr/colorControlNormal"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="?colorOnPrimary"
android:pathData="M20,11H7.83l5.59,-5.59L12,4l-8,8 8,8 1.41,-1.41L7.83,13H20v-2z" />
</vector>
如果打开 drawable 的编辑器,则会显示此 drawable 的预览。 使用哪种方式无关紧要:属性或直接颜色。
有没有办法强制资源管理器在不添加“工具”属性的情况下显示预览?
为了让 Android Studio 渲染该预览,它需要知道要使用什么颜色。
在ic_arrow_back_on_primary
的情况下, android:tint
attr 和android:fillColor
attr 都使用主题属性(任何以?
开头的属性)。 当然,主题属性取决于当前使用的主题,资源管理器(似乎)没有办法指定用于预览的主题。
因此,不,不添加tools
属性就无法显示预览,除非您愿意使用不依赖于当前主题的颜色(这可能不适用于您的用例)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.