2016-09-20 8 views
1

Ich experimentiere mit dem RecyclerView und dem GridLayoutManager.GridLayoutManager Gleiche Bildgrößen

Ich möchte schließlich Bilder anzuzeigen, die die gleiche Größe haben, die so aussehen, oder sogar Platz, wenn möglich:

enter image description here

Was ist das Element des GridLayoutManager dies möglich zu machen? Ändere ich die XML-Datei des einzelnen Elements, mit der ich die RecyclerView befüllen kann?

+1

Sie können Ihr benutzerdefiniertes Zeilenelementlayout anpassen – Piyush

Antwort

1

Zunächst einmal müssen Sie unten eine ImageView wie Unterklasse:

import android.content.Context; 
import android.util.AttributeSet; 
import android.widget.ImageView; 


public class MyImageview extends ImageView { 
    public MyImageview (Context context) { 
     super(context); 
    } 

    public MyImageview (Context context, AttributeSet attrs) { 
     super(context, attrs); 
    } 

    public MyImageview (Context context, AttributeSet attrs, int defStyleAttr) { 
     super(context, attrs, defStyleAttr); 
    } 

    @Override 
    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { 
     super.onMeasure(widthMeasureSpec, heightMeasureSpec); 
     setMeasuredDimension(getMeasuredWidth(), getMeasuredWidth()); // Snap to 
     // width 
    } 
} 

Verwenden Sie diese Datei im XML-Datei.

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <com.app.MyImageview 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:id="@+id/imageBackground" 
     android:scaleType="centerCrop"/> 

</LinearLayout> 

Stellen Sie sicher, Ihre MyImageView Höhe und Breite match_parent sein muss.

+0

Danke, ich werde es eine Chance geben, aber wo kommt die Ausrichtung eigentlich rein? Alles, was ich sehe, ist passendes Elternteil ... nicht zu sagen, du liegst falsch, willst nur verstehen, wo es jedes Bild auf eine feste Größe beschränkt – tccpg288

Verwandte Themen