Why use both legacy image launcher icons and adaptive icons - android

In our app, we have two sets of launcher icons, one for recent devices (from API 26), and one for older devices (just showing mdpi here, but we have other dpi folders as well):
The API26 ones use the newer adaptive-icons in a single folder mipmap-anydpi-v26, while the pre-API26 use images (webp) in several folders: mipmap-hdpi, mipmap-mdpi etc.
The API26 set of icons is much better since a single set of icons supports all densities.
However, since our app supports devices back to API21, we need the older icons as well.
So what I'm wondering is: Is there any point of having the newer icons mipmap-anydpi-v26, since the older ones in mipmap-*dpi folder would support both newer and older devices?

If you only have the old-style icons on devices that support adaptive icons then they will be scaled down to fit in a smaller safe foreground area. This will typically appear as a square inside a white circular border. If you don't want the extra border then you need to include the new-style icons as well.

Related

Flutter: How to include customised drawable assets for common tablet screen densities [duplicate]

Google Play states that my app is not designed for tablets: "Your APK should include custom drawables assets for common tablet screen densities." It links to 4. Use assets designed for tablet screens on the Tablet app quality page. I'm trying to understand how I'm not compliant with section 4, and I'd appreciate insights.
Is section 4 on tablet assets even accurate for Action Bar icon sizes? It looks like 32dp is the specified size (32x32px at mdpi), but that appears to conflict with the material touch target size specification, which specifies 24dp. I use 24dp assets from the Google material-design-icons suite for my Action Bar (Toolbar), and there is no such thing as a 32dp Android icon in the suite.
I have included drawable-xhdpi, drawable-xxhdpi, and drawable-xxxhdpi PNG drawable assets in my project, but I have not included drawable-hdpi assets. Could this be the reason why I'm not "designed for tablets?" The documentation states that all drawables should be "optimized for at least one" of hdpi, xhdpi, xxhdpi, or xxxhdpi sizes, and I have done this for at least one.
My launcher icon sizes are correct and include mdpi - xxxhdpi versions (mipmap-mdpi, mipmap-hdpi, etc.).
For anyone struggling with this, I submitted the Design for Tablet Contact Form, which you can use to let Google know why you believe your app is designed for tablets (even though it is not labeled as such). Google reviewed my submission and agreed, and the app is now labeled as designed for tablets.
Before submitting the form, you should make sure that your app meets the Tablet App Quality Checklist first.

Android ic_launcher icon is small in app list

I have a bit of a weird bug/issue with one of the apps I'm working on. On some devices running Android 6, the app icon is smaller in comparison to the rest of the icons from other apps.(See attachment) Any idea why?
I've checked and the ic_launcher have the right resolution - according to this: Android - Launcher Icon Size
Probably also worth mentioning that the icons were generated using the icon generator within Android Studio.
Thanks!
Drawables and mipmaps are nearly identical even mipmaps are mostly used for launcher icons and drawables for other things. The suffixes (e.g., -mdpi, -hdpi) are filters,
indicating under what circumstances the images stored in those directories should
be used. Specifically, -ldpi indicates images that should be used on devices with
low-density screens (around 120 dots-per-inch, or “dpi”). The -mdpi suffix indicates resources for medium-density screens (around 160dpi), -hdpi indicates resources for high-density screens (around 240dpi) and so on.
Android Studio offers an Image Asset Wizard. This wizard is designed to take a
starter image and give you icons, in a variety of densities.Android will calculate density of the screen on which app is installed and by that it will take the correct icon. If there is non than Android will take the nearest one. You can find more about mipmaps and drawables on official developer site or any relevant book about android programming like The Busy Coder's Guide to Android Development.
There is Android Asset Studio which you can use in Chrome browser to generate your icons: https://romannurik.github.io/AndroidAssetStudio/
it seems that the problem was the selected shape when generating the icon with the Images Asset tool in Android Studio. Square is selected by default. Selecting none fixed the issue.

LG G3 doesn't use image from xxxhdpi if there are alternatives — as a result, image is blurred

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.

Android: where to find xhdpi menu icons?

I use menu icons provided in the android sdk, like the the info icon below. All the platforms prior to version 14 provided these in ldpi, mdpi, and hdpi. Platforms 14 and 15 provide xhdpi icons, but they no longer include the menu icons (because they have been replaced with actionbar friendly icons).
So, is there somewhere that the old menu icons are published in xhdpi sizes?
Edit:
The below link is helpful. The provided clipart includes some of the icons I need, which can then be exported to xhdpi. But I still am missing a couple the "ic_menu_compose.png" icon.
http://android-ui-utils.googlecode.com/hg/asset-studio/dist/icons-menu.html#source.space.trim=1&source.space.pad=0&name=example
You can find the source of the new Action icons here. Then apply the style found in the UI Guidelines using Photoshop.
It's not exactly what you're asking for, but I hope it helps. This would probably be a useful thing to others, if you end up doing it yourself, and feel like sharing.
I think you will find the answer to this is no.
The reasoning for this is that tablet computers are the real targets of xhdpi (due to their screen size) and they are a newish addition to Android hardware on the whole. Tablet's started on Android 3.0 (API 11) and new ones will (hopefully) come out with ICS which uses a higher API level. As you said yourself the actionbar uses smaller icons so that eliminates a few more possibilities.
My answer: use Paint.NET or Photoshop and enlarge said icon or make another.

Low-resolution (ldpi) Android icons

On the topic of included standard icons the Android documentation mentions that:
Shown below are standard menu icons
that are used in the Android system.
Because these resources can change
between platform versions, you should
not reference the system's copy of the
resources. If you want use any icons
or other internal drawable resources,
you should store a local copy of those
icons or drawables in your application
resources, then reference the local
copy from your application code. In
that way, you can maintain control
over the appearance of your icons,
even if the system's copy changes.
Note that the list below is not
intended to be complete.
In my application I'm using such standard icons such as "ic_menu_sort_alphabetically" and thus I've tried to find these icons, so that I can include them in my application.
However, in "android-sdk/platforms/android-8/android.jar" I only find the icons in drawable-mdpi and in drawable-hdpi - there is neither a default drawable folder with icons, nor a drawable-ldpi folder with low-resolution versions of these icons. However, such a low-resolution version would be required to provide native versions on ldpi devices such as the HTC Wildfire.
Are there any "official" versions of the Android icons scaled at ldpi? While it's likely that the ldpi versions are stored somewhere on my HTC Wildfire device, I assume that they are copyrighted by HTC and not under the same open-source license as the icons in the Android distribution.
If you can't find the pre-scaled images, you can just open the mdpi in Photoshop or GIMP and resize them by 75% to make the ldpi icons. To make hdpi resize the mdpi image by 150%.

Categories

Resources