Displaying views according to screen size - android

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

Related

How to set dimensions for different Screens in Android development

I am new to the Android development environment.
I would like to have my app designed for multiple phone screen sizes and resolutions.
If the design for all the screens remain the same, will I be able to use one XML layout for the design with the dimensions specified in "dp" and "sp".
Will android automatically scale the dimensions and font sizes for each phones(ldpi, mdpi, hdpi, xdpi, xxdpi, xxxdpi) automatically? Or do I have to create separate layout files for each of them with the respective dp/sp values?
Also, I hope if I put images for each dip in their respective folders, android would pick it up by itself.
Create layouts for screens like this:
res/layout/my_layout.xml // layout for normal screen size ("default")
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/graphic.png // bitmap for medium-density
res/drawable-hdpi/graphic.png // bitmap for high-density
res/drawable-xhdpi/graphic.png // bitmap for extra-high-density
res/drawable-xxhdpi/graphic.png // bitmap for extra-extra-high-density

application layout not supporting with smaller screen size tablet

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

layout for multiple DPI and SIZE screens in android

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

Override layout of "layout" folder for normal screen device

I implemented all layout files for hdpi devices. And put them in "layout" forder. Now I tested on a normal-screen device, and there's some screen I urgently need to change, because a required input field doesn't appear (because of the small screen).
What I did is create a folder called "layout-normal" and put there a copy of my layout file, and reduce in the copy everything a bit so it fits the screen. Now I have 2 problems and don't understand anything.
Both files point to the same source - when I open them I don't get 2 files, but only 1 with my modifications.
Ran this on the normal-screen device and it still looks like at the beginning.
Please help :/
layout-normal and just layout are the same. It is just the default layout
Ref: android developers site
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
..
Size small Resources for small size screens.
normal Resources for normal size screens. (This is the baseline size.)
large Resources for large size screens.
xlarge Resources for extra large size screens.

android- How to Support Multiple screens

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.

Categories

Resources