質問

グラデーション塗りつぶしを使用してキャンバスを使用して円弧を描画したい。どうすればこれを達成できますか?

役に立ちましたか?

解決

ここからこれを盗んだ:SweepGradientで円弧を描くAndroidの場合

でも問題なく動作します。代わりにLinearGradientを使用しました。 ジェネラコディセタグプレ

他のヒント

私のせいで、私はこのような人を描かなければなりませんでした:

多分あなたも。

では、考えてみましょう。 Sweep Gradientはどのように機能しますか? これを介して長方形を描画する場合: ジェネラコディセタグプレ

は次のようになります:

つまり、回転させるというアイデアです! ジェネラコディセタグプレ

最後に、円弧を描くことができます: ジェネラコディセタグプレ

私の完全なカスタムビューのソースコード(github リポジトリ

色の配列と可変位置を使用することもできます。 たとえば、10色を定義します。10%の進捗ごとに1つずつです。 ジェネラコディセタグプレ

次のように、これらすべての色を色intArray内に配置します。 ジェネラコディセタグプレ

次に、位置を定義します。位置は0.0から1.0にスイープします(位置0.1はcolor_10に対応し、位置0.2はcolor_20に対応します) ジェネラコディセタグプレ

位置を定義したら、SweepGradientをペイントに設定できます ジェネラコディセタグプレ

最後に、シェーダーペイントで円弧を描くことができます: ジェネラコディセタグプレ

カスタムビューの最終効果:

ここに画像の説明を入力してください

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top