<écrans-compatibles>

Syntaxe :
<supports-screens android:resizeable=["true"| "false"]
                  android:smallScreens=["true" | "false"]
                  android:normalScreens=["true" | "false"]
                  android:largeScreens=["true" | "false"]
                  android:xlargeScreens=["true" | "false"]
                  android:anyDensity=["true" | "false"]
                  android:requiresSmallestWidthDp="integer"
                  android:compatibleWidthLimitDp="integer"
                  android:largestWidthLimitDp="integer"/>
Contenu dans :
<manifest>
description :

Cet élément vous permet de spécifier les tailles d'écran compatibles avec votre application et d'activer le mode de compatibilité de l'écran pour les écrans dont la taille est supérieure aux tailles compatibles avec votre application. Il est important de toujours utiliser cet élément dans votre application pour spécifier les tailles d'écran compatibles avec elle.

Remarque:Le mode de compatibilité de l'écran n'est pas un mode dans lequel l'application doit s'exécuter. Elle provoque la pixellisation et le floutage de votre interface utilisateur. en raison du zoom. Pour que votre application fonctionne correctement sur les grands écrans, il est recommandé de suivre la Présentation de la compatibilité avec les écrans et de proposer des mises en page alternatives pour différentes tailles d'écran.

Une application est compatible avec une taille d'écran donnée si elle remplit l'écran tout entier. Le redimensionnement normal appliqué par le système fonctionne bien pour la plupart des applications et ne nécessite aucune intervention de votre part. du travail supplémentaire pour que votre application fonctionne sur des écrans plus grands qu'un téléphone portable.

Toutefois, il est souvent important d'optimiser l'interface utilisateur de votre application pour différentes tailles d'écran en fournissant d'autres ressources de mise en page. Par exemple, vous pouvez choisir de modifier la mise en page d'une activité afin qu'elle soit différente sur tablette et sur téléphone.

Toutefois, si votre application ne fonctionne pas correctement lorsqu'elle est redimensionnée pour s'adapter à différentes tailles d'écran, vous pouvez utiliser les attributs de l'élément <supports-screens> pour déterminer si votre l'application n'est distribuée que sur des écrans plus petits, ou dont l'interface utilisateur est agrandie ou "zoomée" pour ajuster sur les grands écrans à l'aide du mode de compatibilité de l'écran du système.

Si vous ne concevez pas pour des écrans de plus grande taille et que le redimensionnement normal n'offre pas la le mode de compatibilité de l'écran adapte votre interface utilisateur en émulant une taille normale d'écran et de densité moyenne. Elle effectue ensuite un zoom avant pour remplir l'intégralité de l'écran. Sachez que cette provoque la pixellisation et le floutage de l'interface utilisateur. Il est donc préférable d'optimiser votre interface utilisateur pour les grands écrans.

Remarque:Android 3.2 a introduit de nouveaux attributs: android:requiresSmallestWidthDp, android:compatibleWidthLimitDp et android:largestWidthLimitDp. Si vous développez votre application pour Android 3.2 ou version ultérieure, Utilisez ces attributs pour déclarer la taille d'écran compatible au lieu des attributs en fonction de tailles d'écran généralisées.

À propos du mode de compatibilité de l'écran

Le mode de compatibilité de l'écran est une solution de dernier recours pour les applications qui ne sont pas correctement conçues d’avantage des tailles d’écran plus grandes. Il ne s'agit pas d'un mode dans lequel vous voulez que votre application s'exécute, car il peut proposer mauvaise expérience utilisateur. Il existe deux versions du mode de compatibilité de l'écran sur la version de l'appareil sur laquelle l'application s'exécute.

Sur les versions 1.6 à 3.1 d'Android, le système exécute votre application avec un "timbre-poste" fenêtre. Il émule un écran de 320 x 480 dp avec une bordure noire qui remplit la zone restante de l'écran.

Sur Android 3.2 ou version ultérieure, le système dessine la mise en page comme sur un écran de 320 x 480 dp, puis l'agrandit pour remplir l'écran. Cela provoque souvent des artefacts tels qu'un floutage et une pixellisation dans votre interface utilisateur.

