如何让安卓原生进度条不确定可绘制?



我想知道是否可以检索Android的原生ProgressBar不确定可绘制,以便在另一个视图上使用。

查看ProgressBar的源代码:

  1. 默认属性位于com.android.internal.R.attr.progressBarStyle,我认为它与android.R.attr.progressBarStyle相同(根据这个答案(
  2. 我要查找的可提取文件的资源id是R.styleable.ProgressBar_indeterminateDrawable

但是,我在访问该可样式属性本身时运气不佳。

你知道如何实现这样的目标吗?

这就是我在应用程序中的操作方式。IIRC,这个代码是由Jake Wharton在改造网站上提供的,用于在下载文件时获得进度条。

fun getProgressBarIndeterminate(): Drawable? {
val attrs = intArrayOf(android.R.attr.indeterminateDrawable)
val attrsIndeterminateDrawableIndex = 0
val a = App.getContext().obtainStyledAttributes(android.R.style.Widget_ProgressBar, attrs)
return try {
a.getDrawable(attrsIndeterminateDrawableIndex)
} catch (e: Exception) {
return null
}finally {
a.recycle()
}
}

相关内容

最新更新