2011-02-03 17 views
8

He estado intentando todo lo que puedo pensar para que mi aplicación muestre la pantalla completa en el Galaxy Tab.Cómo hacer que mi aplicación se muestre a pantalla completa en Galaxy Tab

Básicamente, funciona como la aplicación de ejemplo Lunar Lander que viene con el SDK de Android. ¿Qué harías para que la aplicación Lunar Lander se muestre en pantalla completa en dispositivos de pantalla grande como Galaxy Tab?

No me preocupa la calidad de los gráficos en este momento, pero cómo una aplicación así creada puede llenar la pantalla. Básicamente fue diseñado para trabajar en una pantalla MDPI de 320x480 con imágenes en la carpeta dibujable y utiliza un SurfaceHolder y una vista para dibujar los mapas de bits individuales.

Algún consejo?

ACLARACIÓN: Lo siento, no me refiero a la pantalla completa como para eliminar la notificación y la barra de título, quiero decir que todo tiene un borde negro gigante alrededor y los gráficos no ocupan toda la pantalla.

+0

¿Cuál es el requisito mínimo de SDK que pones para tu aplicación? – Noel

+0

Puse el min SDK en 4 y Max en 8 –

Respuesta

6

otra manera de hacer es crear un xml llamado styles.xml en res/Valores

definir un estilo:

<style name="Theme.FullScreen" parent="android:Theme"> 
     <item name="android:windowFullscreen">true</item> 
     <item name="android:windowNoTitle">true</item> 
    </style> 

más tarde en el manifiesto, decirle androide lo que la actividad debe estar en la configuración de pantalla completa de la estilo anterior:

<activity android:name=".activity.NewSearchBrowserActivity" android:theme="@style/Theme.FullScreen" android:screenOrientation="landscape"></activity> 

de esta manera se crea un tema reutilizable que se puede aplicar a cualquier actividad.

+0

Lo siento, no me refiero a la pantalla completa como para eliminar la notificación y la barra de título, quiero decir que todo tiene un borde negro gigante alrededor y los gráficos no toman toda la pantalla –

10

Si establece su nivel de SDK objetivo en un valor inferior a 9, se asume que el soporte para pantallas extra grandes es falso. Si establece targetSdkVersion = 9 en el manifiesto, se supone que el soporte xlarge es verdadero. Consulte la documentación en Supporting Multiple Screens, en particular la descripción del modo de compatibilidad.

5

Ted mencionó XLargeSceens, el Galaxy Tab está ejecutando 2.2 y por lo tanto no tiene el atributo xlargeScreens como se agregó en 2.3; Debido a que la próxima generación de tabletas tendrá 3.0 y XlargeScreens, querrá usarlo de todos modos (y compilar contra 2.3/3.0)

En su Manifiesto necesita declarar soporte para todos los tamaños razonables de pantalla y proporcionar el conjunto correcto de los recursos

<supports-screens 
    android:smallScreens="false" 
    android:largeScreens="true" 
    android:xlargeScreens="true" 
    android:normalScreens="true" 
    android:anyDensity="true" 
/> 
+3

Solo un recordatorio, la etiqueta 'supports-screens' va bajo la etiqueta 'manifest', NO la etiqueta 'application'. Después de media hora de rebuscar, puedo confirmar que no hace nada si lo pones allí. –

+0

muchas gracias, también permití la pantalla pequeña, funciona perfectamente – cV2

0

<uses-sdk android:minSdkVersion="4" />

o un número de versión es otra que falta en su manifiesto

+0

¿Tiene anyDensity ser cierto? –

+0

No cambié el valor predeterminado de anyDensity – VinceFR

1
public void onCreate(Bundle savedInstanceState) { 
    requestWindowFeature(Window.FEATURE_NO_TITLE); 
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN); 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

Esto está funcionando bien para mí ... intente esto

2

A menos que admita versiones de SDK que son al menos 4, es decir:
<uses-sdk android:minSdkVersion="4"/>,

que tendrá que hacer lo siguiente de forma explícita:

<supports-screens android:smallScreens="true" 
    android:normalScreens="true" 
    android:largeScreens="true" 
    android:anyDensity="true" /> 
0

puede añadir esta exactamente debajo

super.onCreate(savedInstanceState); 

de la actividad que desea ser de plena pantalla.

requestWindowFeature(Window.FEATURE_NO_TITLE); 
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, 
      WindowManager.LayoutParams.FLAG_FULLSCREEN); 
+0

¿funciona esto en la versión api 14? – guness

+0

@bluebrain: No creo que esté relacionado con la versión que estamos usando. Debería funcionar en todas las versiones. – Daniel

0

dar a éste en su archivo de manifiesto:

<supports-screens android:smallScreens="true" 
    android:normalScreens="true" 
    android:largeScreens="true" 
    android:anyDensity="true" /> 

Seguramente va a funcionar.

Cuestiones relacionadas