我正在用cardview制作recyclerView,但工作正常。但这适用于android设备,并且该recyclerView对平板电脑的尺寸无响应。我如何才能使recyclerview的响应式布局与手机和平板电脑中显示的产品相同?我该怎么做? 这是我的recyclerView xml代码:
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<LinearLayout
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:id="@+id/tvTopBrands"
android:text="@string/top_brand"
android:textAlignment="center"
android:layout_marginTop="5dp"
android:textColor="@color/colorPrimary"
android:textSize="20sp"
android:textStyle="bold|italic"/>
<android.support.v7.widget.RecyclerView
android:id="@+id/rvTopBrandProducts"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="4dp"
android:layout_marginStart="4dp"
android:layout_marginTop="8dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/tvTopBrands"
app:layout_constraintVertical_bias="0.0" />
</LinearLayout>
这是我的recyclerView代码:
final JsonArrayRequest request = new JsonArrayRequest(Request.Method.GET,
URLs.viewAllLatestProduct,null,
new Response.Listener<JSONArray>() {
@Override
public void onResponse(JSONArray response) {
setLatestProductAdapter(response);
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
}
});
这是我的cardView布局:
<android.support.v7.widget.CardView android:id="@+id/card_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="2dp"
xmlns:android="http://schemas.android.com/apk/res/android">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="2dp"
android:background="@android:color/holo_orange_dark">
<ImageView
android:id="@+id/ivTopBrand"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="fitXY"
android:padding="2dp"
android:background="@color/white"
android:layout_centerHorizontal="true"
android:src="@drawable/ic_feature_brand" />
</LinearLayout>
我如何进行响应式布局
答案 0 :(得分:0)
嘿,亲爱的,您只需将RecyclerView与虚拟物品一起使用。您必须关注每次将用于在RecyclerView中显示项目的布局。如果您对该项目进行响应式布局,则整个RecyclerView都将是响应式的。
答案 1 :(得分:0)
在您的代码中,您使用了dp
,该设备与设备不同。因此,您的布局不会根据您的要求进行调整。
要解决此问题,您可以尝试使用此Android library并用该lib dp值重新定义所有xml dp值。