2016-07-27 6 views
21

gridlayoutmanager를 사용하는 세로 recyclerview가 있습니다. 각 열을 가운데에 놓기를 원하지만 열은 왼쪽에서 끝까지 시작됩니다. 다음 그림에서 내가 말하는 것을 볼 수 있습니다. 열과 배경을 설명하기 위해 못생긴 색 구성표를 사용했습니다.세로 방향으로 RecyclerView 항목을 중앙에 배치하는 방법 GridLayoutManager

http://imgur.com/a/J3HtF

내가 그것을 설정하고 있습니다 :

mRecyclerView.setLayoutManager(new GridLayoutManager(this, 2)); 

가 여기에 column_item의 녹색은 recyclerview 각 항목의 배경이며, 빨간색은 recyclerview 자체의 배경입니다. XML :

01 : 여기

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
       android:layout_width="120dp" 
       android:layout_height="180dp" 
       android:orientation="vertical" 
       android:padding="4dp"> 

    <ImageView 
     android:id="@+id/movie_column_photo" 
     android:layout_width="80dp" 
     android:layout_height="120dp"/> 

    <TextView 
     android:id="@+id/movie_column_title" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content"/> 
</LinearLayout> 

는 recyclerview의 XML입니다

답변

43

내부 모두를 중심으로하면서 열 항목이 열의 너비를 채우셔서 시도해보십시오

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
       android:layout_width="match_parent" 
       android:layout_height="180dp" 
       android:orientation="vertical" 
       android:padding="4dp"> 

    <ImageView 
     android:id="@+id/movie_column_photo" 
     android:layout_width="80dp" 
     android:layout_height="120dp" 
     android:layout_gravity="center_horizontal"/> 

    <TextView 
     android:id="@+id/movie_column_title" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:gravity="center"/> 
</LinearLayout> 
+0

이 마법처럼 일했다! 너무 감사합니다! – JackTheCripple

+0

좋아요! 완벽하게 작동합니다! –

+0

너비가 채워진 아이템이 나에게이 문제를 해결했습니다! 감사 –