Java 安卓:如何创建一个加载条,其中文本一半是一种颜色,另一半是另一种颜色

Java 安卓:如何创建一个加载条,其中文本一半是一种颜色,另一半是另一种颜色,java,android,Java,Android,我一直在尝试创建一个条形图/加载条,其中文本是一半颜色,另一半颜色,并且一直在努力想出一个简单的方法来解决这个问题。到目前为止,我的想法一直围绕着在两个栏的完整状态下创建两个栏,然后创建一对“选择性透明”视图,该视图将显示各自的一半以创建效果 我一直找不到如何做这个选择性的透明度/不透明度视图。这可能吗?有没有其他一些显而易见的方法来达到这种效果 下面是我试图实现的目标的一个快速绘图 不知何故误解了这个问题。实现这一点的最佳方法是创建图像,并将其设置为imageview的背景,而不是textvi

我一直在尝试创建一个条形图/加载条,其中文本是一半颜色,另一半颜色,并且一直在努力想出一个简单的方法来解决这个问题。到目前为止,我的想法一直围绕着在两个栏的完整状态下创建两个栏,然后创建一对“选择性透明”视图,该视图将显示各自的一半以创建效果

我一直找不到如何做这个选择性的透明度/不透明度视图。这可能吗?有没有其他一些显而易见的方法来达到这种效果

下面是我试图实现的目标的一个快速绘图


不知何故误解了这个问题。实现这一点的最佳方法是创建图像,并将其设置为imageview的背景,而不是textview。

对于遇到此问题的任何人,我都通过使用解决方案。我创建了两个全尺寸的文本视图,一个带有彩色数字和透明背景,另一个带有白色数字和彩色背景。然后将setClipBounds应用于彩色文本视图,如下所示-

textview.setClipBounds( new Rect(0, originalHeight*(1 - progress), originalWidth, originalHeight);
这里,变量
progress
的值介于0和1之间。必须相对于视图而不是相对于屏幕来定义Rect。 这种精确的设置实现了类似的效果,但它可以很容易地更改为水平条或任何其他需要的东西

你可以用一个 通过参数颜色和位置,您可以指示加载进度。
你可以在覆盖onDraw时使用渐变,我不知道android,但是剪辑也可能是一种可能性——这正是我实现它所需要的。干杯不完全确定我是否遵循。你的意思是为每一半生成一个可绘制的(或类似的东西),然后在imageview中显示,然后相应地设置每个imageview的尺寸吗?使用photoshop,创建一个要显示的图像,将该图像设置为imageview可绘制的。抱歉,可能没有明确说明。数字必须改变以显示进度,所以我可以这样做,但我不希望有100个图像按顺序显示。