2

SeekBar (古い学校の Java Slider) をカラー グラデーション ピッカーに使用したいと考えています。このような例をいくつか見てきましたが、それらはすべて新しいクラスなどを作成する必要があります。元のクラスを変更またはオーバーライドする方法が必要です。または、背景をグラデーションに置き換えるだけです。

4

2 に答える 2

11

ここであなたがそれを行う方法を理解しました。

XML で標準のシークバーを作成します。

<SeekBar
       android:id="@+id/seekbar_font"
       android:layout_width="fill_parent"
       android:layout_height="wrap_content"
       android:layout_margin="10px"
       android:layout_below="@id/color_font_text"
       android:max="100"
       android:progress="50"></SeekBar>

次に、onCreate() で boxShape を作成してシークバーをカスタマイズし、その中に LinearGradient を強制します。

LinearGradient test = new LinearGradient(0.f, 0.f, 300.f, 0.0f,  

      new int[] { 0xFF000000, 0xFF0000FF, 0xFF00FF00, 0xFF00FFFF,
      0xFFFF0000, 0xFFFF00FF, 0xFFFFFF00, 0xFFFFFFFF}, 
      null, TileMode.CLAMP);
ShapeDrawable shape = new ShapeDrawable(new RectShape());
shape.getPaint().setShader(test);

SeekBar seekBarFont = (SeekBar)findViewById(R.id.seekbar_font);
seekBarFont.setProgressDrawable( (Drawable)shape );

これは、 SeekBar Color Gradientの上の現在のコードのイメージです。

于 2010-12-03T05:38:42.937 に答える