私は最新のプロジェクトにマテリアルテーマの実装を開始し、新しいLバージョンの発売に備えています。
マテリアルデザインガイドラインを読んで、これを見つけました。
Iカラーアプリケーション
パレットを選択してください
プライマリパレットで3つの色相を選択し、セカンダリパレットで1つのアクセント色を選択して、色の選択を制限します。アクセントカラーにはフォールバックオプションが必要な場合と必要でない場合があります
多かれ少なかれ、アクセント色を含め、アプリにこれらの色相を実装する方法を説明していますが、SwipeRefreshLayout進行状況バーでアプリのメイン色を使用すると、正しくないと感じます。
アクセント色とAndroid:colorPrimary
?
これについて何か考えはありますか?私が見逃した材料設計ガイドラインにプログレスバーを実装することについての説明はありますか?
前もって感謝します
材料設計仕様が更新され、 スワイプしてパターンを更新 の新しいガイドラインが追加されました。
サポートライブラリのリビジョン21の時点で、SwipeRefreshLayout
に円形インジケータが表示されるようになりました。
下にスワイプを開始すると、インジケーターに矢印が表示されます(更新を示唆します)。放すと矢印がなくなり、回転し始めます。
これで、カラースキームを設定でき、プログレスバーが色の間を循環します。
それでは、どの色を使用する必要がありますか?
Google I/Oを見てみましょう ソースコード :
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>
はい、それは原色とアクセント色の混合です。
与えられた解決策は私にはうまくいきませんでした。
単純に拡張し、代わりにこれを使用しました。
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
}
}
誰かがそれが役に立つと思うことを願っています。