【问题标题】:Progress Bar with a gap between left and right section左右部分之间有间隙的进度条
【发布时间】:2014-06-03 05:07:29
【问题描述】:

如何创建带有蓝色进度指示、灰色背景和部分之间的透明间隙(示例中为黑色)的进度条

我尝试过使用形状,以创建仅在右侧有边框的左侧部分。我能找到的最接近的例子是shape with bottom stroke,但我无法修改它以显示我的案例所需的间隙。

除非我让 shape 工作,否则我最终可能会在代码中使用 setSecondaryProgress()

【问题讨论】:

  • 使用setProgressDrawable,你需要在代码中创建你的自定义Drawable,因为你想要的不能在xml中完成,你需要覆盖onLevelChange并调用invalidateSelf
  • 如果您不确定它是如何工作的,请参阅 ClipDrawable 资源,ClipDrawable 是 std progress Drawable 的一部分
  • @pskink,我按照你的回答 stackoverflow.com/a/21060826/1097104。通过一些调整,我可以满足我的需要。如果您也可以对此问题添加答案,我可以接受。

标签: android android-layout android-drawable xml-drawable layer-list


【解决方案1】:

使用 setProgressDrawable,你需要在代码中创建你的自定义 Drawable,因为你想要的不能在 xml 中完成,你需要重写 onLevelChange 并调用 invalidateSelf,参见Custom ProgressBar 示例实现

【讨论】: