Java 在Android应用程序中使用XML更改进度条颜色
我正在尝试更改水平进度条(前景)的颜色。我偶然发现并试图用它来建模我的XML文件。但是,在以下语句中出现编译器错误:Java 在Android应用程序中使用XML更改进度条颜色,java,android,eclipse,colors,progress-bar,Java,Android,Eclipse,Colors,Progress Bar,我正在尝试更改水平进度条(前景)的颜色。我偶然发现并试图用它来建模我的XML文件。但是,在以下语句中出现编译器错误: myProgressBar.setProgressDrawable(R.drawable.progress_horizontal); 错误是“ProgressBar类型中的方法setProgressDrawable(Drawable)不适用于参数(int)。” 我相信原因是在R.java文件中,我看到了下面一行: public static final int progress
myProgressBar.setProgressDrawable(R.drawable.progress_horizontal);
错误是“ProgressBar类型中的方法setProgressDrawable(Drawable)不适用于参数(int)。”
我相信原因是在R.java文件中,我看到了下面一行:
public static final int progress_horizontal=0x7f02002f;
那么,我是将这个XML文件定义为可绘制文件而不是整数,还是有其他方法来解决这个问题
谢谢
编辑:包括XML文件
<item android:id="@android:id/background">
<shape>
<corners android:radius="5dip" />
<gradient
android:startColor="#ff9d9e9d"
android:centerColor="#ff5a5d5a"
android:centerY="0.75"
android:endColor="#ff747674"
android:angle="270"
/>
</shape>
</item>
<item android:id="@android:id/secondaryProgress">
<clip>
<shape>
<corners android:radius="5dip" />
<gradient
android:startColor="#80ffd300"
android:centerColor="#80ffb600"
android:centerY="0.75"
android:endColor="#a0ffcb00"
android:angle="270"
/>
</shape>
</clip>
</item>
<item android:id="@android:id/progress">
<clip>
<shape>
<corners android:radius="5dip" />
<gradient
android:startColor="#ffffd300"
android:centerColor="#ffffb600"
android:centerY="0.75"
android:endColor="#ffffcb00"
android:angle="270"
/>
</shape>
</clip>
</item>
R类由Android编译器生成,R.java中内部类的所有字段通过
Android:id
xml属性引用res
文件夹中的资源。该类可以使用资源id检索资源对象。因此,您可以通过获取可绘制对象。R类由Android编译器生成,R.java中内部类的所有字段通过Android:id
xml属性引用res
文件夹中的资源。该类可以通过使用资源id检索资源对象。因此,您可以通过获取可绘制对象。在进度条xml元素上调用此函数
//---这是进步的背景
//----这是进度状态
//-这种颜色呈线性变化
在进度条xml元素上调用此选项
//---这是进步的背景
//----这是进度状态
//-这种颜色呈线性变化
Cool,编译正确。现在我只需要弄清楚如何正确使用XML文件。谢谢。很酷,编译得很好。现在我只需要弄清楚如何正确使用XML文件。谢谢
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@android:id/background"> //---this is progress background
<shape>
<corners android:radius="5dip" />
<gradient
android:startColor="#E6E6E6"
android:centerColor="#E6E6E6"
android:centerY="0.75"
android:endColor="#E6E6E6"
android:angle="270"/>
</shape>
</item>
<item android:id="@android:id/progress"> //----this is progress status
<clip>
<shape>
<gradient
android:startColor="#FF0040"
android:centerColor="#FFFF00"
android:endColor="#00FF00"
android:angle="0" /> //-This varies colors linearly
</shape>
</clip>
</item>
</layer-list>