2012-02-12 5 views
1

J'ai actuellement un SurfaceView en mode paysage.ActionBar Orientation

Actuellement, je suis en train d'ajouter une barre d'action Bar/Menu à l'aide

/*Action Bar */ 
//this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); ** 
MenuInflater inflater = getMenuInflater(); 
inflater.inflate(R.menu.main_menu, menu); 

Est-il possible de quitter la barre d'action en mode portrait sur l'écran alors que le paysage est SurfaceView?

J'ai essayé d'ajouter

this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); 

, mais ce qui rend l'ensemble Portrait SurfaceView.

Et puis en ajoutant cette

this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); 

à la fin serait le programme boucle inf

Merci

Répondre

1

this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); ou LANDSCAPE définit l'orientation de l'activité, de sorte que vous ne pouvez pas l'utiliser pour la vue de surface. Si vous souhaitez que l'ActionBar soit en mode portrait, vous devez définir l'activité dans Portrait, mais trouver une autre façon de définir SurfaceView sur Paysage.

Je suggère à SurfaceView de régler la rotation de l'objet Camera, de cette façon vous obtiendrez l'orientation SurfaceView dans Landscape. Essayez ce qui suit:

public void surfaceCreated(SurfaceHolder holder) { 
    camera = Camera.open(); 
    camera.setDisplayOrientation(90);