Is it possible to use a different image size for the different places the icon appears? Specifically, I would like to use a different image size for the Apps list, the Applications menu in the settings, and the Carousel. They are all using the icon in drawable-large-hdpi. It looks great in the carousel, but when it gets scrunched down for the Applications menu in Settings, it's all jaggy. I have put alternate icons in all the usual places (drawable-hdpi, drawable-mdpi, etc.) and I have smaller icons in the drawable-large-hdpi (ic_dialog.png) but no matter what I try, it always uses the same 512x512 image scaled down. This isn't a problem on other Android devices because I don't have to make a huge carousel icon. And am I correct in using a 512x512 icon for the Fire HD? Another question: What size icon will we need for the Fire HD 8.9? (drawable-large-xhdpi right?)
Yes, I submitted the required icons of the required sizes so that doesn't really answer my question :-( Are you saying that the icon in the drawable-large-hdpi folder is not used at all? In testing that is the image that is used everywhere on the device. Another problem I have is that the images on the App Market on the web are shown with a white background, but on the device are shown with a black background. If I anti-alias the image for a black background, it comes out looking jagged on a white background, and vice versa. Should the icon be anti-aliased for a black background and the thumbnail for a white background?
Based on the size and density of the current screen, the system uses any size and density-specific resource provided in your application. For example, if the device has a high-density screen and the application requests a drawable resource, the system looks for a drawable resource directory that best matches the device configuration. Kindle Fire HD is always using drawable-large-hdpi because it supports LCD density of hdpi (1280px x 800px). For Fire HD 8.9, you must use drawable-large-xhdpi size for icons. You do not need to anti-alias any image for any background. You can just submit the images as it is. The images will be modified and used as per the background where it is displayed.
I think I found my problem. My graphics software is not correctly handling the transparency when I'm scaling the image down. So the image gets anti-aliased to the default background color instead of to the transparency. Installing new software right now...
Hi, I just got an app through review and I see that its icon has a similar problem to what you originally described. I'd love to try any solutions I can, since it makes our icon look a bit dodgy. Do you mind describing what you tried to fix your problem, and how well it worked? Thanks, Victor > I think I found my problem. My graphics software is > not correctly handling the transparency when I'm > scaling the image down. So the image gets > anti-aliased to the default background color instead > of to the transparency. > > Installing new software right now...
Anshul, You misunderstood my message. I do not have new software, and I'm not updating anyone on my issue. I am asking the original poster if they can describe what steps they've taken. All of the lines starting with "> " were quoted from an earlier post, like the following quote of your own post: > @victor_thompson > > Thank you for the update on your issue. We hope the > new graphics software will solve your problem.
Hi Victor, sorry for the delay in responding, I haven't been monitoring the thread. The *correct* method of handling this would be to incorporate vector borders in the image, which would completely eliminate any jaggies. But I am from the old school that made do with raster graphics, and I'm just too old to learn a different way. The old school way of handling this is to start with a lossless high res image (PNG) with no anti-aliasing whatsoever at the edges of you image. In other words, if your outline is black, and the background is white, you start with a border that has black pixels surrounded by white pixels, and no gray pixels in between. If you know what background you are going to be displaying your image on, then you flood fill the background with that color, making sure that there are NO PIXELS in your image of that color. Then you resample down to the desired size. In so doing, the edges will be antialiased, smoothing out the edges. Then if you set the transparent color to the color you flood filled the background with, you are done. But with Amazon, you have both white and black backgrounds to contend with - black on the device, and white on the web, and they use the same image for both. So if you had a white background when you resampled, your edges are antialiased to white giving a light jagged edge around the image when displayed on a black background. So what you have to do is to flood fill with some unique color that is close to the border color, and choose that color to be the transparent color before you resample down. Your graphics software must be able to properly set the amount of transparency in the transitional pixels. The closer to the border, the less transparent. The farther away from the border, the more transparent. You are antialiasing to the transparency instead of to the surrounding color. This way it looks correct on any background.