Pour découvrir comment prendre correctement en charge les différentes tailles d'écran et éviter d'utiliser le mode de compatibilité de l'écran avec votre application, consultez la page Présentation de la compatibilité avec les écrans.

Attributs :
android:resizeable
Indique si l'application peut être redimensionnée pour différentes tailles d'écran. Cet attribut est "true" par défaut. Si la valeur est "false", le système exécute votre application en mode de compatibilité de l'écran sur les grands écrans.

Cet attribut est obsolète. Il a été introduit pour faciliter la transition des applications d'Android 1.5 vers Android 1.6, où la compatibilité avec plusieurs écrans a été introduite. Ne l'utilisez pas.

android:smallScreens
Indique si l'application accepte les facteurs de forme d'écran. Un petit écran est défini comme un écran dont le format est plus petit que le "normal" ou un écran HVGA traditionnel. Une application qui n'a pas prendre en charge les petits écrans n'est pas disponible pour appareils à petit écran à partir de services externes, tels que Google Play, car il n'y a que très peu que la plateforme peut faire pour faire fonctionner une telle application sur un écran plus petit. La valeur de cet attribut est "true" par défaut.
android:normalScreens
Indique si l'application est compatible ou non avec les formats d'écran "normaux". Il s'agit traditionnellement d'un écran HVGA à densité moyenne, mais les écrans WQVGA à faible densité et les écrans WVGA à haute densité sont également considérés comme normaux. La valeur de cet attribut est "true" par défaut.
android:largeScreens
Indique si l'application prend en charge "grand" facteurs de forme d'écran. Un grand écran est défini comme un écran beaucoup plus grand qu'un serveur "normal" l'écran du téléphone. Il peut donc nécessiter une attention particulière de la part de l'application pour en faire bon usage. Toutefois, elle peut nécessiter un redimensionnement pour remplir l'écran.

La valeur par défaut varie selon les versions. Il est donc préférable que vous déclarez explicitement cet attribut. Veillez à le définir sur "false" active généralement les filtres mode de compatibilité.

android:xlargeScreens
Indique si l'application accepte les très grandes tailles d'écran. facteurs de forme d'écran. Un très grand écran est défini comme un écran beaucoup plus grand qu'une "grande taille" un écran, comme une tablette ou quelque chose d’encore plus grand. Cela peut nécessiter une attention particulière de la part de l'application pour en faire bon usage. Toutefois, elle peut nécessiter un redimensionnement pour remplir l'écran.

La valeur par défaut varie selon les versions. Il est donc préférable que vous déclarez explicitement cet attribut. Veillez à le définir sur "false" active généralement les filtres mode de compatibilité.

Cet attribut a été introduit dans le niveau d'API 9.

android:anyDensity
Indique si l'application inclut des ressources permettant une adaptation à n'importe quelle densité d'écran.

