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