Red de conocimiento informático - Conocimiento informático - Cómo hacer que Android se adapte al diseño de diferentes resoluciones o diferentes tamaños de pantalla

Cómo hacer que Android se adapte al diseño de diferentes resoluciones o diferentes tamaños de pantalla

1: Diferentes diseños

Los tamaños de pantalla de los teléfonos móviles Android varían, incluidos 480x320, 640x360 y 800x480. ¿Cómo podemos hacer que la aplicación se adapte automáticamente a diferentes pantallas?

De hecho, es muy simple. Solo necesita crear diferentes carpetas de diseño en el directorio res, como diseño-640x360, diseño-800x480. Todos los archivos de diseño se compilarán después de escribir R.java. y el sistema elegirá un diseño apropiado para usar según el tamaño de la pantalla.

Dos: hdpi, mdpi, ldpi

En versiones anteriores, solo había un dibujable, pero en la versión 2.1, hay dibujables-mdpi, dibujables-ldpi y dibujables-hdpi. Se utilizan principalmente para soporte de múltiples resoluciones.

La diferencia entre drawable-hdpi, drawable-mdpi y drawable-ldpi:

(1) drawable-hdpi admite imágenes de alta resolución, como WVGA (480x800), FWVGA ( 480x854)

(2) drawable-mdpi admite imágenes de alta resolución. drawable-mdpi almacena imágenes de resolución media, como HVGA (320x480)

(3) drawable-ldpi almacena imágenes de baja resolución, como QVGA (240x320)

El sistema La resolución de la máquina entra en estas carpetas para buscar las imágenes correspondientes.

Corrección: Corresponde a imágenes de diferentes densidades

Para ser compatible con diferentes pantallas en diferentes plataformas, se recomienda que cada carpeta almacene diferentes versiones de imágenes según sea necesario.

[i]Nota: Las resoluciones de los tres no son iguales. Al igual que si bajas la resolución de tu computadora, la imagen se hará más grande. Por el contrario, si la resolución es alta, la resolución será mayor. la imagen se hará más pequeña. [

Orientación de la pantalla:

Cambio automático entre horizontal y vertical:

Puede configurar dos directorios en el directorio res: diseño-puerto -800x600 y diseño- land y coloque archivos de diseño de pantalla vertical y horizontal respectivamente, de modo que cuando cambie la orientación de la pantalla del teléfono, el sistema llamará al archivo de diseño correspondiente para evitar que un archivo de diseño no pueda satisfacer las necesidades de otro archivo de diseño. De esta manera, cuando cambia la orientación de la pantalla, el sistema llamará automáticamente al archivo de diseño correspondiente, evitando así el problema de que un archivo de diseño no pueda satisfacer las necesidades de visualización de dos pantallas al mismo tiempo.

Cambie automáticamente entre diferentes resoluciones:

Tome 800x600 como ejemplo

Puede configurar dos directorios en el directorio res: layout-port-800x600 y layout- land-800x600

Sin cambiar:

Los siguientes pasos han circulado en línea, pero he estado usando una interfaz gráfica para crear mi propio diseño. También implementé esta configuración a través de la interfaz gráfica de usuario antes y el contenido es más o menos el mismo. Publicaré las imágenes cuando tenga tiempo.

Una cosa más a tener en cuenta: cada actividad tiene una propiedad screenOrientation, y cada actividad debe configurarla en vertical o sin gravedad (sin sensor).

Para mantener la interfaz del programa en una dirección y no cambiar a medida que cambia la orientación del teléfono:

Configure en AndroidManifest.xml. Agregue esta línea android:screenOrientation="landscape".

Por ejemplo (el paisaje es horizontal, el retrato es vertical):

Código Java:

paquete="com.ray.linkit"

android:versionCode = "1"

android :versionName="1.0">

< / p>

android:label="@string/app_name"

android:screenOrientation="portrait">

android.screenOrientation="retrato">

android:screenOrientation=" retrato">

En Además, en Android, cada operación de cambio de pantalla reiniciará la Actividad, por lo que debes guardar el estado de la Actividad actual antes de destruirla y cargar la configuración al crear la Actividad nuevamente, para que el juego en curso no se reinicie automáticamente.

Algunos programas son adecuados para cambiar de retrato a paisaje y viceversa. Puede utilizar android:screenOrientation="portrait" para configurar la actividad. Esto asegurará que las pantallas verticales sean siempre verticales y las pantallas horizontales sean horizontales.

Algunos programas son adecuados para cambiar entre pantallas horizontales y verticales. ¿Cómo afrontarlo? Primero, necesitamos configurar la Actividad con la siguiente configuración: android:configChanges="keyboardHidden|orientation", y también debemos anular el método onConfigurationChanged de la Actividad.

El proceso de implementación es el siguiente, sin hacer mucho:

@Override

public void onConfigurationChanged(Configuration newConfig) {

super.getResources().getConfiguration( ) .orientation == Configuration.ORIENTATION_ PORTRAIT) {

// port no hacer nada está bien

}

}

Basado en escrito en 1.6 Un programa que admite múltiples resoluciones y crea tres carpetas de recursos dibujable-hdpi dibujable-mdpi dibujable-ldpi. Hay tres carpetas de recursos drawable-hdpi drawable-mdpi drawable-ldpi, que almacenan 72*72 48*48 36*36 archivos de iconos respectivamente. Cuando probé en G1 (sistema 1.5), el ícono debería ser 48*48, pero la pantalla real es 36*36. ¿Cómo puedo hacer que se adapte a iconos de 48*48?

La solución alternativa drawable-hdpi drawable-mdpi drawable-ldpi se cambió a la carpeta drawable -480X320 drawable-800X480 para admitir múltiples resoluciones