我开始在我最新的项目中实现Material Theme,为新L版本的推出做好准备。
我一直在阅读材料设计指南,并发现了这一点。
UI颜色应用
选择调色板
通过选择三种色调来限制您选择的颜色 辅助调色板中的主色和一个强调色。口音 颜色可能需要也可能不需要后退选项
它或多或少解释了如何在应用程序上实现这些色调,包括强调色,但在使用SwipeRefreshLayout进度条在我的应用程序上使用主色时,感觉不对。
它应该是强调色和android:colorPrimary
之间的混合吗?
对此有何想法?关于在我错过的材料设计指南中实施进度条有什么解释吗?
提前致谢
答案 0 :(得分:146)
材料设计规范已使用swipe to refresh pattern的新指南进行了更新。
从支持库的第21版开始,SwipeRefreshLayout
现在显示一个循环指示符
当您开始向下滑动时,指示器有一个箭头(表示刷新)。当你松开它时,它会丢失箭头并开始旋转。
现在我们仍然可以设置颜色方案,进度条将在颜色之间循环。
我们应该使用哪种颜色?
让我们来看看Google I / O source code:
mSwipeRefreshLayout.setColorSchemeResources(
R.color.refresh_progress_1,
R.color.refresh_progress_2,
R.color.refresh_progress_3);
以下是colors:
<color name="refresh_progress_1">@color/theme_accent_2</color>
<color name="refresh_progress_2">@color/theme_accent_1</color>
<color name="refresh_progress_3">@color/theme_primary</color>
所以是的,它是主色和强调色之间的混合。
答案 1 :(得分:0)
给出的解决方案对我不起作用。
我简单地扩展并使用了它。
class SwipeToRefreshLayout(context: Context, attrs: AttributeSet): SwipeRefreshLayout(context, attrs) {
var listener: OnRefreshListener? = null
fun setRefreshing(refreshing: Boolean, fireCallback: Boolean) {
super.setRefreshing(refreshing)
listener?.onRefresh()
}
override fun setOnRefreshListener(listener: OnRefreshListener?) {
super.setOnRefreshListener(listener)
this.listener = listener
}
}
我希望有人会觉得有用。