Verhindern Sie, dass ImageView Ansichten außerhalb des Bildschirms verschiebt

8

Ich habe ein lineares Layout, das eine Bildansicht und ein anderes lineares Layout enthält, das eine untere Leiste auf dem Bildschirm ist. Ich verwende die untere Leiste an anderer Stelle in meinem Projekt und ich denke nicht, dass es das Problem ist.

Das Problem ist, dass die Bildansicht den gesamten Bildschirm einnimmt. Das Bild selbst nicht, aber die Ansicht. Ich kann das nicht herausfinden. Wie Sie in meiner XML sehen können, verwende ich fill_parent nicht für die Bildansicht und ich habe jeden möglichen scaleType für das Bild ausprobiert.

Irgendwelche Vorschläge? Auch wenn es hilft, baue ich auf Android API 8

Bearbeiten: Ich habe das untenstehende XML geändert, damit Sie genau das verwenden können, was ich geschrieben habe. (Dies ist das Bild, das ich in der Bildansicht verwende: Ссылка )

%Vor%

Ссылка (Es tut mir leid, nicht genug Ruf, um das eigentliche Bild zu posten)

    
amc6 13.03.2012, 02:37
quelle

4 Antworten

11

Die Dinge scheinen zu funktionieren, wenn android: layout_weight="1.0" zu ImageView hinzugefügt wird.

(Ich bin mir nicht sicher, was genau passiert und in welcher Reihenfolge im Layout-Algorithmus, kann also nicht erklären, warum.)

%Vor%     
HenrikS 13.03.2012, 19:06
quelle
1

Es ist der wrap_content im Bild - die Quelldatei ist wahrscheinlich zu groß.

Verwenden Sie dies in Ihrer ImageView, um den Bildbereich nach der Skalierung auf die neue Größe des Bildes zurückzusetzen:

%Vor%

Ich würde auch die Höhe des ImageView ändern, so dass es den Bildschirm füllt und zwingt Ihren Balken, immer auf dem Boden zu sein:

%Vor%     
radley 03.04.2012 08:39
quelle
0

Ich denke, das Problem könnte darin bestehen, dass das von Ihnen verwendete Bild größer ist als der Bildschirm, sodass ImageView auf die Höhe des verfügbaren Platzes eingestellt wird, damit es am besten zu dem Bild passt und keinen Platz für etwas anderes lässt.

>

Wenn Sie den unteren Balken immer sichtbar haben möchten, ist es besser, stattdessen ein RelativeLayout zu verwenden:

%Vor%     
Kai 13.03.2012 03:58
quelle
0

Ich habe ein sehr ähnliches Problem, veröffentlicht in Ссылка

Es scheint, dass das ImageView nach der Skalierung des Bildes NICHT schrumpft, wenn Sie adjustviewbounds="true" nicht angeben.

Aber wie Sie aus meinem eigenen Post sehen können, ist das nicht die vollständige Antwort: Die Bildansicht kann immer noch Elemente unterhalb des Displays drücken oder in ihr Feld eindringen, wenn das Bild zu groß ist, woran ich gerade versuche fix.

    
Ian 19.03.2012 05:39
quelle