有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java在Android上使用drawable加载形状

我试图加载一个形状使用drawable编程,以便使背景颜色更时尚

基本上,使用XML文件加载形状很简单:

<shape xmlns:安卓="http://schemas.安卓.com/apk/res/安卓"
安卓:shape="rectangle" >
<gradient
    安卓:startColor="#ffffff"
    安卓:centerColor="#00ffff"
    安卓:endColor="#000000"
    安卓:type="linear"
    安卓:angle="90"/>

然而,我正试图从服务器下载这个XML文件,因为它必须根据季节进行更改。(例如,春天是粉红色,夏天是蓝色,秋天是橙色)

下载XML文件后,该文件位于/data/data/package/resources/shape中。xml,我尝试使用GradientDrawable加载这个背景颜色集,因为它与渐变有关

有很多关于创建新渐变的操作指南,但没有关于应用预加载渐变的指南

我试过这个:

 view.setBackground(GradientDrawable.createFromPath("/data/data/package/resources/shape.xml"));

这里的视图是活动文件,如RelativeLayout或其他任何内容

但是,结果是默认的背景色,即蓝色

现在我将drawable更改为:

view.setBackground(ShapeDrawable.createFromPath("/data/data/package/resources/shape.xml"));

我将drawable选项更改为ShapeDrawable,因为XML包含Shape

结果是一样的,没有任何改变。换成普通的拉丝方式无助于解决问题

有没有另一种方法可以将外部存储中的XML文件应用于可绘图文件?否则,我写的是应用的方法,但有一些错误吗


共 (0) 个答案