What resolution should my Android splash screens be?

前提是你 提交于 2019-11-27 00:18:32

问题


I'm creating a splash screen that will display while my Android application loads. I'd like to create it at the correct size so Android won't auto-scale it up or down to fit the screen. (It's a bitmap image, a photograph of an oil painting, so I can't just turn it into a nine-patch.)

But there are at least three important screen sizes I care about: 320x480, 480x854 (Droid), and 480x800 (Nexus One).

I've read the documentation on supporting multiple screen sizes, but I still don't see how I'm supposed to configure different splash screens for Droid/Nexus one (they're both "hdpi" resources as far as Android is concerned), and I don't know exactly how large my splash screen should be in any case. (How tall is the OS title bar/menu in Droid? N1?)

What size should I make these images, and how do I tell Android to use the correct size on a given screen?


回答1:


You don't need to worry about the absolute screen size or status bars or anything — that's why we have nine-patch images.

What I did was have an image that looked good for each resolution — essentially a logo on a transparent background, with some text at the bottom.

Then I chopped off quite a lot of space at the top and side edges, made a nine-patch border round the image, with a single pixel near the left, right and top edges. This allows the image to expand evenly at the sides and top to fill the screen.


Edit, in response to Dan's comment below:

Yes, there is a way to determine which graphics should be used for which explicit screen sizes, but it's deprecated.

Just as there are drawable-hdpi and -ldpi resource qualifiers, it's also possible to use drawable-HHHxWWW — the larger pixel dimension coming first.

e.g. drawable-800x480 and drawable-854x480




回答2:


Okay, firstly: you can find the device model via android.os.Build and use that to determine which image to show.

Secondly, I personally wouldn't bother. Layouts should be done in dip since every android screen is 320x480 dip I believe, and android maintains aspect ratio among devices very well through this in my experience. A 480x800 splash set to fill parent has been pretty reliable on both N1 and the droid as far as I have encountered.




回答3:


Another solution that I implemented is to put an ImageView that fills the screen (width and height both "MATCH_PARENT") with scale type "centerCrop". This way, the image is not stretched but cropped along the edges. Try not to put important content (logos and stuff like that) close to the edges. If it is a photograph, I hope that the edges are "expendable" and can be cropped out.



来源:https://stackoverflow.com/questions/2561598/what-resolution-should-my-android-splash-screens-be

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!