我尝试过使用svg格式的图标和svg-android,但它不起作用。 我从svg文件创建了一个drawable并将其用于ImageView ImageResource,但图像是不可见的。 那么我怎么能用svg-android做到这一点?或以不同的方式?
这是exemple for icons that i want to use:
我想用SVG格式,因为我想使用另一种颜色的相同图标。
这是我的XML文件:
<ImageView
android:id="@+id/home_desc_butt"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:layout_marginLeft="3dp"
/>
这里是我的onCreateView:
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.activity_campaign_details, container, false);
home_desc_butt = (ImageView) rootView.findViewById(R.id.home_desc_butt);
SVG svg = SVGParser.getSVGFromResource(rootView.getResources(), R.raw.icon_house_alt);
Drawable drawable = svg.createPictureDrawable();
home_desc_butt.setImageDrawable(drawable);
}
答案 0 :(得分:0)
如果你真的需要为你的图标使用SVG,那么有一些库可能会有所帮助:
Google有一个AndroidSVG库,你可以使用它:https://code.google.com/p/svg-android/wiki/Tutorial
然而,它会建议在photoshop中删除这些资产。
Svgs可能非常慢,在像素密度较高的设备上可能看起来不太好。
答案 1 :(得分:0)
我找到了另一种解决方案,可以在不使用svg-android库的情况下着色我的图标:
ColorFilter filter = new LightingColorFilter( Color.RED, Color.RED);
home_desc_butt.setColorFilter(filter);
完美无缺。