android 下载外部资源解析的问题
如下的xml处于资源res目录下 可以自动编译通过id引用。但如果该文档是从外部下载存到存储卡,要怎么解析为一个drawable类。
请大牛们指教
下面是个button的背景xml设置
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true"> <!-- 定义当button 处于pressed 状态时的形态。 -->
<shape>
<solid android:color="#cc2222" />
<stroke android:width="1dp" android:color="#00000000" />
<corners android:radius="8dp" />
<padding android:bottom="10dp" android:left="10dp" android:right="10dp" android:top="10dp" />
</shape></item>
<item android:state_enabled="false"> <!-- 定义当button disable时的形态 -->
<shape>
<solid android:color="#aa0000" />
<stroke android:width="2dp" android:color="#80808080" />
<corners android:radius="8dp" />
<padding android:bottom="10dp" android:left="10dp" android:right="10dp" android:top="10dp" />
</shape></item>
<item> <!-- 定义形态 -->
<shape>
<gradient android:angle="-90" android:endColor="#730201" android:startColor="#C4120E" />
<stroke android:width="1dp" android:color="#00000000" />
<corners android:radius="5dp" />
<padding android:bottom="10dp" android:left="10dp" android:right="10dp" android:top="10dp" />
</shape></item>
</selector>
XmlPullParser xmlParser = null;
File file = new File("your storage xml file path");
FileReader fileReader = null;
try {
fileReader = new FileReader(file);
xmlParser = Xml.newPullParser();
xmlParser.setInput(fileReader);
Drawable drawable = Drawable.createFromXml(getResources(), xmlParser);
} catch (FileNotFoundException e) {
} catch (Exception e) {
} finally {
try {
if (fileReader != null) {
fileReader.close();
}
} catch (IOException e) {
}
}