android 折叠式布局,Android卡片式折叠交互效果

原标题:Android卡片式折叠交互效果

c1438bf0d60f7cfa245c4f2c83e3d862.png

近日有报道称:在互联网共享单车最早起步的上海,目前有150万辆共享单车。迅猛的增速之下,上海市交通委紧急叫停,成为继杭州、广州等城市之后,国内又一个暂停新增投放共享单车的城市。对此有关专家称:“共享单车的数量要不要控制要看有没有法律依据,目前看没有。”

作者简介

早上好,新的一周又开始了,跟高兴与大家见面!

本篇来自 Shu_Lance的投稿, 给大家推荐了一款炫酷的卡片式列表控件, 并进行了补充说明,希望大家喜欢!

Shu_Lance的博客地址:

http://blog.csdn.net/shu_lance

前言

最近小猿在改进之前写过的学校教务系统APP的UI界面的时候,发现了一个有趣的 Android UI——卡片式折叠交互 CardStackView,该 View 是在 GitHub 上找到的,但是该 View 的主人没有告诉我如何使用,小猿研究了半天,在此,将其简单的使用步骤阐述一下,CardStackView的 GitHub 地址:

https://github.com/loopeer/CardStackView

先上个源博主效果图:

2c67ee8fd8b40508907e5840abbafa8e.gif

2b919f847995f1e6ebbbbe97f0590f40.gif

使用步骤

1.在 Android studio 中 dependencies 里添加依赖

166167020_659256

2.自定义一个单个卡片的 item:

80053f3b0c535ab46474a8181b884845.png

3.在主布局里使用 CardStackView:

51720e83098f0e2979e11c5df25f5c02.png

4.写一个 TestStackAdapter(GitHub博主上给出了个 Adapter 的 demo,里面有卡片的三种样式:

ColorItemViewHolder :显示卡片正常样式

ColorItemLargeHeaderViewHolder :卡片的头比正常显示的大

ColorItemWithNoHeaderViewHolder :不显示卡片的头,只显示内容

TestStackAdapter 代码有点长,但是理解起来不难,因为它非常像 RecyclerView.Adapter<>,因为它是继承自 CardStackView.Adapter<>,我将部分主要代码讲一下:

onCreateView():加载卡片的 item 布局(三种样式可以加载):

66ae092b94b76180402bca8dca644e21.png

getItemViewType():返回每个 item 的布局样式,在这个 Adapter 里,都返回了统一的样式:

a812d527680b28a2a7e98bdd2ed37e05.png

onItemExpand(boolean b):在这里判断卡片是否被点击,true就将卡片展开:

9e220679e054c6b9a044e9035bcd425d.png

onBind(Integer data, int position):根据 item 的 position 来加载卡片内的内容:

c6650bbd2686c7af9af4754c966b6b51.png

bindView(Integer data, int position, CardStackView.ViewHolder holder):调用 onBind() 来加载布局:

8fa9264a3040bad229135fed492c8d04.png

5.在 MainActivity 中将 CardStackView 初始化,因为我是在 Fragment 中写的,在此,附上我的 Fragment 中的代码:

ef634363cc0850507ba492e88635b06e.png

先初始化一组颜色的数组,因为 TestStackAdapter 中根据传入的颜色数组来将卡片的片头附上颜色.

利用handler来进行延时更新卡片内的内容,先将CardStackView实例化,在利用 adapter.updateData() 来进行 CardStackView 的内容更新.

CardStackView的item展开监听事件(通过 implement CardStackView.ItemExpendListener):

CardStackView 的简单使用就到此了,如果对此有兴趣的话,可以自行研究一下源码,也可自己写个CardStackAdapter,因为源代码的TestStackAdapter是继承自CardStackView.Adapter<>的

这是小猿写的效果图:

24665f13a07b506cdaad8943e9e06160.png

更多

166167020_659256

责任编辑:

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Bootstrap的响应式布局导航栏自动折叠隐藏效果可以通过以下步骤来实现: 1. 在HTML文件中添加导航栏代码,使用Bootstrap提供的样式类实现基本的导航栏布局。 2. 使用Bootstrap提供的“navbar-toggle”样式类,创建一个按钮,用于在小屏幕设备下展开或者收起导航栏。 3. 使用Bootstrap提供的“collapse”样式类,来实现导航栏内容的自动折叠隐藏。在按钮上添加“data-target”属性和“#navbar-collapse”值,来指定需要折叠的导航栏内容。 4. 使用Bootstrap提供的JavaScript库,实现导航栏按钮的点击事件,使得点击按钮后可以展开或者收起导航栏内容。 下面是一个实现响应式布局导航栏自动折叠隐藏效果的示例代码: ``` <nav class="navbar navbar-default"> <div class="container-fluid"> <div class="navbar-header"> <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar-collapse"> <span class="sr-only">Toggle navigation</span> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> <a class="navbar-brand" href="#">Brand</a> </div> <div class="collapse navbar-collapse" id="navbar-collapse"> <ul class="nav navbar-nav"> <li class="active"><a href="#">Home <span class="sr-only">(current)</span></a></li> <li><a href="#">About</a></li> <li><a href="#">Contact</a></li> </ul> </div> </div> </nav> ``` 在上述示例代码中,“navbar-toggle”样式类创建了一个按钮,用于在小屏幕设备下展开或者收起导航栏。使用“collapse”样式类实现导航栏内容的自动折叠隐藏,并在按钮上添加“data-target”属性和“#navbar-collapse”值,来指定需要折叠的导航栏内容。 需要注意的是,为了使JavaScript库正常工作,需要在页面中引入Bootstrap提供的jQuery库和Bootstrap的JavaScript插件库。在HTML文件的底部添加以下代码,即可引入这两个库: ``` <script src="https://code.jquery.com/jquery-3.5.1.min.js"></script> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> ``` 通过上述步骤,即可实现Bootstrap的响应式布局导航栏自动折叠隐藏效果

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值