// seekbarLayout是seekBar对象statusSeekbar的父层布局 seekbarLayout = mStatusViewLayout.findViewById (R.id.id_seekbar_layout); seekbarLayout.setOnTouchListener ( nueva View.OnTouchListener () { @ Override pública booleano onTouch (Ver v, caso MotionEvent) { Rect seekRect = nueva Rect (); statusSeekbar.getHitRect (seekRect); si ((event.getY ()> = ( seekRect.top - 500)) && (event.getY () <= (seekRect.bottom + 500 ))) { flotador y = seekRect.top + seekRect.height () / 2 ; // seekBar solamente aceptar x relativa flotadorx = event.getX () - seekRect.left; si (x <0 ) { x = 0 ; } Demás si (x> seekRect.width ()) { x = seekRect.width (); } MotionEvent me = MotionEvent.obtain (event.getDownTime (), event.getEventTime (), event.getAction (), x, y, event.getMetaState ()); retorno statusSeekbar.onTouchEvent (me); } Devolver falsa ; } });
Principio: Vista de conseguir una mayor área de contacto del evento, llamada manual directa seekbar onTouchEvent.