All my icons have correct sizes and look perfect on iOS in unity but when installed on android devices, they appear stretched.
How should I fix this?
I tested several Android Marshmallow devices.
There are some devices that display white icons, others do not.
I want to consistently display images as .png files on all devices.
Is there a way?
Anbdroid stock Samsung icons are displayed bigger then non Samsung icons. I took a screenshot of my custom icon 144x144 px next to a stock Samsung browser icon, which is displayed at least 6 pixel larger.
The reason must be the .qmg decoded icon which is Samsung propietary. I have already looked for an .qmg encoder but there is no official way.
I tried the samsung theme designer for older Bada devices which is able to create qmg files (I have replaced the background with my desired icon and exported the whole theme, replaced the ending to .zip and exported my background) Samsung Theme Designer. Unfortunately android is not able to decode my created icon.
Is there a way to stretch a normal app icon to the same oversize like the stock Samsung icon or is there another way to encode a .qmg icon? I have found a decoder only tool on xda-developers: [TOOL] Converter QMG/ASTC->PNG, which uses the decoder on the device to create png files.
Update
I did some research and noticed a really strange thing. If I create an empty Icon with a thin single boarder, the icon will be stretched to the same size like the Samsung icons. If I fill up the icon content, it will be shrinked.
Is this a Samsung Touchwiz behaviour or a general Android 6 issue? I don't have any non Samsung phones on my pool to test it.
Found the solution in a stock Samsung Application AndroidManifest.xml
You need to add the following line into the <application> tag in the mainfest.
<meta-data android:name="com.samsung.android.icon_container.has_icon_container" android:value="true"/>
This works with *.png and *.qmg icons too.
Say, I have an ImageView with both sizes set to wrap_content, and it has some image: android:src="#drawable/xyz".
If this image appears only in xxxhdpi folder, then everything is fine. However, if it appears in any of the other drawable directories (xxhdpi, xhdpi, hdpi, mdpi, or even sw320dp), then it doesn't use the image from xxxhdpi and, as a result, the image is blurred. (it's not easy to notice, but I can notice this and I don't think QHD displays make any sense if their full resolution is not used)
Is it possible to solve this issue without resorting to multiple APKs?
More precisely, this is LG D856 phone (dual SIM), with Android 4.4.2.
update
This is weird, but if I create project in Android Studio instead of this tool for coding for Android in Scala, then there's no such issue…
update 2
APK file: http://dropbox.com/s/lqdj9w7iimh2gj9/magicgoose-example-debug.apk?dl=0
Source code: http://dropbox.com/s/cs4pngpkvkoe5q2/dpi-example-src.zip?dl=0
Source can be built using SBT (scala build tool)
I'm using this plugin: https://github.com/pfn/android-sdk-plugin
read here:
http://developer.android.com/design/style/iconography.html
Provide an xxx-high-density launcher icon
Some devices scale-up the launcher icon by as much as 25%. For
example, if your highest density launcher icon image is already
extra-extra-high density, the scaling process will make it appear less
crisp. So you should provide a higher density launcher icon in the
drawable-xxxhdpi directory, which the system uses instead of scaling
up a smaller version of the icon.
Note: the drawable-xxxhdpi qualifier is necessary only to provide a
launcher icon that can appear larger than usual on an xxhdpi device.
You do not need to provide xxxhdpi assets for all your app's images.
I know for some cases you really wish it used the xxx but what I understand for this text is: "Android only uses xxx for the launcher icon and nothing more." So I believe you'll have to find some work around (e.g. set a bigger PNG and scale it down on the ImageView, or mipmaps) until Android as a platform uses the triple X everywhere.
The problem was in that the plugin did set target API level to 1 by default. When I set it explicitly to 21, the problem is gone.
hi guys this question may seem to be very simple but really i dont know the answer. All that i need is to stimulate the screen size of this motorola mobile
And i have developed the app in the HVGA Mode in emulator and it is fine but when i change the screen size to 540X960 my app design cuts according to the images that i have... Currently my have my images for 540 X 960 in hdpi... Looking for the better responses...
follow the guidelines which are provided by the android team
http://developer.android.com/guide/practices/screens_support.html