Android ProgressBar使渐变渐变透明

时间:2016-07-12 10:03:45

标签: android gradient fade progress

目前这是my ProgressBar

请注意粉红色会变成背景色。这不仅仅是因为背景是灰色的(这只是Android Studio中布局预览的一个剪辑),因为即使在具有白色背景的应用程序中,它仍然会渐变为黑色。

我想要实现的是粉红色渐变为透明,因此渐变中的粉红色减少,更多的背景变得可见。

有谁知道如何实现这个目标?

以下是进度条的drawable:

<?xml version="1.0" encoding="utf-8"?>
<rotate xmlns:android="http://schemas.android.com/apk/res/android"
    android:fromDegrees="0"
    android:pivotX="50%"
    android:pivotY="50%"
    android:toDegrees="360">

    <shape
        android:innerRadiusRatio="3"
        android:shape="ring"
        android:thicknessRatio="30"
        android:useLevel="false">

    <gradient
        android:centerColor="#00000000"
        android:centerY="0.50"
        android:endColor="@color/colorAccent"
        android:startColor="@color/colorAccent"
        android:type="sweep"
        android:useLevel="false" />
   </shape>

这是我布局中的声明:

 <ProgressBar
     android:layout_width="210sp"
     android:layout_height="210sp"
     style="?android:attr/progressBarStyleLarge"
     android:indeterminateDrawable="@drawable/circular_progress_bar_big"
     android:indeterminate="false"
     android:id="@+id/progressPose"
     android:layout_gravity="center"
     android:visibility="visible"
     android:progress="100" />

所有帮助表示感谢,谢谢! 最大

1 个答案:

答案 0 :(得分:1)

对于透明度的颜色使用此答案Hex transparency in colors

  • 100% - FF
  • 95% - F2
  • 90% - E6
  • 85% - D9
  • 80% - CC
  • 75% - BF
  • 70% - B3
  • 65% - A6
  • 60% - 99
  • 55% - 8C
  • 50% - 80
  • 45% - 73
  • 40% - 66
  • 35% - 59
  • 30% - 4D
  • 25% - 40
  • 20% - 33
  • 15% - 26
  • 10% - 1A
  • 5% - 0D
  • 0% - 00

source

因此,在您的drawable中,您可以像设置颜色重音一样设置透明度

 <?xml version="1.0" encoding="utf-8"?>
 <rotate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromDegrees="0"
android:pivotX="50%"
android:pivotY="50%"
android:toDegrees="360">

<shape
    android:innerRadiusRatio="3"
    android:shape="ring"
    android:thicknessRatio="30"
    android:useLevel="false">

<gradient
    android:centerColor="#00000000"
    android:centerY="0.50"
    android:endColor="@color/colorAccent"
    android:startColor="@color/colorAccent"
    android:type="sweep"
    android:useLevel="false" />
  </shape>
</rotate>

<强> color.xml

50%

  <color name="colorAccent">#80FF4081</color>

85% - D9

  <color name="colorAccent">#D9FF4081</color>

等。你用......