Как заставить вызов onDrawFrame () на GLSurfaceView? - PullRequest
3 голосов
/ 04 октября 2011

У меня есть пользовательский интерфейс с GLSurfaceView, который показывает многоугольник.

В пользовательском интерфейсе также есть две кнопки ZoomIn и ZoomOut. Когда пользователь нажимает эти кнопки, вызываются методы zoomIn () и zoomOut () myGLSurfaceView.

Проблема в том, что я хочу, чтобы метод onDrawFrame вызывался для отражения увеличения и уменьшения.

Почему я хочу это? потому что кнопки имеют setClickable (true); Зачем? потому что мне нужно, чтобы, если пользователь оставил палец, нажимая кнопку, масштабирование применяется непрерывно, пока пользователь не отпустит кнопку.

Теперь это работает, но работает плохо, мне нужно обновить GLsurfaceview, заставляя onDrawFrame

Ответы [ 2 ]

7 голосов
/ 07 февраля 2012

Вызов gLSurfaceView.requestRender () .Это будет (по ссылке):

Запросить, чтобы средство визуализации отрисовало кадр.Этот метод обычно используется, когда для режима рендеринга было задано значение RENDERMODE_WHEN_DIRTY, поэтому кадры отображаются только по запросу.Можно звонить из любой темы.Не должен вызываться, пока не было установлено средство визуализации.

0 голосов
/ 05 октября 2011

решено с помощью потоков и событий нажатия / выпуска пальца

...