2016-10-06 1 views
1

Ich baue eine Android-Anwendung, wo der Benutzer Fotos mit einem Klick auf eine Schaltfläche machen kann, und diese Fotos werden auf der gleichen Aktivität angezeigt. Die Fotos befinden sich in einem RecyclerView und die Ausrichtung des RecyclerView ist horizontal. Ich kann Fotos aufnehmen, speichern und nach Bedarf drehen. Ich kann sie dem Benutzer auch über die RecyclerView anzeigen, so dass es sich um eine Bildergalerie handelt.Android - Anzeigen von ImageView in einem horizontalen RecyclerView platziert große Ränder um (?) Das Bild?

Es scheint jedoch, dass das einzelne LinearLayout, das das ImageView enthält, viel mehr Platz beansprucht, als das ImageView benötigt.

Hier ist ein Screenshot der Aktivität ohne Fotos noch. Ich legte einen weißen Hintergrund für die RecyclerView:

Blank RecyclerView

Nachdem Sie ein Foto mit der Kamera, ich schaffe das Foto zu bekommen, drehen Sie es (weil, wenn die Kamera im Hochformat ist, Android manchmal als Landschaft spart), und zeige es an. Das Layout des RecyclerView Adapters hat einen schwarzen Hintergrund und eine Bildansicht oben. Hier ist das Layout habe ich:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:background="#000000"> 

    <ImageView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/ivPhoto" 
     android:scaleType="fitStart"/> 

</LinearLayout> 

Wenn ich die Image Bitmap gesetzt wird (im RecyclerView Adapter) mit dem Dateipfad als Quelle, dies geschieht:

RecyclerView with Image

Wie Sie können Ich habe meine ImageView. Es scheint jedoch, dass das LinearLayout-Parent der ImageView das ImageView nicht umschließt. Anstelle des weißen Hintergrunds, den der RecyclerView hatte, ist der schwarze Hintergrund des LinearLayout der, der gezeigt wurde. Und ja, das beansprucht den gesamten RecyclerView.

Kann mir jemand bei dieser Situation helfen? Ich weiß nicht, warum das LinearLayout das ImageView nicht wie gewünscht umschließt. Ich habe auch verschiedene scaleTypes für das ImageView ausprobiert, aber es zeigt keine optimalen Ergebnisse.

Jede Hilfe wird sehr geschätzt.

Antwort

2

Versuchen Sie android:adjustViewBounds="true" zu Ihrem ImageView.

+0

Danke, es funktioniert! – Razgriz

Verwandte Themen