EDIT:
Я видел клавиатуру. Я думаю, это только один вид и координаты каждой буквы известны. Таким образом, вы можете легко вычислить, какую букву проскальзывает пользователь
И СЕЙЧАС ОТВЕТ:
Я не уверен, но, вероятно, этот код поможет вам.
Это так далеко, я написал это для себя. Но идея заключается в следующем.
Если я правильно помню, для представлений не существует детектора жестов, но вы можете комбинировать сенсорный список представления с geturelistener вашей деятельности.
Как только вы коснулись своего взгляда, у вас есть
private GestureDetector mGestureDetector;
// x and y coordinates within our view
private static float sideIndexX;
private static float sideIndexY;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
...
mGestureDetector = new GestureDetector(this, new SideIndexGestureListener());
}
class MyGestureListener extends
GestureDetector.SimpleOnGestureListener
{
@Override
public boolean onScroll(MotionEvent e1, MotionEvent e2,
float distanceX, float distanceY)
{
// we know already coordinates of first touch
// we know as well a scroll distance
sideIndexX = sideIndexX - distanceX;
sideIndexY = sideIndexY - distanceY;
// when the user scrolls within our side index
// we can show for every position in it a proper
// item in the country list
if (sideIndexX >= 0 && sideIndexY >= 0)
{
doStuff();
}
return super.onScroll(e1, e2, distanceX, distanceY);
}
}
button.setOnTouchListener(new OnTouchListener()
{
@Override
public boolean onTouch(View v, MotionEvent event)
{
// now you know coordinates of touch
// store them
sideIndexX = event.getX();
sideIndexY = event.getY();
doStuff();
return false;
}
});