Android: Überlappen von zwei Ansichten (absichtlich!)
nur Fragen, ist es möglich, überschneiden sich zwei Elemente?
Dieses ist eine illustration von dem, was im, der versucht zu erreichen:
Im Grunde ist es ein Kreis ImageButton-Steuerelement, das Zentrum liegt an der Ecke eines Rechtecks. Wie muss ich mich positionieren? Kann ich RelativeLayout oder etwas anderes?
Ich würde wickeln beide Ansichten in einem RelativeLayout und richten Sie die überlappende eines auf der rechten und unteren Rand des übergeordneten Elements.
Wenn Sie einen link zu Ihrem Bild jemand Bearbeiten, es in die Frage für Sie.
chesnutcase.heliohost.org/derpbox/overlayout.png
das Rechteck ist eigentlich ein Formular enthält Felder(textViews).
Wenn Sie einen link zu Ihrem Bild jemand Bearbeiten, es in die Frage für Sie.
chesnutcase.heliohost.org/derpbox/overlayout.png
das Rechteck ist eigentlich ein Formular enthält Felder(textViews).
InformationsquelleAutor chesnutcase | 2013-06-27
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie mit einem RelativeLayout für die blue box, richten Sie die Bildansicht, um der oberen rechten Ecke, und dann mit negativen Margen zu schieben Sie es über den Begrenzungsrahmen. Hier ein Beispiel zur Veranschaulichung der Allgemeinen Idee:
BEARBEITEN:
Ich spielte mit diesem ein bisschen mehr, und Sie müssen android:clipChildren="false" auf das übergeordnete Element des RelativeLayout. Hier ein vollständigeres Beispiel:
Versuchen Sie, android:clipToPadding="false" auf das RelativeLayout.
ok, dieses mal ist es offenbart mehr von sich selbst, aber 3 Viertel ist es noch verborgen. was tut es überhaupt? auch, wenn es hilft, diese box ist ein relative layout von selbst an, das ganze xml ist ein relative layout zu. chesnutcase.heliohost.org/derpbox/overlayout3.png
Ah, müssen Sie die android -: clipChildren="false" auf das übergeordnete Element des RelativeLayout, so dass es erlaubt ist, zu ziehen außerhalb des Begrenzungsrahmens. Ich habe bearbeitet meine obige Antwort, um diese aufzunehmen. Verlassen Sie das android:clipToPadding="false" so gut, wie Sie Polsterung für dein RelativeLayout.
Und um zu erklären, was diese tun, android:clipToPadding legt fest, ob eine ViewGroup, die Kinder werden beschnitten, bei den padding-box, anstatt an der bounding box. In diesem Fall gilt für die meisten ViewGroups, dass ich bewusst bin. android:clipChildren legt fest, ob eine ViewGroup können die Kinder ziehen, die außerhalb Ihrer bounding Boxen. Lesen Sie hier mehr: developer.android.com/reference/android/view/... und hier: developer.android.com/reference/android/view/...
InformationsquelleAutor danh32
Eine sehr einfache Lösung ist die Einnahme Marge der Bildansicht in negativen Werten(z.B. -40dp).
Aber es funktioniert nur in manchen Situationen.
InformationsquelleAutor Arunendra
Weiterer einfacher Ansatz wäre die Verwendung von zwei transparenten Bild-Ansichten. Diese imageviews wird nach oben und rechts von der blauen layout. Hintergrund dieser Bild-Ansichten als #00000000 transparent zu machen.
InformationsquelleAutor 2ank3th