【问题标题】:Vertical line in android progress barandroid进度条中的垂直线
【发布时间】:2014-08-27 11:44:42
【问题描述】:

我需要一个在主进程结束时带有黑色垂直线的水平进度条。使用我的代码,进度条还可以,但该行始终位于进度条的中间。我尝试使用clip,但随后它消失了,而不是在段的末尾。

我的代码

<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >

<item android:id="@android:id/background">
     <shape android:shape="rectangle">
         <corners android:radius="5dip" />
         <solid android:color="#ffffffff" />
         <stroke android:width="1dip" android:color="#ff000000" />
     </shape>
 </item>

 <item android:id="@android:id/progress">
     <clip>
         <shape>
             <corners android:radius="5dip" />
             <solid android:color="#33b5e5" />
             <stroke android:width="1dip" android:color="#ff000000" />
         </shape>
     </clip>
 </item>

 <item android:id="@+id/line">
     <rotate android:fromDegrees="90"
            android:toDegrees="90" >
         <shape android:shape="line">
             <stroke android:width="5dp" android:color="#ff000000"/> 
         </shape>
     </rotate> 
 </item>

</layer-list>

我的问题

因为我必须向栏添加另一个进程,所以我不能为该行使用secondaryProgress 标记。此外,线条的位置和条的颜色有很多可能性,我不想做 10 个不同的可绘制对象。

是否有可能通过进度条实现我想要的,或者有更好的方法吗?我搜索了有关垂直线、多色条甚至堆叠图表的主题。但不知何故,我找不到合适的库或制作进度条的简单方法。

目标

这是我最后想要的图片:

我需要垂直线在可能“超过 100%”的条形图中显示 100% 标记。进度可以从左到右或从右到左显示。

【问题讨论】:

  • 可以加个你想要的截图吗?
  • 嗨,我刚刚在问题的末尾添加了一张图片。有帮助吗?
  • 好的..检查this是否有帮助。
  • 不,那只是标准定制,我昨天看了一下。所以我已经知道什么是进度条自定义了,这不是问题。

标签: android android-layout charts android-drawable android-progressbar


【解决方案1】:

我找到了解决方案...我从上面的代码中删除了行项,并将以下代码添加到onDraw() 方法中:

Paint linePaint = new Paint();
linePaint.setColor(getResources().getColor(android.R.color.black));
final float lineWidth = 5f;
linePaint.setStrokeWidth(lineWidth);
canvas.drawLine(getWidth() * m100 / 100, 0, 
                getWidth() * m100 / 100, getHeight(), 
                linePaint);

在代码中,m100 是整行的位置。例如,如果 100% 喜欢标记应位于条形长度的 80%,则为 80。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-15
    • 2010-11-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多