2016-08-24 1 views
1

J'utilise l'approche décrite dans Creating a Splash Screen. Il utilise une ressource (couche-liste) avec un arrière-plan et une image. Cela est utilisé comme windowBackground dans un thème et ce thème est défini sur une activité. Maintenant, j'ai créé tous les dossiers drawable et y mettre des images de tailles différentes.Utiliser l'image non plein écran pour l'écran d'accueil

Maintenant, j'ai ces questions:

  • application à partir dans le paysage sur les pistes de téléphone intelligent à un écran de démarrage noir (sur tablette, il reste en mode portrait)
  • images à partir du dossier drawable-land ne sont pas prises
  • la taille de l'image doit être plus grande sur certains appareils

Dans quelle résolution dois-je fournir les images? L'image doit avoir un tiers de la largeur de la largeur d'affichage. Comment puis-je gérer cela?

J'ai essayé d'utiliser this table comme référence et de calculer la largeur en prenant un tiers de la taille du portrait. Par exemple pour HDPI, un tiers de 480 est de 144, mais la tablette a une largeur de 800 (pas 480). En conséquence, l'image est trop petite.

En outre, je ne pense pas que les fichiers de 9 patch pourraient m'aider ici. Il ne décrit que l'agrandissement, mais alors le plus petit dénominateur commun serait une image de taille LDPI ... L'agrandissement ne fonctionne pas aussi bien pour un logo de texte (police personnalisée).

Quelles sont mes options?

Edit:

application à partir de paysage sur les pistes de téléphone intelligent à un écran d'accueil noir (sur tablette, il reste en mode portrait):

Ajout d'un point de rupture et l'écran d'accueil est montré à la place d'un écran noir. Construire une apk et l'installation sur les smartphones fonctionne. Mode de débogage pas.

images de drawable-land dossier ne sont pas prises

Ajouté ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation) et maintenant ils sont.

Mais je n'ai toujours aucune idée de comment définir une image, ce qui prend un certain montant sur l'écran avec cette approche. Pour l'instant j'ai fourni une plus grande image (xhdpi en hdpi) ...

Répondre

0

vous devriez mettre ces images dans le dossier de mipmap pas à drawable. Vous devez recadrer l'image en trois formats hpdi, ldpi et mdpi. Ceux-ci sont mieux pour tous les appareils Android. (Convient pour tous). Si vous voulez afficher l'image en plein écran, vous pouvez définir android: background = "@ mipmap/image" au lieu de android: windowBackground = "@ mipmap/image". Pour empêcher splahscreen d'être le paysage, vous pouvez définir l'orientation de l'écran à l'intérieur de l'activité comme ci-dessous:

<activity android:name=".Splash_Screen" 
android:screenOrientation="portrait"> 

Si vous ne savez pas la résolution requise pour LDI d'image, hdpi et mdpi puis il y a question posée sur stackoverflow, google !! J'espère que cela a aidé et désolé pour un mauvais anglais !!

+0

"mipmap" n'est pas seulement pour l'icône de l'application? Je ne veux pas afficher l'image en plein écran. Il peut s'agir de paysage, mais il doit ensuite prendre les images du dossier respectif (par exemple 'drawable-land-hdpi'). La chose avec la résolution est qu'une densité (par exemple hdpi) n'est pas une valeur fixe. Au lieu de cela, il s'étend de 480px de largeur à 800px de largeur. Maintenant, je pourrais optimiser mes images pour 480px, mais cela ne convient pas pour 800px. Si je l'adapte pour 800px cela ne convient pas pour 480px et ainsi de suite. Je pourrais fournir une image à haute résolution et le système devrait la réduire pour moi. Est-ce possible? Comment? – grabner

+0

Comme je suis débutant, je ne sais pas grand-chose à ce sujet. J'utilise le plein écran et déplacer trois image splash dans hdpi, ldp et mdi dans le dossier mipmap ouvrant manuellement le chemin du fichier avec un clic droit au lieu de drawable et ça fonctionne très bien dans n'importe quel écran. J'ai déjà testé dans l'onglet Nexus. Non, Android ne correspondra pas aux images fournies dans tous les écrans, si c'est le cas, par exemple, hdpi ne sera jamais là .. Voici tout expliqué https://developer.android.com/guide/practices/screens_support.html – Queendevelopers

+0

Je suis actuellement lire ce lien :-) Dans mon cas, je veux utiliser une image, qui devrait prendre une certaine quantité d'espace. Je n'ai pas trouvé de solution pour mon cas. Seules les informations de * Alternative drawables * sont très intéressantes pour choisir une certaine taille d'icône. – grabner