2017-09-05 117 views
0

如何在中心製作horizo​​ntal recyclerview?如何將居中的水平recyclerview居中?

我已經嘗試了很多方式將android:layout_gravity =「center」放在recyclerView中,或者將recyclerview放在線性佈局中。

但我沒有成功。

這是我的代碼。

這是包含我的recyclerview的xml文件。

<LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:orientation="horizontal"> 

    <android.support.v7.widget.RecyclerView 
     android:layout_width="wrap_content" 
     android:layout_height="40dp" 
     android:visibility="invisible" 
     android:layout_gravity="center_horizontal" 
     android:layout_marginTop="-20dp" 
     android:id="@+id/recycler_view"> 
    </android.support.v7.widget.RecyclerView> 

    </LinearLayout> 

item_row.xml文件

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="horizontal" android:layout_width="wrap_content" 
    android:layout_gravity="center" 
    android:layout_height="match_parent"> 

    <TextView 
     android:layout_width="30dp" 
     android:layout_height="match_parent" 
     android:id="@+id/textview_size" 
     android:background="@drawable/textview_border" 
     android:gravity="center" 
     android:textColor="#000000" 
     /> 

</LinearLayout> 
+0

只是改變的LinearLayout寬度item_row.xml和layout_gravity重力 – RajatN

回答

1

使用RelativeLayout insted的的LinearLayout比 使用您的RelativeLayout這樣

<RelativeLayout 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:gravity="center" 
    android:orientation="horizontal"> 

    <android.support.v7.widget.RecyclerView 
     android:layout_width="wrap_content" 
     android:layout_height="40dp" 
     android:visibility="invisible" 
     android:layout_centerInParent="true" 
     android:layout_marginTop="-20dp" 
     android:id="@+id/recycler_view"> 
    </android.support.v7.widget.RecyclerView> 

</RelativeLayout> 
+0

到match_parent仍然沒有工作 –

+0

@ AnamikaChavan向您展示整個佈局問題 –

0

使用Android android:layout_centerInParent="true":在layout_gravity = 「CENTER_HORIZONTAL」你的線性佈局

<LinearLayout 
       android:layout_width="match_parent" 
       android:layout_height="match_parent" 
       android:orientation="horizontal" 
       android:layout_gravity="center_horizontal"> 

      <android.support.v7.widget.RecyclerView 
       android:layout_width="wrap_content" 
       android:layout_height="40dp" 
       android:visibility="invisible" 
       android:layout_gravity="center_horizontal" 
       android:layout_marginTop="-20dp" 
       android:id="@+id/recycler_view"> 
      </android.support.v7.widget.RecyclerView> 

    </LinearLayout> 
0

只需添加android:gravity="center"LinearLayout其中包含您RecyclerView

0

嘗試在gradle這個文件裏

<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="horizontal" 
    android:layout_gravity="center_vertical|center_horizontal" 
    android:gravity="center"> 

    <android.support.v7.widget.RecyclerView 
     android:layout_width="wrap_content" 
     android:layout_height="40dp" 
     android:visibility="invisible" 
     android:layout_gravity="center_horizontal" 
     android:id="@+id/recycler_view"> 
     </android.support.v7.widget.RecyclerView> 

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

    <android.support.v7.widget.RecyclerView 
     android:layout_width="wrap_content" 
     android:layout_height="40dp" 
     android:visibility="visible" 
     android:id="@+id/recycler_view"> 
    </android.support.v7.widget.RecyclerView> 

</LinearLayout> 
0

剛剛更新recyclerview版本,它現在的工作!

:)

請gradle這個文件更新庫版本或進一步:

compile 'com.android.support:recyclerview-v7:23.2.1'