当前位置: 首页 > 知识库问答 >
问题:

card查看内部相对布局未在Android中显示内容

秦宏盛
2023-03-14

布局文件

    <include
        android:id="@+id/toolbar"
        layout="@layout/toolbar"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        app:layout_scrollFlags="scroll|enterAlways"
        android:layout_alignParentTop="true"/>

    <android.support.v7.widget.RecyclerView
        android:id="@+id/recycler_view"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:scrollbars="vertical"
        android:layout_below="@+id/toolbar"
        android:layout_above="@+id/card_view"
        />

    <android.support.v7.widget.CardView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/card_view"
        >

        <CheckBox
            android:id="@+id/applyWallet"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Apply wallet"
            android:checked="true"
            android:layout_above="@+id/mainText"
            />

        <TextView
            android:id="@+id/mainText"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textSize="18sp"
            android:textColor="@color/primary_dark"
            android:layout_centerHorizontal="true"
            android:layout_above="@+id/placeOrderButton"
            />

        <Button
            android:id="@+id/placeOrderButton"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:text="PLACE ORDER"
            android:layout_alignParentBottom="true"
            />

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


</RelativeLayout>

如果我正在移动cardView的项目并与recyclerView并行,那么只有它正在显示。在当前情况下,屏幕上显示的是注释,甚至没有回收器查看项目。

如何在relativeLayout内使用cardView?

我在这里遗漏了任何android概念吗?

共有1个答案

白侯林
2023-03-14

这就是我如何使用RecyclerView和CardView,它是非常干净和标准的方式来为主要活动和回收器视图的项目进行单独的布局。

activity_main.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/GrayGood"
tools:context="faisal.example.recyclerview.MainActivity" >

<LinearLayout
    android:id="@+id/toolBarContainer_ID"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical" >

    <android.support.v7.widget.Toolbar
        android:id="@+id/toolBar_ID"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        app:layout_scrollFlags="scroll|enterAlways"
        android:background="@color/colorPrimary" />
</LinearLayout>

<android.support.v7.widget.RecyclerView
    android:id="@+id/recyclerView_ID"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:clipToPadding="false"
    android:paddingTop="?attr/actionBarSize" />

</RelativeLayout>

现在是将驻留在RecyclerView的行中的项目的布局,这些项目包装在CardView中。

activity_main_row.xml

<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.CardView 
xmlns:card_view="http://schemas.android.com/apk/res-auto"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/cardViewID"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="4dp"
android:clickable="true" //here make your recyclerItem row clickable 
android:focusable="true"
card_view:cardCornerRadius="5dp" >

<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="?attr/selectableItemBackground" //this will give you highlight effect when list item is pressed
    android:orientation="vertical"
    android:paddingBottom="10dp"
    android:paddingLeft="15dp"
    android:paddingRight="15dp"
    android:paddingTop="10dp" >

     <CheckBox
        android:id="@+id/applyWallet"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Apply wallet"
        android:checked="true"
        android:layout_above="@+id/mainText"
        />

    <TextView
        android:id="@+id/mainText"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="18sp"
        android:textColor="@color/primary_dark"
        android:layout_centerHorizontal="true"
        android:layout_above="@+id/placeOrderButton"
        />

    <Button
        android:id="@+id/placeOrderButton"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:text="PLACE ORDER"
        android:layout_alignParentBottom="true"
        />

</RelativeLayout>

现在,项目将彼此重叠,因此通过分配layout_below=“@id/yourView”来设置它们

这是处理 RecyclerView 的常用方法,因为您需要在 RecyclerAdapter 类中使用物品支架的布局。希望我有帮助或指导。

 类似资料:
  • ![我已经以线性布局(下面给出的代码)对其进行了编码,但想知道如何使用相对布局进行相同的操作,或者这只是一个考虑到布局的坏主意? 线性布局 - ][1] 使用相对布局时,我的ImageView不会显示在屏幕上:

  • 本文向大家介绍Android RelativeLayout 相对布局,包括了Android RelativeLayout 相对布局的使用技巧和注意事项,需要的朋友参考一下 示例 RelativeLayout是一个ViewGroup以相对位置显示子视图的。默认情况下,所有子视图都绘制在布局的左上角,因此您必须使用中提供的各种布局属性来定义每个视图的位置RelativeLayout.LayoutPar

  • 在上一节中我们讲到了 LinearLayout,这也是大家学到的第一个布局方式。它支持将多个 View 通过线性的方式(水平或垂直)组合起来,其中最实用的就是 weight 属性,用好 weight 可以让你的线性布局更灵活美观。 然而,在上一节的例子中我们发现,如果需要在多个方向上进行布局,就要嵌套多个 LinearLayout,可以想象如果我们的 UI 足够复杂,那么从工作量和性能上都将是一场

  • 问题内容: 我想了解当CSS是CSS元素的DOM子元素(因此block元素是inline元素的子元素)时会发生什么情况。 CSS 2.1规范的“ 匿名块框”部分描述了这种情况:该示例包括以下规则… …以及随附的文字说… BODY元素包含一个匿名文本块(C1),然后是一个块级元素,然后是另一个匿名文本块(C2)。结果框将是围绕BODY的匿名阻止框,其中包含C1周围的匿名阻止框,P阻止框和C2周围包含

  • 问题内容: 我试图使用此代码从我的主要活动中调用第二个活动 作为我的OrderSummaryActivity: 但是布局不会在此活动中显示,只是空白页。这是布局的xml: 有什么提示吗? 问题答案: 尝试将 OrderSummaryActivity.class 更改为: