如何从android中的原始xml创建可绘制的形状?

时间:2017-02-26 14:58:50

标签: android xml xml-parsing android-drawable android-styles

我想获得包含从服务器绘制的形状的原始xml流,解析它并从中创建drawable。

我尝试使用Drawable.createFromPath但它不起作用但是当我将drawable放在资源文件夹中时,createFromXml将如下所示:

Drawable drawable = Drawable.createFromXml(res, res.getXml(R.drawable.test));

但我想从下载的字符串创建Drawable。字符串内容如下:

<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >

<item>
    <shape
        android:shape="rectangle">
        <stroke android:width="1dp" android:color="#585858" />
        <solid android:color="#FF9009" />
    </shape>
</item>

是否可以在下载内容的运行时创建可绘制的内容?

我也试过这个但是返回null:

String xml_string = style;
InputStream xmlIS = new ByteArrayInputStream(xml_string.getBytes(Charset.defaultCharset()));
Drawable drawable = Drawable.createFromStream(xmlIS, null);
appManager.setBackground(drawable);

0 个答案:

没有答案