Moin,
ich würde gern ein recht spezielles Layout erstellen. Gern würde ich auch, dass besagtes Layout vernünftig scrollt.
Der (aktuelle) Aufbau ist wie folgt:
<?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">
<ScrollView android:layout_height="wrap_content"
android:layout_width="match_parent">
<LinearLayout android:layout_height="match_parent"
android:layout_width="match_parent"
android:orientation="vertical">
<!-- // Placeholder //-->
<TextView android:id="@+id/placeHolderView"
android:layout_width="match_parent"
android:layout_height="128dip"
android:text="Willkommen! - Platzhalter." />
<!-- // News oder so //-->
<ListView android:id="@+id/topFiveNewsList"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>
<!-- // Statics wa //-->
<ListView android:id="@+id/staticInfosList"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>
</LinearLayout>
</ScrollView>
</LinearLayout>
Alles anzeigen
Ich habe also salopp gesagt eine Art Header und zwei Listen, die unterschiedliche Objekte auflisten: News (nur die letzten fünf) und Infos.
Beim ersten Versuch bekam ich meinen Header oben angeklatscht und die ListViews darunter liefen ganz gut.
Als ich dann vom Test zum Produktivsystem umgeschaltet habe, stellte ich fest, dass je nach Endgerät die unterste Liste komplett fehlte oder arg geschrumpft dargestellt war und eigenmächtig scrollen wollte.
Nun ging ich davon aus, dass ich einfach alle Views in eine ScrollView legen könnte und dann würde sich das schon ausgehen.
Leider mag die ScrollView nur ein SubView, weshalb ich die Views ein weiteres mal in ein Layout verschachtelt habe.
Nun sieht das Ganze spannenderweise aus wie im Screenshot:
Platzhalter prangt oben, Liste 1 und Liste 2 sind mickrig klein und ich kann nur in ihnen scrollen.
Jetzt suche ich Lösungsvorschläge für mein Problem.
Möglichkeiten, die mir in den Sinn kamen, doch von denen ich aus Gründen erst einmal absehen möchte.
1) Das Scrolling des ListViews irgendwie deaktivieren. Bin ich nur absolut gegen, weil es zur Grundfunktionalität des ListViews gehört. Wann immer ich irgendwo eine Grundfunktionalität abschalte, habe ich danach einen Riesenärger am Hals. Vermutung: sieht genauso dämlich aus wie jetzt und lässt sich dann nicht mehr scrollen.
2) Den Header als HeaderView des ersten und die zweite ListView als FooterView des ersten ListViews setzen. Habe ich jetzt nicht so die Lust drauf, da es einerseits das Layout an sich unübersichtlicher macht ("Wo kommen denn jetzt die beiden zusätzlichen Views her?") und andererseits kann ich dann immer noch nicht sicher sein, dass die Anzeige endlich so funktioniert wie ich sie haben möchte.
Meine bevorzugte Lösung wäre irgend etwas von Wegen ListView.setIsScrollable(false) oder ListView.setHeightFitsContent(true) oder sowas.
wrap_content scheint ja offenbar nicht das zu tun, was ich möchte.
Hat jemand nen Tipp?