2017-10-06 18 views
0

Je suis débutant développeur Android et je suis dans une lutte pour que mon application semble bien sur tous les écrans, j'ai fait différentes mises en page pour hdpi,xhdpi,xxhdpi pour résoudre ce problème, car certains seekbars et textviews ont disparu sur les petits écrans ..Comment faire fonctionner l'application sur tous les écrans "plus grands" que hdpi

Existe-t-il un moyen de spécifier dans le manifeste Android que seules les personnes avec des écrans hdpi et ci-dessus peuvent télécharger mon application à partir playstore? J'ai regardé ci-dessous stackoverflow, et j'ai lu les guides de développement android, mais je ne trouve pas de solution pour le faire fonctionner sur hdpi et au-dessus de

https://developer.android.com/guide/topics/manifest/compatible-screens-element.html https://developer.android.com/guide/practices/screens_support.html

+0

que vous faites probablement trop, ou faire des choses dans le mauvais sens. Je n'ai pratiquement jamais besoin de faire une mise en page séparée pour autre chose que le paysage/portrait. J'écrirais une nouvelle question demandant de l'aide pour que votre mise en page fonctionne correctement. –

Répondre

0

Vous avez juste besoin d'ajouter quelque chose comme ça dans votre Manifest en fonction de ce que vous voulez:

<manifest ... > 
    ... 
    <compatible-screens> 
     <!-- all small size screens --> 
     <screen android:screenSize="small" android:screenDensity="ldpi" /> 
     <screen android:screenSize="small" android:screenDensity="mdpi" /> 
     <screen android:screenSize="small" android:screenDensity="hdpi" /> 
     <screen android:screenSize="small" android:screenDensity="xhdpi" /> 
     <screen android:screenSize="small" android:screenDensity="xxhdpi" /> 
     <screen android:screenSize="small" android:screenDensity="xxxhdpi" /> 
     <!-- all normal size screens --> 
     <screen android:screenSize="normal" android:screenDensity="ldpi" /> 
     <screen android:screenSize="normal" android:screenDensity="mdpi" /> 
     <screen android:screenSize="normal" android:screenDensity="hdpi" /> 
     <screen android:screenSize="normal" android:screenDensity="xhdpi" /> 
     <screen android:screenSize="normal" android:screenDensity="xxhdpi" /> 
     <screen android:screenSize="normal" android:screenDensity="xxxhdpi" /> 
    </compatible-screens> 
    <application ... > 
     ... 
    <application> 
</manifest> 

S'il vous plaît lire ceci pour plus d'informations: https://developer.android.com/guide/topics/manifest/compatible-screens-element.html

0

i fait différentes mises en page pour hdpi, xhdpi, xxhdpi pour résoudre ce

Vous avez besoin de ressources différentes étirables et mipmap pour différentes densités. Tout le reste doit rester le même, en supposant que vous utilisez des dimensions indépendantes de la densité (dp, sp, etc — pas px). Vous ne devriez pas avoir besoin de ressources de mise en page différentes pour différentes densités d'écran.

Y at-il un moyen de spécifier dans le manifeste Android que seules les personnes avec des écrans hdpi et ci-dessus peuvent télécharger mon application de Playstore

Non, désolé.

+0

Expansion sur le dernier: Vous ne pouvez pas empêcher les utilisateurs avec Zoe

+0

Merci pour la réponse. Oui, j'utilise toujours dp, sp, etc. Peut-être devrais-je spécifier des dispositions différentes pour des groupes d'écrans de tailles différentes au lieu de densités différentes? depuis que j'ai essayé de faire différents drawables pour différentes densités et certaines choses ne pouvaient toujours pas correspondre à l'écran, j'ai donc dû les réorganiser .. –

+0

Vous pouvez essayer de régler Android: anyDensity = "false". Je ne suis pas sûr si cela les bloquera réellement, ou le mettra dans un mode de compatibilité étrange. Mais c'est probablement mieux de faire fonctionner votre application. –