2011-12-22 12 views
5

SeekBar androidウィジェットで黄色を変える方法はありますか?Androidでシークバーの色を変更するには?

enter image description here

どれSOLN?

+0

このリンクを確認してください。 [既定のシークバーの色を変更する](http://stackoverflow.com/questions/5314488/changing-default-seekbar-color) –

+0

これはリンクのこの一覧から可能です - 1)[Custom Seekbar](http ://www.mokasocial.com/2011/02/create-a-custom-styled-ui-slider-seekbar-in-android/)2)[SeekBar Color Change](http://stackoverflow.com/questions/) 3480456/seek-bar-change-path-color-from-white-white)3)[SeekBar Customizing](http://www.anddev.org/seekbar_progressbar_customizing-t6083.html) – Praveenkumar

+0

これは、http: //techdroid.kbeanie.com/2010/04/custom-progressbar-for-android。htmlの –

答えて

1

ステップ1:あなたは、シークバーの背景のために必要な(1 9パッチの描画可能含む)画像ドローアブルを作成することを確認し、任意のXMLドローアブルを作成する前にあなたのイメージドロワブル(9パッチ)

を作成して処理し、進行セクション。 9パッチのドロワーブルは、以下の手順でXMLドロワーブルによって使用されます。

次ドローアブルを作成し、/ resを/描画可能/フォルダに置く:

ステップ2:シークバー進捗Drawableの

を今のAndroidシークバー進歩のためのXML描画可能(青縞模様のセクションを作成します)の例では、seekbar_progress_bg.xmlそれを呼び出すと、あなたの/ resを/描画可能/フォルダに配置します:

<?xml version="1.0" encoding="utf-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item> 
     <clip> 
      <shape> 
       <gradient 
        android:startColor="#FF5e8ea3" 
        android:centerColor="#FF32a0d2" 
        android:centerY="0.1" 
        android:endColor="#FF13729e" 
        android:angle="270" 
       /> 
      </shape> 
     </clip> 
    </item> 
    <item> 
     <clip> 
     <bitmap xmlns:android="http://schemas.android.com/apk/res/android" 
      android:src="@drawable/stripe_bg" 
      android:tileMode="repeat" 
      android:antialias="true" 
      android:dither="false" 
      android:filter="false" 
      android:gravity="left" 
     /> 
     </clip> 
    </item> 
</layer-list> 

上記のXMLは、最初の半透明、青のグラデーションを描き、その後、層半透明のストライプをグラディの上の画像ent。コード(ライン20)の強調表示された行は、XMLを介しカスタムシェイプの作成の詳細については、ステップ1

で作成したストライプ(半透明)あなたの描画可能なフォルダ内の画像を意味し、Androidの描画可能なリソースのドキュメントをチェックアウト特に、ビットマップとシェイプのセクション。

ステップ3:

次に描画可能なメインシークバーの進行を作成する描画領域のSeekBar背景。それはあなたのseekbar内のseekbarのprogressとsecondaryProgressのアクションにdrawableを割り当てます。あなたの/ resを/描画可能/フォルダ内に置き、seekbar_progress.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"> 
     <nine-patch 
      xmlns:android="http://schemas.android.com/apk/res/android" 
      android:src="@drawable/seekbar_background" 
      android:dither="true" 
     /> 
    </item> 
    <item android:id="@android:id/secondaryProgress"> 
     <clip> 
      <shape> 
       <gradient 
        android:startColor="#80028ac8" 
        android:centerColor="#80127fb1" 
        android:centerY="0.75" 
        android:endColor="#a004638f" 
        android:angle="270" 
       /> 
      </shape> 
     </clip> 
    </item> 
    <item 
     android:id="@android:id/progress" 
     android:drawable="@drawable/seekbar_progress_bg" 
    /> 
</layer-list> 

(8行目)上記の強調表示、コードの最初のビットがシークバー背景画像(9-パッチ引き出し可能に言及されますこの時点で、...一緒に

をそれをすべて持って来る、あなたがする必要があるすべてはあなたの呼び出しです:)ステップ1と(29行)で作成されたが

ステップ4ステップ2で上で作成した描画可能に言及されますシークバーを宣言するときにseekbar_progress drawable:

<SeekBar 
     android:id="@+id/frequency_slider" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:max="20" 
     android:progress="0" 
     android:secondaryProgress="0" 
     android:progressDrawable="@drawable/seekbar_progress" 
     android:thumb="@drawable/seek_thumb" 
/> 

強調表示されたコードの2行は、SeekBar項目の進行状況とサムのドロアブルを設定しています。 @ drawable/seekbar_progressは、前の手順で作成されたXML Drawableを参照します。

+2

それはちょうど背景のhehを変えるために非常に苦痛を感じる。 – Zammbi

+1

私はこれがhttp://www.mokasocial.com/2011/02/create-a-custom-styled-ui-slider-seekbar-in-android/のダイレクトコピーであることが大好きです...便利ですがあなたは自分の言葉を代わりに使うことができました。 – agweber

+0

SeekBarPreferenceがすべてJavaであれば、これはどのように行いますか? –

関連する問題