2017-03-29 29 views
-2

我有一种简单的甜甜圈图,逐渐着色。我希望这个甜甜圈根据价值褪色。例如,如果值为35,那么我的甜甜圈的35%将不会褪色,并且65%会褪色。我不想要任何动画。如何淡入图像的一部分

这是什么,我想实现一个例子:

enter image description here

的甜甜圈的代码,而无需屏蔽功能:

<ImageView 
     android:id="@+id/imageView2" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     app:srcCompat="@drawable/donut" 
     android:layout_alignTop="@+id/imageView" 
     android:layout_marginStart="10dp" 
     android:layout_marginTop="10dp"/> 
+0

标记为偏离主题,因为“寻求调试的问题有帮助(”为什么不是这个代码工作?“)必须包括所需的行为,特定的问题或错误以及在问题本身中重现问题所需的最短代码。没有明确的问题陈述对其他读者无益“。我是否应该发布代码以将ImageView放入活动中,然后对用户来说它不再有用,但至少不会脱离主题? – Laurent

+0

我不知道还有什么办法......我有一个解释,看起来很清楚,因为两个回答的用户都理解了它。我有一张图片来说明我描述的行为。我有没有我不知道如何创建的功能ImageView的代码。 – Laurent

+0

为什么我的问题和这个问题有点不一样,而不是主题?请解释。 http://stackoverflow.com/questions/24858531/filling-a-circle-gradually-from-bottom-to-top-android/24866667#24866667 – Laurent

回答

1

您还可以使用以下步骤将一些遮罩与半透明图像结合使用。

  • 创建黑色/白色甜甜圈直至例如35%,
  • 使用此甜甜圈掩盖您的半透明素材(例如,使所有黑色部分完全透明)
  • 使用此蒙版图像作为覆盖您的全彩色甜甜圈。

这会让您留下与原始轮廓相同的部分褪色甜甜圈。

对不起,我手边没有任何掩码,但这些步骤会达到预期的效果。

+0

是的,这是我想要做的部分,只是了解所有这些如何工作以及如何编码它。我终于为我的甜甜圈使用了一个ImageView,并且我正在使用'Canvas.drawArc()'来屏蔽我的甜甜圈(你称之为半透明图像)。我将在完成后发布解决方案。有点晚了,但无论如何谢谢你! – Laurent

+0

嗯,是的,如果你可以简单地画一个半透明的甜甜圈并将其作为叠加层使用,那么可以省略第二步创建“蒙版”:-) – Stefan

+0

我确认它可行,只需使用ImageView和我的甜甜圈和Canvas .drawArc()不透明。我可以调整弧的角度来隐藏我的甜甜圈的所需部分。我无法发布我的答案,因为我的问题现在已被标记为脱离主题。 – Laurent

2

我不知道Android的设计,但一些网页设计逻辑可能有所帮助 您可以在图像上创建一个不透明的面板,并为其指定图像的确切宽度和高度。所以当你想显示20%的图像时,你只需将面板80%对齐并正确对齐。

此致敬礼。

+0

这不能用于甜甜圈。这是循环的,所以如果我将面板更改为80%,结果可能会很奇怪。 – Laurent