Pour les applications compatibles avec Android 1.6 (niveau d'API 4) ou version ultérieure, la valeur est "true". par défaut. Ne la définissez pas sur "false", sauf si vous êtes absolument certain que pour que votre application fonctionne. Le seul moment où il peut être nécessaire de désactiver cette si votre application manipule directement des bitmaps. Pour en savoir plus, consultez Présentation de la compatibilité des écrans.

android:requiresSmallestWidthDp
Spécifie la valeur minimale (smallestWidth) requise pour l'application. smallestWidth est la dimension la plus courte l'espace à l'écran, en unités dp, qui doit être disponible pour l'UI de votre application. En d'autres termes, c'est la plus courte des deux dimensions de l'écran disponibles.

Pour qu'un appareil soit pris en compte compatible avec votre application, la valeur smallestWidth de l'appareil doit être supérieure ou égale à cette valeur . En général, la valeur que vous fournissez est la "plus petite largeur" compatibles avec votre mise en page, quelle que soit l'orientation actuelle de l'écran.

Par exemple, l'écran d'un téléphone portable standard a une smallestWidth de 320 dp, tandis qu'une tablette de 7 pouces a une smallestWidth de 600 dp, et une tablette de 10 pouces a une smallestWidth de 720 dp. Ces valeurs sont généralement smallestWidth, car il s'agit de la dimension la plus courte de l'espace disponible sur l'écran.

La taille à laquelle votre valeur est comparée tient compte des décorations d'écran et de l'interface utilisateur du système. Par exemple, si des éléments d'interface utilisateur persistants sont affichés à l'écran, le système déclare la smallestWidth de l'appareil soit inférieure à la taille réelle de l'écran, car il s'agit pixels d'écran non disponibles pour votre interface utilisateur.

Si votre application est correctement redimensionnée pour des tailles d'écran plus petites, "petite taille" ou une largeur minimale de 320 dp, vous n'avez pas besoin d'utiliser cet attribut. Sinon, utilisez une valeur pour cet attribut correspond à la plus petite valeur utilisée par votre application pour le paramètre plus petite largeur d'écran (sw<N>dp).

Attention:Le système Android ne fait pas attention à cela. Il n'affecte donc pas le comportement de votre application au moment de l'exécution. Cet attribut permet en fait d'activer le filtrage de votre application sur des services tels que Google Play. Toutefois, Pour le moment, Google Play n'accepte pas cet attribut pour le filtrage sur Android 3.2. Continuez à utiliser les autres attributs de taille si votre application n'est pas sur les petits écrans.

Cet attribut a été introduit dans le niveau d'API 13.

android:compatibleWidthLimitDp
Cet attribut vous permet d'activer le mode de compatibilité de l'écran en tant que fonctionnalité facultative de l'utilisateur en spécifiant la "plus petite largeur d'écran" maximale pour lequel votre application est conçu. Si le plus petit côté de l'écran disponible d'un appareil est supérieur à votre valeur ici, les utilisateurs peuvent toujours installer votre application, mais ils sont invités à l'exécuter en mode de compatibilité de l'écran.

Par par défaut, le mode de compatibilité de l'écran est désactivé et votre mise en page est redimensionnée pour s'adapter à l'écran d'habitude. Un bouton disponible dans la barre système permet à l'utilisateur d'activer/de désactiver l'écran mode de compatibilité.

Si votre application est compatible avec toutes les tailles d'écran et que sa mise en page est correctement redimensionnée, vous ne devez pas vous devez utiliser cet attribut.

Remarque:Actuellement, le mode de compatibilité de l'écran n'émule que les appareils écrans d'une largeur de 320 dp. Le mode de compatibilité de l'écran n'est donc pas appliqué si la valeur pour android:compatibleWidthLimitDp est supérieur à 320.

Cet attribut a été introduit dans le niveau d'API 13.

android:largestWidthLimitDp
Cet attribut vous permet d'activer de force le mode de compatibilité de l'écran en spécifiant la plus petite "largeur d'écran" maximale pour lesquels votre application est conçue. Si le plus petit côté de l'écran disponible d'un appareil est supérieur à cette valeur, l'application s'exécute à l'écran sans possibilité pour l'utilisateur de le désactiver.

Si votre application est compatible avec toutes les tailles d'écran et que sa mise en page est correctement redimensionnée, vous ne devez pas vous devez utiliser cet attribut. Sinon, commencez par utiliser l'attribut android:compatibleWidthLimitDp. Utilisez les L'attribut android:largestWidthLimitDp uniquement lorsque votre application ne fonctionne pas correctement redimensionné pour les écrans plus grands, et le mode de compatibilité de l'écran est le seul moyen d'utiliser votre application.

Remarque:Actuellement, le mode de compatibilité de l'écran n'émule que les appareils écrans d'une largeur de 320 dp. Le mode de compatibilité de l'écran n'est donc pas appliqué si la valeur pour android:largestWidthLimitDp est supérieur à 320.

Cet attribut a été introduit dans le niveau d'API 13.

Première apparition :
Niveau d'API 4
Voir aussi :