如何将水平回收视图集中在中心?

时间:2017-09-05 06:35:51

标签: android android-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>

9 个答案:

答案 0 :(得分:4)

您必须将Recyleview的布局宽度设置为:wrap_content 这个应该可以工作:

         <android.support.v7.widget.RecyclerView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                >

答案 1 :(得分:1)

使用RelativeLayout {}} LinearLayout 使用android:layout_centerInParent="true"这样的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>

答案 2 :(得分:1)

3年后,但我希望我的回答对另一位开发人员有所帮助。

在元素xml的父级中:

    android:layout_width="match_parent"

然后将您的孩子视图设置为特定宽度

        android:layout_width="300dp"

别忘了添加:

app:layout_constraintLeft_toLeftOf="parent" //If you're using constraint layout as parentw
app:layout_constraintRight_toRightOf="parent"

答案 3 :(得分:0)

使用android:layout_gravity =&#34; center_horizo​​ntal&#34;在你的线性布局

<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>

答案 4 :(得分:0)

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

答案 5 :(得分:0)

试试这个

<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>

答案 6 :(得分: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>

答案 7 :(得分:0)

刚刚更新了gradle文件中的recyclerview版本,现在可以使用了!

:)

请在gradle文件中更新库的版本或更新:

SqlCommand

答案 8 :(得分:0)

对我来说,添加

android: layout_width = "match_parent" 

android: layout_weight = "1" 

到 recyclerview 项目 xml 工作。