如何在中心进行水平回收视图?
我尝试了很多方法来设置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 :(得分: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_horizontal&#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 工作。