在 Material Design 中,CardView
是一种非常流行的组件,特别是在移动设备上。为了提高用户体验,我们通常需要在 CardView
中添加可展开的内容。在本文中,我们将介绍如何在 Android
应用程序中轻松实现可展开的 CardView
。
下载支持库
为了使用 CardView
,我们需要在我们的 Android
应用程序中添加依赖项。
implementation 'androidx.recyclerview:recyclerview:1.1.0' implementation 'com.google.android.material:material:1.3.0'
创建 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