Ik ben sinds een paar dagen begonnen met het programmeren voor Android (2.1). Nu ben ik aan het prutsen met de layout_weight-attribuut maar ik snap de logica niet. De interface doet wat anders dan verwacht.
Ik ben bezig met een eenvoudige scoreboard. Bovenaan 4 spelersnamen, dan volgen de scores en onderaan de mogelijkheid om scores in te voeren. Nu moeten de namen en de invoervelden altijd in beeld blijven en de scorelijst moet scrollable zijn.

Uittreksel View-code:
Zoals je hierboven kunt zien staan de huidige layout_weights op 0, 1, 0 voor respectievelijk de namen, scorelijst en invoervelden. Ik zou echter verwachten dan hierdoor de scorelijst juist het hele scherm zou vullen omdat deze het zwaarst weegt. Wat zie ik over het hoofd?
Is het daarnaast 'normaal' dat je zoveel LinearLayout's gebruikt in een view?
Ik ben bezig met een eenvoudige scoreboard. Bovenaan 4 spelersnamen, dan volgen de scores en onderaan de mogelijkheid om scores in te voeren. Nu moeten de namen en de invoervelden altijd in beeld blijven en de scorelijst moet scrollable zijn.

Uittreksel View-code:
XML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
| <?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"> <!-- spelersnamen --> <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:layout_weight="0" android:layout_gravity="center"> </LinearLayout> <!-- scorelijst --> <ScrollView android:id="@+id/scroll" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1"> <LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="horizontal" android:layout_gravity="top"> <!-- scores speler 1 --> <LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" android:layout_weight="1"> </LinearLayout> <!-- scores speler 2 --> <LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" android:layout_weight="1"> </LinearLayout> <!-- scores speler 3 --> <LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" android:layout_weight="1"> </LinearLayout> <!-- scores speler 4 --> <LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" android:layout_weight="1"> </LinearLayout> </LinearLayout> </ScrollView> <!-- invoervelden scores--> <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:layout_weight="0"> </LinearLayout> </LinearLayout> |
Zoals je hierboven kunt zien staan de huidige layout_weights op 0, 1, 0 voor respectievelijk de namen, scorelijst en invoervelden. Ik zou echter verwachten dan hierdoor de scorelijst juist het hele scherm zou vullen omdat deze het zwaarst weegt. Wat zie ik over het hoofd?
Is het daarnaast 'normaal' dat je zoveel LinearLayout's gebruikt in een view?
If you hide your whole life, you'll forget who you even are. Uplay: TheWorstNL | Steam + Origin + PSN: The_Worst_NL