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.
Related
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.
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.
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 have searched it already about 2 days over the web. All what I've found are custom sets. Also I've found a few similar topics there but all answers were like "They can be found in the source (SDK)". I downloaded the latest SDK, and found out only a few icons from Gingerbread. I'm really stuck. All what i want is just the full set(mdpi, hdpi, xhdpi) of default icons (Menu Icons, Status Bar Icons, Action Bar Icons, Tab Icons, Dialog Icons, etc) for Android 2.3 Gingerbread. For example, this is how menu icons look like http://uploadpie.com/AZFJs.
Is there designers who has experience with designing for Gingerbread? I really need your help.
You can find these icons under the following folder:
[android-installation-directory]/platforms/android-10/data/res/drawable-hdpi
Once you have the hdpi icons, you can easily use a tool like GIMP to resize them to lower resolutions like mdpi and ldpi.
Hope this helps.
Best Regards,
Anay
I'm getting ready to release my first application the marketplace. It's being written for devices running Android 1.5 and above, however there aren't any specific folders for the three different screen densities (I think those came around in 1.6). Should I make these folders myself? Where should I put image resources for the different densities and what should I put in my Manifest??
You will actually want to set your application up to target Android 1.6 in order to get the folders with different drawable levels, but then set the minSdkVersion="3" in the XML and rename the drawable-mdpi folder to just drawable. It will give you a warning about version mismatch but this is how supporting 1.5 but getting the nice features of 1.6 is done in Replica Island for example, which was made by a Google developer advocate. One thing to keep in mind is that by targeting 1.6 instead of 1.5, you can add targetSdkVersion="4", so that it will not force all screens to emulate 320 width, but then you will need to be far more aware of how the app will actually look and test it more thoroughly.
<uses-sdk android:minSdkVersion="3" android:targetSdkVersion="4" />
For more information, read http://developer.android.com/guide/practices/screens_support.html, especially about halfway through where it mentions the XML settings.
There are a number of bugs in the system that need to be worked around as well.
The best strategy I've found to use is:
res
drawable
drawable-hdpi-v4
drawable-ldpi-v4
layout
layout-hdpi-v4
layout-ldpi-v4