我对 ProgressBar 有疑问。当我按下“开始”按钮时,随机函数从数组中选择一种颜色,但只有第一种颜色设置为“背景”,当我再点击一次时,选择新颜色但不设置为背景。当我退出应用程序并重新启动时,选择了新颜色,但现在只有一种。当我按下按钮时,我想一直有不同的背景颜色。
activity_main.xml
<ProgressBar
android:id="@+id/circularProgressbar"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center"
android:indeterminate="false"
android:max="100"
android:progress="100"
android:progressDrawable="@drawable/circular"
android:secondaryProgress="100" />
循环.xml
<?xml version="1.0" encoding="utf-8"?>
<item android:id="@+id/SecondaryProgress">
<shape
android:innerRadiusRatio="5.2"
android:shape="ring"
android:useLevel="true"
android:thicknessRatio="9.5">
</shape>
</item>
MainActivity.java
公共无效开始(){
随机随机=新随机();
字符串[] hex_colors = {“F8ED31”、“000000”、“F7931D”、“ED1C24”、“7A1777”、“ED135A”、“71BF43”};
int random_hex = random.nextInt(hex_colors.length); String color="#"+hex_colors[random_hex]; layers = (LayerDrawable) ContextCompat.getDrawable(this,R.drawable.circular); shape = ( GradientDrawable) layers.findDrawableByLayerId(R.id.SecondaryProgress); shape.setColor(Color.parseColor(color)); }