首页 > 解决方案 > 如何在芯片材料组件中显示进度可绘制动画?

问题描述

根据Action Chips 的官方设计文档,我们应该能够为芯片添加进度状态。可悲的是,开发文档根本没有提到这一点。有没有人设法弄清楚如何达到这里显示的效果?

标签: androidmaterial-designandroid-architecture-componentsmaterial-componentsandroid-chips

解决方案


chipIcon可以使用属性 和来实现此行为androidx.swiperefreshlayout.widget.CircularProgressDrawable

xml

app:chipIconWithProgress="@{viewModel.taskIsStarting ? null : @drawable/ic_play_arrow}"

和 BindingAdapter

@BindingAdapter("chipIconWithProgress")

fun Chip.setChipIconWithProgress(item: Drawable?) {   
  chipIcon = item
    ?: CircularProgressDrawable(context!!).apply {
      setStyle(CircularProgressDrawable.DEFAULT)
      start()
    }
}

推荐阅读