For this you can use the dimens.xml files in the values folders.
For example, you have an ImageView.
<ImageView
android:layout_width="@dimen/imageview_width"
android:layout_height="@dimen/imageview_height"
/>
In the values-mdpi folder, for example, you create the dimension.xml file and place:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<dimen name="imageview_width">30dp</dimen>
<dimen name="imageview_height">30dp</dimen>
</resources>
Then you create in the values-xlarge folder, the same file, but put other values:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<dimen name="imageview_width">60dp</dimen>
<dimen name="imageview_height">60dp</dimen>
</resources>
You can create the dimension files in various folder combinations, for example values-normal-hdpi.
Another option would be to use the weight field of the LinearLayout component. For example:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
android:weightSum="10" >
<ImageView
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="3" />
<TextView
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="7" />
</LinearLayout>
So components will always occupy the same percentages of the screen, regardless of their size.