Material Design 中如何实现可展开的 CardView?

阅读时长 9 分钟读完

在 Material Design 中,CardView 是一种非常流行的组件,特别是在移动设备上。为了提高用户体验,我们通常需要在 CardView 中添加可展开的内容。在本文中,我们将介绍如何在 Android 应用程序中轻松实现可展开的 CardView

下载支持库

为了使用 CardView,我们需要在我们的 Android 应用程序中添加依赖项。

创建 XML 布局

接下来,我们需要创建一个 XML 布局文件以包含我们的 CardView。我们将使用 RecyclerView 在屏幕上排列几个 CardView。在此示例中,我们将为每个 CardView 添加一个展开的 LinearLayout,当单击 CardView 时,该 LinearLayout 将扩展并显示。

-- -------------------- ---- -------
----- ------------- ------------------
------------------------------------------
    ----------------------------------------------------------
    ----------------------------------------------
    ------------------------------
    -----------------------------------
    ------------------------------------
    -----------------------------
    ------------------------------ --
展开代码

创建 CardView XML 布局

现在我们需要为 CardView 创建一个新的 XML 布局文件。我们将添加一个标题和一个展开的 LinearLayout。我们还将使用 android:animateLayoutChanges="true" 属性使我们的 CardView 可以更好地与用户交互。

-- -------------------- ---- -------
----- ------------- ------------------
----------------------------------
    ----------------------------------------------------------
    ---------------------------------------------------------
    --------------------------
    -----------------------------------
    ------------------------------------
    ---------------------------
    --------------------------------
    ------------------------------

    -------------
        -------------------------------------
        -----------------------------------
        ---------------------------
        ------------------------------
        ----------------------
        -------------------------
        ------------------------------------

        ---------
            -------------------------------------
            -----------------------------------
            ------------------------------------
            ------------------ -- -- ---------- --------
            ----------------------- --
    ---------------

    -------------
        ----------------------------
        -----------------------------------
        ------------------------------------
        ------------------------------
        -----------------------

        ---------
            -------------------------
            -----------------------------------
            ------------------------------------
            ------------------ -- - -------- ------
            ----------------------- --

    ---------------

------------------------------------
展开代码

创建适配器

现在我们需要创建一个 Adapter 将数据添加到我们的 RecyclerView 中。在此适配器中,我们将实现单击 CardView 后显示或隐藏 LinearLayout,并更改标题所需的逻辑。

-- -------------------- ---- -------
----- ----------------------- --- --------- ------------------ -
    ------------------------------------------------------ -

    -------- --- -------------------------- ---------- --------- ----- -------------- -
        --- ----- ---- - -----------------------------------
            ----------------------------------- ------- ------
        ------ --------------------
    -

    -------- --- ------------------------ --------------- --------- ---- -
        --- ----- - ------------------
        ------------------- - -----

        ------------------------------------ -
            -- -------------------------------------- -- ---------- -
                ------------------------------------- - ------------
                ------------------- - ----- -------- -- ---------
            - ---- -
                ------------------------------------- - ---------
                ------------------- - ----- -- - -------- ------
            -
        -
    -

    -------- --- -------------- - -------------

    ----- ----- ------------------------ ----- - --------------------------------- -
        --- -------- -------- - -----------------------------------
        --- ----------- ------------ - --------------------------------------
        --- -------------------- ------------ - -----------------------------------------------
    -
-
展开代码

将适配器添加到 RecyclerView

现在我们已经创建了一个适配器,我们需要将其添加到我们的 RecyclerView 中。在 onCreate 中,我们将创建一个 ArrayList,并将其传递给 CardViewAdapter。然后我们将适配器添加到 RecyclerView 中。

-- -------------------- ---- -------
----- ------------ - ------------------- -
    -------- --- ---------------------------- -------- -
        ----------------------------------
        --------------------------------------

        --- ------------ - ---------------------------------------------

        --- -------- - --------------------- --- --------- --- --------- --- --------- --- --------- ---

        --- ------- - -------------------------
        -------------------- - -------
        -------------------------- - -------------------------
    -
-
展开代码

现在,当我们运行应用程序并单击 CardView 时,展开的 LinearLayout 将显示并呈现动画效果,改变标题显示的文本。

在 Material Design 中实现可展开的 CardView 通常是一个非常有用的功能,尤其是当我们有大量处理需要显示的数据时。此示例代码将指导您实现这一目标。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/67c52d036e1fc40e36e8a541

纠错
反馈

纠错反馈