如何实现recycleview以在cardview中显示多个可滚动或固定元素

时间:2018-06-16 22:00:05

标签: android user-interface android-recyclerview android-cardview

i want to do something similar

我需要建议或建议如何在android studio 3.0上做这样的事情。 我正在建立一个食品订购应用程序,需要显示订单摘要。 我有点做了,但食物名称,数量,价格,例如。(中等比萨,1个,6.8美元)没有出现。

我使用两个布局做了一个,一个有回收视图,另一个只有卡片视图,食物名称,数量,价格,例如。(中等披萨,1个,6.8美元)。 带有回收视图的卡片查看显示订单号,订单状态位于顶部并显示底部的总计。因此,在顶部和底部之间我放置了回收视图,以便它可以显示食品名称,数量,价格,例如(中等披萨,1个,6.8美元)。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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:background="@drawable/backgground"
android:layout_width="350dp"
android:layout_height="300dp"
tools:context="com.example.reds0n.foodorderclient.Cart">
<android.support.v7.widget.CardView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:layout_margin="10dp"
    android:id="@+id/cardView2">

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="280dp">


        <TextView

            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Order# 123957262"
            android:textSize="20sp"
            android:textColor="@color/red"
            android:id="@+id/ordernumber"/>

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:layout_marginTop="05dp"
            android:textColor="@color/fbutton_color_green_sea"
            android:text="Status: Done" />

        <TextView
            android:id="@+id/status"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:layout_marginTop="05dp"
            android:textColor="@color/fbutton_color_green_sea"
            android:text=" Done" />

        <LinearLayout
            android:layout_marginTop="30dp"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="vertical">
            <android.support.v7.widget.CardView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="160dp"
                app:cardBackgroundColor="@color/yellowish">

                <TextView
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:text="Total:"
                    android:layout_marginLeft="190dp"
                    android:textSize="20sp"/>

                <TextView
                    android:id="@+id/pirce"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:text="100"
                    android:textSize="20sp"
                    android:layout_marginLeft="250dp"/>

              </android.support.v7.widget.CardView>

           </LinearLayout>

    </RelativeLayout>
 </android.support.v7.widget.CardView>
     <android.support.v7.widget.RecyclerView
         android:id="@+id/orderDetailsRecycle"
         android:layout_width="400dp"
         android:layout_height="wrap_content"
         android:layout_margin="10dp"
        android:background="@color/background_header" />

    </RelativeLayout> 





 <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
mlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="100dp"
android:background="@color/black_overlay"
tools:context="com.example.reds0n.foodorderclient.orderDetails">

<android.support.v7.widget.CardView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:layout_margin="10dp"
    app:cardElevation="10dp">

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <android.support.v7.widget.CardView
        android:layout_marginTop="25dp"
        android:layout_below="@id/ordernumber"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:cardBackgroundColor="@color/fbutton_color_green_sea">
        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent">

        <TextView
            android:id="@+id/foodname"
            android:layout_width="120dp"
            android:layout_height="wrap_content"
            android:text="Big Burger "
            android:textStyle="bold"
            android:textSize="20sp"
            />
        <TextView
            android:id="@+id/itemPcs"
            android:layout_centerInParent="true"
            android:gravity="center"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="22Pcs"/>

          <TextView

              android:id="@+id/itemPrice"
              android:layout_alignParentEnd="true"
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:layout_marginRight="20dp"
              android:text="$100"
              android:layout_centerVertical="true"/>

        </RelativeLayout>
    </android.support.v7.widget.CardView>



</RelativeLayout>

My Display from the code above

This is one of the designs i 1st created but i don't like the way it repeats each food item in its own cardview..(Dont mind the the ugly design tho :) )

My database

1 个答案:

答案 0 :(得分:0)

我无法理解你的期望。我假设您要在卡片视图中显示已包含详细信息的订购商品列表。

使用填充屏幕的Recyclerview,添加带有订单详细信息的cardview作为项目。 搜索&#34; Heteregenous RecyclerView Android&#34;您将获得大量代码示例以实现您的需求。