SeekBar の最小値を定義する方法は? これは XML レイアウトで行われますか、それともプログラムで定義する必要がありますか?
基本的に、最小値を 0 から 0.2 に変更する必要があります
SeekBar の最小値を定義する方法は? これは XML レイアウトで行われますか、それともプログラムで定義する必要がありますか?
基本的に、最小値を 0 から 0.2 に変更する必要があります
SeekBar の最小値を定義する方法は?
最小値を定義することはできません。です0
。
基本的に、最小値を 0 から 0.2 に変更する必要があります
値を取得したら、それに追加0.2
します。
基本的に、最小値を自動的に 10 に設定する size+10 を追加しました。最小値を設定するように変更できます。価値。
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
int siz = size + 10;
txtViewFontSize.setTextSize(siz);
Toast.makeText(this, String.valueOf(siz), Toast.LENGTH_SHORT).show();
}
私にとってうまくいく私の解決策は次のとおりです。
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
if (progress <= SOME_LIMIT) {
seekBar.setProgress(SOME_LIMIT);
} else {
// DO SOMETHING
}
}
seekbar.getProgress() は常に整数値を返すため、float で進行状況を設定することはできません。次のコードは、シークバーの値が 0 の場合、textview の値を 0.2 に設定します。必要に応じて minimumVal を変更できます。
int minimumVal = 0;
seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
if (progress >= minimumVal) {
seekBar.setProgress(progress);
textView.setText(progress);
} else {
seekBar.setProgress(minimumVal);
textView.setText("0.2");
}
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
}
});
この単純なライブラリを作成しました。大した量ではありませんが、時間を節約できます。
この方法で試すことができます:
int yourMinProgress = 10;
private SeekBar.OnSeekBarChangeListener onSeekBarChangeListener =
new SeekBar.OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean b) {
if (progress < yourMinProgress) {
seekBar.setProgress(10);
}
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
}
};