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.
Related
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.
I'm quite new to Android development, and this time, not a programming question on SO, but rather a question about image design on Android.
I'm a bit lost in the densities of the devices.
The goal of my application is to support as much as possible devices.
Now, I own a Nexus 5 device, of which I know that it's a xxhdpi screen with a resolution of 1920 x 1080.
Since it's an xxhdpi device, the scaling factor is 3, so for simplicity, I divide it by 3 which given me the following resolution on mdpi and on mdpi 1px is equal to 1dp.
Therefore, my Android device is 360 x 640dp.
So, I create a new document in InkScape or Illustrator, whatever you want and create my design based on that particular resolution.
Now, I know that on my device the navigation bar is 48dp and the and the status bar is 25dp, which gives me a content area of 360 x 567 dp.
I've found the information about the screens here: http://www.emirweb.com/ScreenDeviceStatistics.php
What I see on this page is that other devices have another status bar height, another action bar height and that the DP's doesn't equal accross various devices.
So, the question is, how can I design a screen of which I'm sure that it will support all the available screens on the market?
Kind regards
Read this carefully
Supporting multiple screens
Edit :
Create designs for phones of hdpi, mdpi, xhdpi, xxhdpi, xxxhdpi densities and test them on emulator.
Extend designs for 7" tablet and test them on emulator.
Move on to 10" tablets.
Use available online tools to test your design on a variety of screens and create specific folders using "New Size Qualifiers" as mentioned in the doc above to support those devices in which you don't see your design properly
Use Android Asset Studio to scale your icons for different screen densities. For backgrounds, create 9-patch version of your images from the same tool. They will also be generated for different screen densities
I think there's no need to care about the height of the ActionBar's height and all. If you put the images of multiple resolution in the respective drawable folders that's enough. e.g. Same image with different resolutions has to be put in drawable-hdpi, drawable-mdpi, drawable-xhdpi etc. That's all you need to do. Android will automatically choose the image from these folder according to device's screen resolution.
I agree #geekoraul that you'll need to read Supporting Multiple Screens first to give you that foundation.
The take away from it is that dp are Android's way of defining a predictable metric to bridge across multiple device densities. The main goal is to scale them correctly so that it still looks consistent.
A basic workflow would be, select a target density (usually hdpi/xhdpi), create your assets, and use tools to create appropriate resources for the other densities.
Some tools are,
Zeplin - You can create you UI and all assets/resources will be generated for you (dimensions, colours, spacing, drawables etc.)
Android Asset Studio - Generates assets like icons, themes and styles
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.
I am designing an android app for a client. Following the guidelines of Android UI design I have sliced all the icons and images in the following dpi's - xxhdpi, xhdpi, hdpi, mdpi, ldpi.
While the android design guide says they have released xxxhdpi also. Is it necessary to include files with 640 dpi(xxxhdpi) with my app?
Does the app loading time depends on this?
As per Developer site
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.
Check this link for more details http://developer.android.com/design/style/iconography.html
With screen resolutions increasing in pixels Google is promoting the use of XXHDPI and XXXHDPI, icons in the official documents.
http://developer.android.com/design/style/iconography.html
But in their official Android download packs they only go up to XHDPI.
http://developer.android.com/design/downloads/index.html
Do they expect us to create these icons when can't be bothered too?
What are other developers doing especially for the Holo icons, are they creating it from SVG.
Update
If you download the the Icon Pack and not the "all pack", it now contains XXHDPI icons but still no XXXHDPI.
http://developer.android.com/downloads/design/Android_Design_Icons_20131106.zip
Since they provide ai file, which is vector-based, you can export any scale you want.
Btw, Nexus 5 (and many other 1080p phones) is already XXHDPI, so you are supposed to provide at least XXHDPI icons.
As the updated question already says: The official Android icon pack now contains the XXXHDPI icons.
Nexus 6 is somewhere between xxhdpi and xxxhdpi. Google has recently started to encourage the usage of xxxhdpi icons, as you can see here...https://github.com/google/material-design-icons