私はイベントを誘発するためにシークバーの親指にクリック可能なイベントを登録したいと思います。出来ますか?Seekbarの親指はクリック
答えて
私はそれをこのように実行します。
pagesSeekBar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() { //listener
@Override
public void onStopTrackingTouch(final SeekBar seekBar) {
//add your event here
}
@Override
public void onStartTrackingTouch(final SeekBar seekBar) {
}
@Override
public void onProgressChanged(final SeekBar seekBar, final int progress, final boolean fromUser) {
updateControls(progress, false);
}
});
親指だけをクリックしたいと思っています。そのリスナーは、シークバーのすべての部分をクリックしてトリガーされます。 – biquillo
私は次のようにこれを達成することができました:
seekBar.setOnTouchListener(new OnTouchListener()
{
@Override
public boolean onTouch(View v, MotionEvent event)
{
if(event.getAction() == MotionEvent.ACTION_MOVE)
{
changedPosition = true;
seekBar.setProgress(seekBar.getProgress());
return false;
}
else if (event.getAction() == MotionEvent.ACTION_UP)
{
if(!changedPosition)
{
//do action here
}
}
}
希望、これは適切にzwebieとNermeens答えを組み合わせる
を支援します溶液:
seekbar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
private int mProgressAtStartTracking;
private final int SENSITIVITY;
@Override
public void onProgressChanged(SeekBar seekBar, int i, boolean b) {
// handle progress change
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
mProgressAtStartTracking = seekBar.getProgress();
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
if(Math.abs(mProgressAtStartTracking - seekBar.getProgress()) <= SENSITIVITY){
// react to thumb click
}
}
});
これは実際にはサムのクリックでのみ発生し、サムの移動ではなく、シークバーの他の部分ではクリックしません。
感度が調整できるのは、クリックが既に親指を少し動かしているにもかかわらず、クリックしている間にほとんど変化が許されないためです。ここでの良い値はシークバーのサイズとそれが持つことができる最大値に依存します。私にとっては、3つのモードでは、縦書きレイアウトで最大50のシークバーでうまくいきました。
@誰でも下降します:私の答えが間違っていると私に教えてください。他の2つの答えよりも優れています。 –
ありがとう、私のためにうまく動作しますが、何人かがダウンした理由を知らない – Vicky
私はBijomの答えをインスピレーションとして使用しました。これは、ユーザーが親指をクリックしないと移動しないので、親指が動くと起動します。お役に立てれば。 :)
どのように動作するかについてご質問がありましたら、お気軽にコメントしてください。
mSeekBarSpeed.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
int progress = mSeekBarSpeed.getProgress();
boolean started = false; //use this variable to see whether the user clicked the right place
@Override
public void onProgressChanged(SeekBar seekBar, int progressValue, boolean fromUser) {
if(!started){ //check to see if user clicks the right place
//if the user clicks within a specific threshold
float threshold = (float)seekBar.getMax()/seekBar.getWidth() * seekBar.getThumb().getIntrinsicWidth()/2;
if(Math.abs(progressValue - progress) < threshold){
if(fromUser){ //checks if user actually clicked it
started = true;
}
}else{
seekBar.setProgress(progress); //set to original progress
onStopTrackingTouch(seekBar); //not really necessary, keep or delete based on your needs
return; //get out of method
}
}
if(started) {
progress = progressValue; //update progress variable
System.out.println("onProgressChanged:" + progress + "/" + seekBar.getMax());
//DO WHAT YOU NEED TO DO WHEN PROGRESS IS CHANGING
}
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
System.out.println("onStartTracking:" + progress + "/" + seekBar.getMax());
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
System.out.println("onStopTracking:" + progress + "/" + seekBar.getMax());
//DO WHATEVER YOU NEED TO DO WHEN PROGRESS IS DONE CHANGING
started = false; //remember to set variable to false
}
});
- 1. SeekBar androidの親指をカスタマイズするRelativeLayout
- 2. SeekBar親指の真ん中にTextViewを追加するには?
- 3. Android Seekbar - 親指でのみ変更できますか?
- 4. 親指/親指ダウンラジオボタン投票
- 5. 最初に親指をクリックしないでfancyboxギャラリーを開く方法(親指で)を開くには?
- 6. ColdFusionには、親指
- 7. ExtJSスライダの親指がクリックで一番上へ
- 8. Wordpressの親指
- 9. キャプチャSeekBarの値
- 10. SlidingDrawerのハンドルのSeekbar
- 11. クリックした後の親リダイレクト
- 12. Android SeekBarの問題
- 13. Android SeekBar thumbカスタマイズ
- 14. Android SeekBar Touch Sensitivity
- 15. AndroidオーディオSeekBar
- 16. Android SeekBar setOnSeekBarChangeListener
- 17. Android SeekBar NullPointerException
- 18. Android SeekBar Jiggles
- 19. アンドロイドのSeekbarをseekBarと同時にprogressBarとして使用する方法は?
- 20. 親クリックでトリガイベントが子ではない
- 21. フレックスTextInput左クリック - 親スティールフォーカス
- 22. Android Seekbar Thumbの位置
- 23. オーディオseekBarスレッドの問題?
- 24. Arduino - Android Communication SeekBarの値
- 25. 親と子のIDのクリック機能
- 26. クリック時のjQueryドロップダウンメニュー(2回目のクリック時)親
- 27. ターゲット要素のクリック、子要素、親が
- 28. ボタンのクリックから親オブジェクトを取得
- 29. 親指の印象を取る
- 30. UISliderカスタムイメージと親指の高さ?
これを解決しましたか? – David