I m trying to integrate different image size in my app but the problem is that in Android Studio there are not the drawable-Idpi,mdpi,hdpi,xhdpi folders.
I ve checked already other threads and the answers were that I just need to skip into the Project view instead of the Android one. But the results are the same. There is just one generale folder called drawable
And if I try to add another resource folders the drawable is missing.
Just create a new folder:
Right click 'res' folder --> New --> Android Resource Directory.
In the wizard, select drawable as 'Resource Type'. And then 'Density' from the resource qualifiers.
With regard to the 'mipmaps' folders, Android now prefers app icons in these folders because it can use an icon in a different density to the screen density.
More about mipmaps here: http://android-developers.blogspot.de/2014/10/getting-your-apps-ready-for-nexus-6-and.html
I had the same problem before.
I fixed it by downloading an icon that i wanted from http://www.icons4android.com/
now this site provides all the drawable-Idpi,mdpi,hdpi,xhdpi folders for download for each icon they have, I just highlighted all the drawable-Idpi,mdpi,hdpi,xhdpi folders, copied them, and then pasted them to android studio res folder.
(I did this in android view)
I hope this helps
You can create folder same as drawable, drawable-hdpi, mdpi, xxhdpi ... etc
Its look like
But when you see source code using
Add images in draweble its ask you in which folder you want to add(copy n past images in studio)
You can directly creat folder in res its also work...
Related
I'm new to Android programming. I was working for UI design stuff using Adobe XD and I exported the stuff I created to Android Studio. I was following this tutorial. And I was trying to use the stuff in drawable folders I created. (like drawable-hdpi) But the stuff that is stored in these folders doesn't show up. Only images that are stored in drawable folder show up. What am I wrong with this?
I mean the files doesn't show up as a suggestion and on this list.
This is the normal behavior.
Folders like drawable-hdpi or drawable-mdpi should contain the same as per name drawables as the drawable folder but with different resolutions.
When you choose a drawable in code or resources you see the drawables contained in drawable folder but at run time depending on the resolution of the emulator/device another drawable with the same name as the original from the other drawable-xxxx folders will be used.
In the dialog in the image you posted if you click on project you may see drawables from the other folders and choose them, but it's always a good practice to use the Drawable folder too.
I created one project in android studio, android studio didn't create drawable folder density wise as like it used to drawable-hdpi, drawable-mdpi etc. It created mipmap-hdpi, mipmap-mdpi etc.
I read https://stackoverflow.com/a/28065664/2455259 mipmap directory is for launcher icons.
Any other drawable assets you use should be placed in the relevant drawable folders as before.
Then why Android Studio stopped to create drawable folder as like before ? Is it no longer recommended approach to put app resources in drawables ?
It wants you to create them when you need them, you can create one by right clicking on the res folder and then click on add new resource directory, select the drawable as the resource type and then from the list of available qualifiers chose density and then the >> button, then select the density you want.
I think a reason why it was removed is for consistency because density is just one of the many qualifiers you can add to a resource file.
It also makes the folder structure neat, because you might not be using all the drawable folders.
The reason why it created the mipmap-hdpi, mipmap-mdpi folders is because there is already a file in it which is the default launcher icon for a new app, if there was no item in it it would not have created them.
The mipmap folder is used for icons only. The other resources have to be placed in correspond drawables' folders.
It is needed for better icon rendering.
I am trying to include variations of an icon's size in my Android Studio res/drawable folder. I downloaded the icon that I wanted from material.io/icons and placed the different variants of the icon into my drawable folder.
Here is the drawable folder:
However, in Android Studo, there are no drawables found.
I am having trouble understand why this is happening because I have already created another app with images of differing sizes. That app here.
Instead of creating a drawable folder and placing each separate image into the folder, copy and paste each variant into the res directory.
Under the Project pane (on left hand side), if you have selected 'Android' menu then you can't see the different drawable folders as it merges all the folders in one. If you change the menu to 'Packages' then you would be able to see all the folders you have created manually.
Create All the drawable folders inside the res folder outside the sudio and just refresh the project inside the android studio.
As you said that you have included the icons in the drawable folders according to resolutions , so if you want to see if the icons are present in the drawable folders . You need to change the menu from "Android" to "Packages" , you should see different drawable folders and icons in the respective folders .
I am very new in Android and I have the following doubts related how to handle images into my project.
I know that I have to put the images into the /res/drawable/ directory into my project.
To make order I have tryed to split up these images into differend subdirectory.
So for example I have created this subdirectory: /res/drawable/header/ that contains all the images related to the header of my application.
But when in the XML I do:
<ImageView
android:id="#+id/imageView1"
android:layout_width="wrap_content"
android:scaleType="fitStart"
android:layout_height="250dp"
android:src="#drawable/header/carbonara"/>
Android Studio give me an error on this line:
android:src="#drawable/header/carbonara"
that say to me that: '/' is not a valid resource name character
So in Android I really can't create structured and well organized subfolder for my images?
Another doubt is related to the different version fo the drawable folder.
I know that I can create a structure like this:
res
drawable-hdpi
drawable-ldpi
drawable-mdpi
.............
.............
.............
where each drawable* contain a specific version of the same images having different pixel density.
Using Android Studio can I automatically generate these folder starting from the drawable folder (containing my original images) or have I to create these folder manually and manually change the pixel density using something like Photoshop?
You can Go through this Link -https://romannurik.github.io/AndroidAssetStudio/nine-patches.html
Here You can upload your images and generate images with different pixel density. Android Studio doesn't support automation for Generating drawable images..!
If you want to create different version of drawable then change the view to project from android. then navigate to the Project name->app->src->main->res and create different directories for each screen density like hdpi ,mdpi etc. you can take reference from mipmap.
p.s. : For automatic scalling of drawables you can consider the using of svg
Link: Developer android link
I have read this article on mipmap before going through mipmap practically to understand its concept over drawable.
What i've faced is,
While working with mipmap layout-preview is not correct, while using image from mipmap folder.
Is mipmap only for launcher icon ? do i need to manually create all drawable folders(drawable-hdpi, drawable-mdpi etc.) for all other View's (Button, ImageView, etc.) image? If so then why don't android studio is not creating all drawable folder after creating new project?
I've also searched this issue but failed to get any useful or relevant link. I don't know what's wrong with mipmap because it seems fine while run code only layout preview is not correct.
Update :
Currently for workaround i've used mipmap folder only for launcher-icon and for all other Views i've manually created drawable-mdpi, drawable-hdpi etc.
to make layout-preview fine.
Please help!
According to this Google Post
The mipmap folders are only for placing your app icons.
Any other drawable resources(images and drawable .xml) you use should be placed in the relevant drawable folders as before Android 4.3.
This is the best practice to place your app icons in mipmap - folders (not the drawable - folders) because they are used at resolutions different from the device’s current density.
For referencing the mipmap - folders ensure you are using the
following reference: android:icon="#mipmap/ic_launcher"
You can also check the more about the Mipmap
Yes they are talking about the Launcher icon for the Nexus family. So this would be good practice if you do so. And for other resources you have to keep going in the same way As you always do.