fc2ブログ

SeekBarの見た目をコードで設定

SeekBarの見た目(style)を変更については以前書いたことがありますが、
過去記事
それをJavaのソースコードから設定してやりましょう。といった内容です。


本来は、デフォルトの一部をうわがいてやるといった手法がとれればいいのですが・・・
そのデフォルトが常に同じ構造をもっているのか?が心配なのでやめておきます。
※getProgressDialogして、LayerDrawableにキャストして・・・って手順


結局はxmlで定義していた部分をそれぞれ対応したクラスを使って設定していく。
そんな内容です。

Volumerの要望であったのですが、指定させるのが面倒っぽいので、どうせならパターンを用意して選択
といったほうが無難かなぁと落ち着いたのですが、せっかくなので。

SeekBar bar = new SeekBar(this);

//背景部分を定義
GradientDrawable baseGradientDrawable = new GradientDrawable(
Orientation.TOP_BOTTOM, new int[]{Color.parseColor("#FF0000") ,
Color.parseColor("#CC0000"), Color.parseColor("#FF0000")});
baseGradientDrawable.setCornerRadius(5);

//進捗部分を定義
GradientDrawable surfaceGradientDrawable = new GradientDrawable(
Orientation.TOP_BOTTOM, new int[]{Color.parseColor("#FFFF00") ,
Color.parseColor("#CCCC00"), Color.parseColor("#FFFF00")});
surfaceGradientDrawable.setCornerRadius(5);
ClipDrawable clipDrawable = new ClipDrawable(surfaceGradientDrawable, Gravity.LEFT, ClipDrawable.HORIZONTAL);

LayerDrawable ld = new LayerDrawable(new Drawable[]{baseGradientDrawable, clipDrawable});


グラデーションが少しわかりにくいかもしれませんが、こんな感じ

seekbar.png
関連記事

コメントの投稿

非公開コメント

スポンサードリンク
開発中に一息

アプリ一覧
最新記事
最新コメント
最新トラックバック
検索フォーム
月別アーカイブ
カテゴリ
RSSリンクの表示
リンク
QRコード
QR