Different icons size for different resolutions on Android
I'm developing an application for a Samgsung Galaxy Tab (1024x600px). In a Activity I use few icons of 128x128px and looks great.
But I run it in a Samgsung Galaxy S (480x800) and icons are too large.
I put same icons at 100x100px in drawable-mdpi, but now It resized both devices. I suppose this is because Tab and Galaxy S are in the same range of density.
How can I do automatically use different开发者_如何转开发 icons according to SCREEN SIZE? I see layout-large, layout-xlarge is according to screen size, but is for layouts, not icons.
Thanks a lot!
Well Now there is exists Better tools then assert generator in android studio
For application Icon ( Toolbar , ActionBar , DrawableLeft etc ) Use : http://romannurik.github.io/AndroidAssetStudio/icons-actionbar.html
For launcher (Application Icon ) Use : https://romannurik.github.io/AndroidAssetStudio/icons-launcher.html
But Here are some tricks and way to get the better resolution for icons and launcher icons.
Step 1 :
First go to the https://materialdesignicons.com and choose your icon . Or if you have your icon in good resolution then skip this step . Click the desired icon and click on "Advanced Export" it will open up a window like this below
Then click the "Icon" to generate icon (.png) . Well the trick is try to generate as large icon as possible for high resolution devices and the tools will handle it all for small devices but if you use small icon , while generating the icon for high end devices you will loose the icon resolution .
Step 2 :
Then go the Tools page and Upload the Icon
Click the "Custom" if you want to color your icon . No matter what color of icon you are uploading , by using Custom you can generate any color you want . Then choose a name and click "Download .ZIP" . This will download the .zip file with the icon for most of the common resolution . You can copy and paste the res folder in your application project folder and you will see the icon in the drawable section .
You can use the width of the screen
DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
int width = dm.widthPixels /4;
You have the same with drawable : http://developer.android.com/guide/practices/screens_support.html
精彩评论