私はイベントを誘発するためにシークバーの親指にクリック可能なイベントを登録したいと思います。出来ますか?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. Androidで2つの親指でSeekBarをカスタマイズする
- 5. 指示句の親のクリックの角度指示
- 6. 親指/親指ダウンラジオボタン投票
- 7. は、シークバーの親指
- 8. 最初に親指をクリックしないでfancyboxギャラリーを開く方法(親指で)を開くには?
- 9. ColdFusionには、親指
- 10. ExtJSスライダの親指がクリックで一番上へ
- 11. Wordpressの親指
- 12. AngularJs:Detect隔離された指示文から親スコープをクリック
- 13. リサイズ親指は良質
- 14. ナビゲーション・ドローのSeekBar
- 15. キャプチャSeekBarの値
- 16. SlidingDrawerのハンドルのSeekbar
- 17. JavaFXスライダーの親指の値
- 18. Android SeekBarの問題
- 19. カスタムデザインSeekBar in android
- 20. クラスinflating error Seekbar
- 21. Android SeekBar thumbカスタマイズ
- 22. Android SeekBar Jiggles
- 23. Android SeekBar setOnSeekBarChangeListener
- 24. AndroidオーディオSeekBar
- 25. Android SeekBar Touch Sensitivity
- 26. Android SeekBar NullPointerException
- 27. seekbar thumb onclicklistener
- 28. クリックした後の親リダイレクト
- 29. アンドロイドのSeekbarをseekBarと同時にprogressBarとして使用する方法は?
- 30. シークバーは一定の間隔で、1つの親指と親指は5つのステップしか持たない
これを解決しましたか? – David