Установить позицию / размер элемента интерфейса в процентах от размера экрана
Я пытаюсь понять, возможно ли использовать процентные позиции / размеры при создании макета. Я хочу что-то вроде этого ...
^
|
|
| 68%
|
|
v
Gallery (height equivalent of 16% total screen size)
^
| 16%
v
Я тестирую на устройстве, которое в альбомной ориентации имеет фактические пиксели 800x480, и в настоящее время я заставляю его следующим ...
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<Gallery
android:id="@+id/gallery"
android:layout_width="fill_parent"
android:layout_height="80px"
android:layout_marginTop ="320px"
/>
</RelativeLayout>
Очевидно, я не хочу, чтобы жесткий код был исправленpx
единицы, но я не могу использовать68%
или же0.68
заlayout_marginTop
(например). Я смотрел наdp
единиц, но я не уверен, смогу ли я сделать это таким же образом.
Я должен признать, что дизайн пользовательского интерфейса является моей слабой стороной, поэтому любые советы будут с благодарностью приняты.
РЕДАКТИРОВАТЬ: Для дальнейшего использования, если кто-то ищет подобный ответ, следуя предложению Алана Мура, у меня есть следующее, работающее именно так, как я хочу ...
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:background="@drawable/bground"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<TextView
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="0.68"
android:background="@android:color/transparent"
/>
<Gallery
android:id="@+id/gallery"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="0.16"
/>
<TextView
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="0.16"
android:background="@android:color/transparent"
/>
</LinearLayout>
Мне удалось найти некоторые другие примеры использованияlayout_weight
и решил установитьTextView
высоты до0dp
а также использовали поплавки для гирь. Работает отлично. :)