Ich bin sicher, dass ich etwas Einfaches bin fehle ...android: einfaches Linearlayout und fill_parent Frage
Hintergrund:
Ich bin neu in Android und UI-Design, und ich wollte nur um spielen mit Layouts. Jetzt möchte ich eine Checkbox über dem Text-Label stapeln. Ich bin mit dem folgenden XML-Layout, das funktioniert:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<CheckBox android:id="@+id/check_box"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/check_box_text" />
<TextView android:id="@+id/dummy_display"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/dummy_label" />
</LinearLayout>
Meine Tests (nur ein Gefühl dafür zu bekommen, wie es funktioniert):
Szenario 1) Wenn ich das Set
CheckBox
layout_height
bis"fill_parent"
, dieCheckBox
nimmt den gesamten Bildschirm und ist ausgerichtet Mitte (dh - dieTextView
verschwindet).Szenario 2) Wenn ich statt die
TextView
‚layout_height
zu"fill_parent"
s eingestellt, dieCheckBox
tut NICHT verschwinden. In der Tat, nichts verschwindet, und das Layout sieht genauso aus wie das obige XML, wo alles nach oben links geschoben wird.
Die Frage (und Kommentare):
Wie kommt Szenario 1 funktioniert so, wie es funktioniert?
Dieses Verhalten scheint mir inkonsistent. Ich dachte, dass fill_parent
soll nur das Element füllen lassen, was auch immer Platz im Elternteil verfügbar ist. Also für mich scheint es, dass die TextView
erhalten sollte, was auch immer es braucht (da es wrap_content
ist), aber die CheckBox
sollte den Rest des Raumes aufnehmen (so würde die TextView
würde auf den unteren Rand des Bildschirms gezwungen werden, aber nicht unsichtbar). Mit anderen Worten: Szenario 2 ergibt für mich Sinn, Szenario 1 aber nicht.
Bitte erläutern :-).
Danke,
Tom
Vielleicht möchten Sie dies lesen (wenn nicht schon): Wie Android Ansichten zieht? Link: http://developer.android.com/guide/topics/ui/how-android-draws.html – Samuh