こんにちは私はシークバーをカスタマイズしようとしています。ここで進捗状況のSeekbarとInsetDrawable
は私の問題だ:@drawable
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@android:id/background"
android:drawable="@drawable/seekbarbg">
</item>
<item android:id="@android:id/progress"
android:drawable="@drawable/sb_progress">
</item>
</layer-list>
で
main.xml
...
<SeekBar android:id="@+id/seekBar1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:thumb="@drawable/seekbarthumb"
android:progressDrawable="@drawable/sb2"
android:minHeight="45dip"
android:maxHeight="45dip"
></SeekBar>
...
sb2.xml
すべてが正常に動作しますが、sb_progressが誤った位置にありました。
私は2つの解決策を持っています。 sb_progressの位置を変更するか、Photoshopでsb_progressを編集し、透過ピクセルを追加して修正します。位置何かを変えるの良い方法を試みることによって
は間違っていた:
を私はinset要素が、結果suxxを追加sb2.xml
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@android:id/background"
android:drawable="@drawable/seekbarbg">
</item>
<item android:id="@android:id/progress" >
<inset
android:drawable="@drawable/sb_progress"
android:insetTop="11dip"
android:insetBottom="11dip"
android:insetLeft="11dip">
</inset>
</item>
</layer-list>
にいくつかの行を追加しました。位置は正しいが、進行状況はもはやアニメーション化されていない。 sb_progress.pngは常にフルで描画され、親指で止まらない。
私は助けが必要です!これはバグですか、透明なピクセルを追加する必要がありますか?ではない
InsetDrawableはDrawableのサブクラスです。シークバーがInsetDrawableでもう動作しないのはなぜですか?
java.lang.Objectの ↳android.graphics.drawable.Drawable ↳android.graphics.drawable.InsetDrawable