how am i refer a layout in res library for differnt screens (DPI and SIZE)?
can i do this in re folder:
layout-mdpi-xlarge
layout-mdpi-normal
layout-xhdpi-large
and so on...
http://developer.android.com/guide/practices/screens_support.html
You can find an answer to your question by going through the link in detail.
See the topic under Using configuration qualifiers especially the section under table1.
res/layout/my_layout.xml // layout for normal screen size ("default")
res/layout-small/my_layout.xml // layout for small screen size
res/layout-large/my_layout.xml // layout for large screen size
res/layout-xlarge/my_layout.xml // layout for extra large screen size
res/layout-xlarge-land/my_layout.xml // layout for extra large in landscape orientation
For drawables.
res/drawable-mdpi/my_icon.png // bitmap for medium density
res/drawable-hdpi/my_icon.png // bitmap for high density
res/drawable-xhdpi/my_icon.png // bitmap for extra high density
Related
When you are displaying views according to dp scale, it means that they are displayed the same physical size at any device... Which means that the display might seem a little emptier at bigger screens right?
Then How do you display views according to the screen sizes?
For different screen size, Use different Layout and different image
This linke is good Supporting Multiple Screens | Android Developers
res/layout/my_layout.xml // layout for normal screen size ("default")
res/layout-small/my_layout.xml // layout for small screen size
res/layout-large/my_layout.xml // layout for large screen size
res/layout-xlarge/my_layout.xml // layout for extra large screen size
res/layout-xlarge-land/my_layout.xml // layout for extra large in landscape orientation
res/drawable-mdpi/my_icon.png // bitmap for medium density
res/drawable-hdpi/my_icon.png // bitmap for high density
res/drawable-xhdpi/my_icon.png // bitmap for extra high density
I try to refactor/rename my layout/large forlder to
layout-xlarge-mdpi-notlong
Then Eclipse return this error
Invalid resource directory name
I really don't understand why.
res/layout/my_layout.xml // layout for normal screen size ("default")
res/layout-small/my_layout.xml // layout for small screen size
res/layout-large/my_layout.xml // layout for large screen size
res/layout-xlarge/my_layout.xml // layout for extra large screen size
res/layout-xlarge-land/my_layout.xml // layout for extra large in landscape orientation
res/drawable-mdpi/my_icon.png // bitmap for medium density
res/drawable-hdpi/my_icon.png // bitmap for high density
res/drawable-xhdpi/my_icon.png // bitmap for extra high density
Supporting Multiple Screens
because -mdpi-notlong is not supported in android.
You can not rename the name of resource folders the way you want. Android keeps it standard. You should read this link.http://developer.android.com/guide/topics/resources/providing-resources.html
I have created an application for 10" tablet and set the layout related to screen size but my application is not supported with 7" tablet though i design folder in resource as
res/layout-w320dp
res/layout-w600dp
res/layout-w720dp
so please tell me how to set with other screen sizes.
The following is a list of resource directories in an application that provides different layout designs for different screen sizes and different bitmap drawables for medium, high, and extra high density screens.
res/layout/my_layout.xml // layout for normal screen size ("default")
res/layout-small/my_layout.xml // layout for small screen size
res/layout-large/my_layout.xml // layout for large screen size
res/layout-xlarge/my_layout.xml // layout for extra large screen size
res/layout-xlarge-land/my_layout.xml // layout for extra large in landscape orientation
res/drawable-mdpi/my_icon.png // bitmap for medium density
res/drawable-hdpi/my_icon.png // bitmap for high density
res/drawable-xhdpi/my_icon.png // bitmap for extra high density
For further reference check here: http://developer.android.com/guide/practices/screens_support.html
When I try to run my app in the emulator with a large res (1280x800) the xdpi layout should be inflated - but instead the hdpi layout is inflated.
why is that happen?
how can i force android to inflate the correct one?
edit:
layout-large/main.xml
layout-xlarge/main.xml
thanks in advance
if your avd details is showing hw.lcd.density as 320 mean it will pick from xhdpi
if hw.lcd.density: 240 then it will pick from hdpi
//you need to do like this:
layout-hdpi //this is wrong
res/layout/my_layout.xml // layout for normal screen size ("default")
res/layout-small/my_layout.xml // layout for small screen size
res/layout-large/my_layout.xml // layout for large screen size
res/layout-xlarge/my_layout.xml // layout for extra large screen size
res/layout-xlarge-land/my_layout.xml // layout for extra large in landscape orientation
res/drawable-mdpi/my_icon.png // bitmap for medium density
res/drawable-hdpi/my_icon.png // bitmap for high density
res/drawable-xhdpi/my_icon.png // bitmap for extra high density
I implemented the application which supports different normal screens. For this, i created the 3 folders(like layout-normal-ldpi,layout-normal-mdpi,layout-normal-hdpi) in the res folder. In this i placed the different xml files with same name.But i got android.content.res.Resources$NotFoundException. How to handle this? can anybody help me.
thanks.
The folder your created are incorrect refer to below ones
res/layout/my_layout.xml // layout for normal screen size ("default")
res/layout-small/my_layout.xml // layout for small screen size
res/layout-large/my_layout.xml // layout for large screen size
res/layout-xlarge/my_layout.xml // layout for extra large screen size
res/layout-xlarge-land/my_layout.xml // layout for extra large in landscape orientation
res/drawable-mdpi/my_icon.png // bitmap for medium density
res/drawable-hdpi/my_icon.png // bitmap for high density
res/drawable-xhdpi/my_icon.png // bitmap for extra high density
Below is pic for res folder structure for more simplicity
I think the 'normal' and 'dpi' are redundant.
I guess you already looked here but maybe should review it again.