This is a very complicated question. There is a very good explanation in the documentation you should check.
http://developer.android.com/guide/practices/screens_support.html
Otherwise, your question is way too open ended.
The specific paragraph you will find in the docs is:
Provide different layouts for different screen sizes
By default, Android resizes your application layout to fit the current
device screen. In most cases, this works fine. In other cases, your UI
might not look as good and might need adjustments for different screen
sizes. For example, on a larger screen, you might want to adjust the
position and size of some elements to take advantage of the additional
screen space, or on a smaller screen, you might need to adjust sizes
so that everything can fit on the screen.
The configuration qualifiers you can use to provide size-specific
resources are small, normal, large, and xlarge. For example, layouts
for an extra large screen should go in layout-xlarge/.
Beginning with Android 3.2 (API level 13), the above size groups are
deprecated and you should instead use the swdp configuration
qualifier to define the smallest available width required by your
layout resources. For example, if your multi-pane tablet layout
requires at least 600dp of screen width, you should place it in
layout-sw600dp/. Using the new techniques for declaring layout
resources is discussed further in the section about Declaring Tablet
Layouts for Android 3.2.