Ich versuche herauszufinden, ob es möglich ist, beim Erstellen eines Layouts prozentuale Positionen / Größen zu verwenden. Was ich will ist so etwas ...
^
|
|
| 68%
|
|
v
Gallery (height equivalent of 16% total screen size)
^
| 16%
v
Ich teste auf einem Gerät, das im Querformat eine Anzeige von 800 x 480 tatsächlichen Pixeln hat, und erzwinge es derzeit mit den folgenden ...
<?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>
Natürlich möchte ich keine festen px
Einheiten fest codieren , aber ich kann 68%
oder 0.68
für layout_marginTop
(zum Beispiel) nicht verwenden . Ich habe mir dp
Einheiten angesehen, bin mir aber nicht sicher, ob ich das auch so machen kann.
Ich muss zugeben, dass das UI-Design eine Schwachstelle von mir ist, daher wäre jeder Rat dankbar.
BEARBEITEN: Als zukünftige Referenz, wenn jemand nach einer ähnlichen Antwort sucht, habe ich nach Alan Moores Vorschlag die folgenden genau so, wie ich es will ...
<?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>
Ich fand einige andere Beispiele für die Verwendung layout_weight
und entschied mich , die TextView
Höhen einzustellen 0dp
und auch Schwimmer für die Gewichte zu verwenden. Arbeitet großartig. :) :)