[英]How to center horizontal recyclerview in center?
如何在中心制作水平回收視圖?
我嘗試了很多方法將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>
您必須將 Recyleview 的布局寬度設置為: wrap_content 這個應該可以工作:
<android.support.v7.widget.RecyclerView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
>
只需將android:gravity="center"
到包含您的RecyclerView
LinearLayout
。
使用LinearLayout
RelativeLayout
插入,而不是使用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>
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"
在線性布局中使用 android: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>
試試這個
<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>
<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>
剛剛更新了 gradle 文件中的 recyclerview 版本,現在可以使用了!
:)
請更新 gradle 文件中的庫版本或進一步:
compile 'com.android.support:recyclerview-v7:23.2.1'
對我來說,添加
android: layout_width = "match_parent"
和
android: layout_weight = "1"
到 recyclerview 項目 xml 工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.