このようなプログレスバーを実装したい
どうすればいいですか、図書館があるかどうか教えてください
多くの人がこの投稿を見ているのを見たので、編集して例を共有する必要があると思いました。
注(この例は完全ではありません。まだ進行中ですが、出発点だと思います)
GitHub: Githubの例
この例の重要な部分は次のとおりです。ドローアブルでxmlファイルcustom_progress_bar_horizontal.xmlを作成し、以下のコンテンツを追加します。
<?xml version="1.0" encoding="UTF-8"?>
<layer-list xmlns:Android="http://schemas.Android.com/apk/res/Android">
<item
Android:id="@Android:id/background">
<shape>
<padding
Android:bottom="3dip"
Android:top="3dip"
Android:left="3dip"
Android:right="3dip"/>
<corners
Android:radius="5dip" />
<gradient
Android:startColor="#2a2b2f"
Android:centerColor="#2a2b2f"
Android:centerY="0.50"
Android:endColor="#2a2b2f"
Android:angle="270" />
</shape>
</item>
<item
Android:id="@Android:id/progress">
<clip>
<shape>
<corners
Android:radius="5dip" />
<gradient
Android:startColor="#ff0e75af"
Android:endColor="#ff1997e1"
Android:angle="90" />
</shape>
</clip>
</item>
</layer-list>
Styles.xmlに次のコードを追加します
<style name="CustomProgressBar" parent="Android:Widget.ProgressBar.Horizontal">
<item name="Android:indeterminateOnly">false</item>
<item name="Android:progressDrawable">@drawable/custom_progress_bar_horizontal</item>
<item name="Android:minHeight">10dip</item>
<item name="Android:maxHeight">20dip</item>
</style>
アクティビティレイアウトにスタイルを追加したら、次を追加します。
<ProgressBar
Android:id="@+id/customProgress"
style="@style/CustomProgressBar"
Android:layout_width="match_parent"/>
ProgressBarクラスを拡張し、そこで変更を加える必要があるため、フレーム内の進行状況は少し注意が必要です。
ここにいくつかの例を残し、それらをgithubプロジェクトに追加するときに通知します。
進行状況を自分のやり方で無効にしたい場合の良い例: NumberProgressBar
その他のプログレスバーの例:
更新:
また、チェックしてください DiscreteSeekBar これは素晴らしいgithubプロジェクトです。
Gradle:コンパイル 'org.adw.library:discrete-seekbar:1.0.1'
乾杯、