Android - ScrollView wie foursquare, mit Karten + Liste
Dies ist die Android-äquivalent des diese iOS-Frage.
Versucht, eine Ansicht zu erstellen, die enthält eine MapView bei etwa 20% des Bildschirms (unter der ActionBar...) und der rest des Bildschirms ist eine ScrollView, die beim scrollen nach unten, überlappt am oberen Rand der Kartenansicht und versteckt es. In kurzen wie FourSquare Android-app.
Irgendwelche Ideen?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich habe eine Implementierung, basierend auf AndroidSlidingUpPanel (vielen Dank an dieser Projekt).
Details http://android.amberfog.com/?p=915
Source code mit Beispiel: https://github.com/dlukashev/AndroidSlidingUpPanel-foursquare-map-demo
LETZTEN UPDATE
Dann füge ich einen unsichtbaren header, um die Liste in etwa so:
Dies ist kaum ideal, aber es funktioniert. Ich hoffe, es hilft jemand..
Ist die einfachste Lösung, um einen Rand hinzuzufügen, um die slider-Inhalte (zweiter parameter des SlidingUpPanel) und entfernen Sie dann die fading hintergrund. Alles wird von der XML.
Können Sie nur erklären, sondern in Ihrer xml-Datei einen
ScrollView
einbettetLinearLayout
, einbettetMapView
:Dann können Sie die Größe für jedes element durch Angabe der
layout_weight
AttributBEARBEITEN
IvanDanDo, nach unserer Diskussion habe ich diesen link gefunden, die dies können, was Sie wollen (nicht sicher, ob ich nicht versuchen Sie es) : Android: eine beliebige Ansicht Folie, die unter einer anderen Ansicht wie der software-Tastatur funktioniert
MapFragment
layout_weight
=1 und dieLinearLayout
layout_weight
=3, aber alle, die ich sehe, ist eine Karte auf meinem gesamten Bildschirm und irgendwo auf der Unterseite, ein Hauch von einer Liste... und es muss nicht scrollen auf der Oberseite meiner Karte entweder.ImageView
zum Beispiel, hat Sie scrollen ? Auch, können Sie versuchen, geben Sie dieweightSum
- Attribut in der erstenLinearLayout
4 ?ImageView
und ich erkannte, dass meine Liste war einfach nicht groß genug, so dass kein scrollen notwendig war. (dumme). Aber wenn ich jetzt scrollen, dieImageView
/Map
nur rollt, ich will es zu halten an der Spitze der Liste wird schließlich blättert sich wie eine überlappung und verstecken Sie Sie vollständig. Wie bekomme ich diesen Effekt?ActionBar
am Anfang, dann einMapView
die nimmt 30% des Bildschirms und dann einScrollView
das dauert bis die 60% Links - (minusActionBar
's 10%). Wenn der Benutzer scrollt, dieMapView
scheint nicht zu bewegen, aber die `ScrollView' beginnt hinauf, bis es deckt die gesamte Karte. Es ist ein Scrolling-trick, den ich bin versucht zu emulieren, aber haben eine harte Zeit, es ist wie es zwei getrennte Schichten... Das ist so gut wie ich kann es in Worten.setOnLongClickListener
aber ich bin mir nicht sicher,