Java 回收器视图水平Android
我在一个布局中创建了两个回收器视图。 我面临的问题是,我的水平回收器视图显示为垂直视图 我已经上传了我的xml文件 垂直回收器视图工作正常,但水平回收器视图存在垂直显示项目的问题 Horizontal.xmlJava 回收器视图水平Android,java,android,android-recyclerview,Java,Android,Android Recyclerview,我在一个布局中创建了两个回收器视图。 我面临的问题是,我的水平回收器视图显示为垂直视图 我已经上传了我的xml文件 垂直回收器视图工作正常,但水平回收器视图存在垂直显示项目的问题 Horizontal.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width
<?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="wrap_content"
android:orientation="vertical"
>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="City"
android:textStyle="bold"
android:background="@color/LightGreen"
/>
<androidx.recyclerview.widget.RecyclerView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/city_recycleview"
/>
</LinearLayout>
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android=
"http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
>
<androidx.cardview.widget.CardView
android:layout_width="120dp"
android:layout_height="120dp"
app:cardCornerRadius="4dp"
app:cardElevation="1dp"
app:cardMaxElevation="2dp"
android:layout_centerInParent="true"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_margin="1dp"
>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<de.hdodenhof.circleimageview.CircleImageView
android:layout_width="90dp"
android:layout_height="90dp"
android:layout_marginTop="5dp"
android:layout_gravity="center"
android:scaleType="centerCrop"
android:layout_centerHorizontal="true"
android:id="@+id/city_imagecicrlemain"
android:src="@drawable/ic_launcher_background"
>
</de.hdodenhof.circleimageview.CircleImageView>
<TextView
android:id="@+id/name_Citymain"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_below="@id/city_imagecicrlemain"
android:layout_centerHorizontal="true"
android:layout_marginTop="4dp"
android:layout_marginBottom="5dp"
android:autoSizeMaxTextSize="15sp"
android:autoSizeMinTextSize="8sp"
android:autoSizeTextType="uniform"
android:text="Lahore"
android:textColor="@color/black">
</TextView>
</RelativeLayout>
</androidx.cardview.widget.CardView>
</LinearLayout>
水平单行.xml
<?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="wrap_content"
android:orientation="vertical"
>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="City"
android:textStyle="bold"
android:background="@color/LightGreen"
/>
<androidx.recyclerview.widget.RecyclerView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/city_recycleview"
/>
</LinearLayout>
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android=
"http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
>
<androidx.cardview.widget.CardView
android:layout_width="120dp"
android:layout_height="120dp"
app:cardCornerRadius="4dp"
app:cardElevation="1dp"
app:cardMaxElevation="2dp"
android:layout_centerInParent="true"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_margin="1dp"
>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<de.hdodenhof.circleimageview.CircleImageView
android:layout_width="90dp"
android:layout_height="90dp"
android:layout_marginTop="5dp"
android:layout_gravity="center"
android:scaleType="centerCrop"
android:layout_centerHorizontal="true"
android:id="@+id/city_imagecicrlemain"
android:src="@drawable/ic_launcher_background"
>
</de.hdodenhof.circleimageview.CircleImageView>
<TextView
android:id="@+id/name_Citymain"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_below="@id/city_imagecicrlemain"
android:layout_centerHorizontal="true"
android:layout_marginTop="4dp"
android:layout_marginBottom="5dp"
android:autoSizeMaxTextSize="15sp"
android:autoSizeMinTextSize="8sp"
android:autoSizeTextType="uniform"
android:text="Lahore"
android:textColor="@color/black">
</TextView>
</RelativeLayout>
</androidx.cardview.widget.CardView>
</LinearLayout>
要使您的
回收视图
水平,您需要将其设置为布局管理器
final GridLayoutManager layoutManager = new GridLayoutManager(this, NUM_OF_ROWS, GridLayoutManager.HORIZONTAL, false);
m_recyclerView.setLayoutManager(layoutManager);
方向由布局管理器控制,请确保将其方向设置为水平,我建议在此用例中使用
LinearLayoutManager
in Kotlin:
//In your activity / fragment
val linearLayoutManager = LinearLayoutManager(
context,
LinearLayoutManager.HORIZONTAL,
false
)
yourRecyclerView.layoutManager = linearLayoutManager
希望它能解决您的问题:)是的,使用
import androidx.recyclerview.widget.GridLayoutManager导入它代码>(不要忘记将实现'androidx.recyclerview:recyclerview:1.1.0'
添加到gradle文件中)