supporting multiple screen sizes and orientation - android

Please help me... I create my first project in android and no any experience in android UI. ![enter image description here][1]
res/layout/main.xml.
res/layout-land/main.xml
res/layout-large/main.xml
res/layout-large-land/main.xml
res/layout-xlarge/main.xml
res/layout-xlarge-land/main.xml
res/layout-sw600dp/main.xml
res/layout-sw600dp-land/main.xml
res/layout-sw720dp/main.xml
res/layout-sw720dp-land/main.xml
this folder's layout structure is correct for handling every screen
size?
and android version <3.2 and >3.2 supports for this?

If this is your first project in android, focus on building your initial UI without worrying about alternate adaptations for other devices. Many times 1-2 layouts is enough (portrait/landscape) - If you stick to DP/SP units.
Once your initial UI is in place, test different devices in the emulator to see if you need to create any adaptations.

Give a good idea about your question while asking .
As a beginner you can just use res/layout and if u want to use in landscape mode use res/landscape mode.
Try to Start with these two . You Will Need Other Options Later .
Also Use sp , dp for size like font size or height .

Related

application not fit to the android virtual device

In my android application, I have a problem that when I run my application, its not fit to the emulator and some part cut on it like below:
And also you can see below I have a button also on it like below image:
But its not show me the full image, means a button is missing on the emulator.
How can I resolve it. kindly suggest me, waiting for reply.
Thanks
Basically, your designer and emulator are using different screen dimensions.
You can change the designer to use the same screen dimensions. Currently, from your screen shot you're using the Nexus One layout. From what I can tell the emulator doesn't look like the Nexus One screen dimensions.
With Android it isn't as simple as 1 layout for all dimensions, screen sizes and devices. You have to implement multi-screen support to address this. You can usually do this by having a variance on dimensions, styles and layouts. A lot of the time one layout will work universally, but dimensions often need tweaking.
See http://developer.android.com/guide/practices/screens_support.html for more on Supporting Multiple Screens.
It is a problem that can occur in real devices (remember, we have loads and loads of different screen sizes for android) so you definitely need to fix it.
The best way to avoid this is to wrap the entire layout inside a ScrollView, so the user can scroll to see all the content of your layout.
If you are trying to fit all the elements on the screen then you need to account for different screen sizes and densities. In your particular case you are building the screen on a different sized screen than the emulator.
Assuming you do not want the screen to scroll (which is solved using a ScrollView), then to fix this, you can do the following:
Build different XML layouts for different screen sizes
Use dimen files to specify different sizes for some or all elements on the screen so that they re-size depending on the screen size.
Use weighted LinearLayout so that Android re-sizes the elements according to the screen they are placed on.
Each of these is pretty easy to search and find various ways of doing.

Layout of a android application

I'm working on the layout of an android application. But I have a question about the layout. Once i have created a layout and then go to another screen (for instance 4 inches to 5 inches) all my buttons and text boxes are messed up..
Is there a method to make everything static, so that my layout works on every mobile phone..
What kind of layout are you using, could it be RelativeLayout? that might be your problem in this particular instance.
Anyway, in android there are many screen sizes, each of them you should handle with different layouts depending on orientation, size and density. There is no magic formula as far as I know, but 9-patch images can help a lot. Another thing you should do is make sure that you understand how match_parent and wrap_content values work for height and width.
Check this out: Suppoting different screens
You have to create folders for different types of screens take a look at android developers training
This document contains everything you need.
Instead of having everything fixed, it shows how to design a layer that adapts to the various screens you may encounter.

Android: pixel-perfect layouts for each resolution

I want to create an app with pixel-perfect graphics for each resolution (I'm going to support only 3 or 4 of them). In my main activity I created new layout and selected 800x600 from available qualifiers. I edited it and then I created folder "layout-1280x720" for another resolution. I copied activity_main.xml from "layout-800x600" to "layout-1280x720" and edited new copy. But now when I run it in android emulator at 1280x720 I see layout from 800x600.
How can I create different layouts for each exact resolution?
Please visit this URI
http://android4beginners.com/2013/07/appendix-c-everything-about-sizes-and-dimensions-in-android/
You can see there a proper approach for your issue.
It's actually close to impossible to do that, because android doesn't have percent dimensions, of course you can use weight coefficients, but it won't be the solution. I will recommend you to use this app, which overlays your template over everything. It makes layout creating much easier and faster.

Program that has proper layout on all device android

I am currently writing a remote control program to control a robot on all android devices.
I am trying to display the layout to fill the screen fully on different sizes. My first try was on a samsung 10.1' tablet and it was working well but when I port it to smaller devices like 4.3' the layout goes wrong. I am thinking of creating several layouts to match with different screen sizes but how do I check which layout to set according to screen sizes?
I have tried getwidth and getheight but it only works after you have set the layout.
Please give me a short sample code if possible as I am very new to this.
If there are any other better ways please advice me on it.
Please note that I am using API level 8, android 2.2.
Go through this and this. Basically, you create layout for various screen, each with same name. They are put in different folders (each named according to factors like- landscape, portrait, screen density and screen size). OS will decide on it's own about which layout to use.
This is great article about that. But in overall, never expect the screen to be any static size. But if you're deciding to create layout for each size, you don't have to worry about choosing the best layout, android will do it for you if you provide multiple versions of same layout.
You do not have to check the screen dimensions. Just create your layouts, and Android will automatically pick the correct one for your screen size, orientation, API level, etc. See here for more details: http://developer.android.com/guide/practices/screens_support.html

How to Resize screen of Android

I am developing an application for whole android devices. But resolation of screens are different and that is the biggest problem how it looks. So, I want to make resizing controls and also I used absolutelayout but It is still same.. I give value to controls as dp ..
How can I solve this problem ?
You don't resize the screen of an android device - you make your app instead work with the various screen sizes.
The relevant docs are here.
You cannot hardcode the dimensions of your layout and expect it to work on every screen size. And there is no method which automatically does it unless you write it.
You might want to change your approach, use Relative Layout or Linear Layout instead and use values like fill_parent and wrap_content while designing your layout.
Another approach Android developers follow is use different resource files for different screen sizes and Android loads them automatically at runtime.
Refer to this for more info on how to work with different screen sizes effectively.

Categories

Resources