0

目前我正在对我的录音机进行一些增强,现在我添加了幅度来获取麦克风输入电平并将其显示给用户以查看是否正在录制音频。它可以正常工作,dialog.setProgress();但由于我非常希望它在用户面前很好地显示,我计划让它改变颜色并隐藏进度的背景,只显示它根据进度级别而变化的进度部分。假设 20 下面是绿色 40 下面是黄色 60 下面是橙色和红色 60 向上就像我们在媒体播放器中看到的典型音频电平一样。但我不知道为什么我什至不能将进度条的背景设置为透明以及更改我的 progressDrawable 会改变我的情况下的整个进度条。为此需要一些帮助。无论如何在这里'

<ProgressBar
                style="?android:attr/progressBarStyleHorizontal"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:id="@+id/mic_level"
                android:indeterminate="false"
                android:layout_below="@+id/chk_Record"
                android:layout_alignParentLeft="true"
                android:layout_marginTop="31dp"
                android:layout_alignParentRight="true"
                android:progress="50"
                android:clickable="false"
                android:progressDrawable="@color/holo_bright_blue"
                android:background="@color/transparent"/>

在此处输入图像描述

4

2 回答 2

0

渐变角度可以帮助改变进度条状态时的颜色。

您必须为此创建自定义 xmllayer并添加item到它,例如...

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
 <item android:id="@android:id/background">  //---this is progress background
 </item>
 ...
 <item android:id="@android:id/progress">   //----this is progress status
 </item>
</layer-list>

如果有帮助,请查看我的此答案以获取详细信息

于 2014-01-02T22:09:51.010 回答
0

您可以为进度条创建一个可绘制对象,如下所示。这是我从我的一个项目中获得的一个非常粗略的指南,所以你可能(几乎可以肯定)不需要渐变,但它至少应该给你一个粗略的想法。

下面使进度条的背景透明,并将前景色更改为绿色。

将其放置在可绘制文件夹中,名称为 progress_styles.xml,现在位于进度条集中:

android:progressDrawable="@drawable/progress_styles"

<item android:id="@android:id/background">
    <shape>
        <corners android:radius="5dip" />

        <gradient
            android:startColor="@android:color/transparent" />
    </shape>
</item>
<item android:id="@android:id/secondaryProgress">
    <clip>
        <shape>
           <corners android:radius="5dip" />
            <gradient
                android:startColor="#00ff00" />
        </shape>
    </clip>
</item>
<item android:id="@android:id/progress">
    <clip>
        <shape>
            <corners android:radius="5dip" />
            <gradient
                android:startColor="#00ff00" />
        </shape>
    </clip>
</item>

我希望这可以帮助你。

于 2013-07-01T11:10:33.323 回答