2010-09-13 11 views
5

¿Cómo se llama (qué término debo usar google) al mover/inclinar el teléfono, para que la vista gire al ejecutar Android?OpenGL al activar el teléfono Android

Mi aplicación (OpenGL) se bloquea al hacer esto, ¿hay algunos pasos que debe seguir cuando maneje OpenGL cuando esto ocurra?

¿Hay algo más en lo que pueda pensar?

+0

rotación es la palabra – hhafez

+0

también nos muestra el rastro de la pila – hhafez

Respuesta

3

El problema es como el cambio de configuración que ocurre cuando se produce el cambio de orientación de la pantalla. Ver Configuration Changes. Es posible que desee decirle a Android que se encargará del cambio de orientación usted mismo, a través del atributo configChanges.

0

Usted podría intentar la búsqueda de "rotación de la pantalla androide" o "rotación de la pantalla OpenGL androide" ya que estamos tratando de hacer en 3D. Cuando la pantalla gira, la superficie actual se destruye y se crea una nueva que ya cuenta las nuevas dimensiones de la pantalla.

Recomendaría buscar algún código de muestra solo para ver la forma correcta de manejar la rotación de la pantalla, busque "ApiDemos.apk" en Android (es de origen abierto por cierto), específicamente los que usan GL ", todos manejan la rotación de la pantalla.

5

si no configura los atributos de AndroidManifest.xml para las actividades que manejan sus propias rotaciones, su actividad se reiniciará, se recreará el contexto GL y, al menos, cualquier las superficies y los búferes que estaba utilizando no serán válidos.

En la aplicación my gles 1.1, tengo lo siguiente en mi AndroidManifest.xml, que especifica que la actividad de mi aplicación desea continuar vivo a través de keybo ard cambios de configuración y orientación, y que la aplicación es compatible con cualquier orientación, pero no quiere que cambie -porque no quiero tratar con la recarga de texturas o rehacer la disposición del juego (todavía)

<application android:label="@string/app_name" 
      android:icon="@drawable/icon" 
      android:theme="@android:style/Theme.NoTitleBar.Fullscreen" 
      android:debuggable="true"> 
    <activity android:name="MainActivity" 
       android:configChanges="keyboard|keyboardHidden|orientation" 
       android:screenOrientation="nosensor" 
       android:label="@string/app_name"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
</application> 
Cuestiones relacionadas