flutter 自定义card阴影效果及card使用

所属分类: 软件编程 / Android 阅读数: 48
收藏 0 赞 0 分享

最近在用flutter写web程序,简直是炼狱模式。。然后遇到个需求,原本的Card阴影无法满足产品需求,需要像IOS 那种超级高大上的,似影非影的效果。。(简直分分钟想打死产品)

一开始,当然都是百度了,于是百度到了一个方法:BoxShadow!

于是高高兴兴开干了,代码如下

嗯。。。看上去好像没啥毛病,Y轴方向偏移7,blurRadius:模糊延申14,spreadRadius:不模糊的不要延申,为0

跑到安卓的浏览器上

简直Perfect!!!完工交差。。。(just我以为)

看到测试淫笑的眼神,我就知道了自己的图样图森破,他拿着自己高大上的iPhone给我截了个图:

WTF???我的模糊效果呢,怎么木有了。。

一开始以为是safari模拟器不兼容,然后看了看Card原本的效果,好像也是有模糊的。。于是定位,肯定BoxShadow的问题!只能搜寻源码,名字一目了然:

纳尼??为什么只管了spreadRadius,blurRadius视而不见。。

没办法,只能再从官方的Card入手了,查看build方法,这里提示一下,看源码的时候可以查看自己需要的线索,比如Card里只有elevation方法是和阴影有关的,就顺着elevation寻找,找到build方法

再看Material还有哪些参数

这不是都有嘛。。。再往下就是renderObject相关的东西了,于是就没再深究了,再修改一下代码

这下终于Perfect了!

补充:下面看下flutter card使用

//关键代码

new Card(
    elevation: 15.0, //设置阴影
    shape: const RoundedRectangleBorder(borderRadius: BorderRadius.all(Radius.circular(14.0))), //设置圆角
    child: new Column( // card只能有一个widget,但这个widget内容可以包含其他的widget
     children: [
      new ListTile(
       title: new Text('标题',
         style: new TextStyle(fontWeight: FontWeight.w500)),
       subtitle: new Text('子标题'),
       leading: new Icon(
        Icons.restaurant_menu,
        color: Colors.blue[500],
       ),
      ),
      new Divider(),
      new ListTile(
       title: new Text('内容一',
         style: new TextStyle(fontWeight: FontWeight.w500)),
       leading: new Icon(
        Icons.contact_phone,
        color: Colors.blue[500],
       ),
      ),
      new ListTile(
       title: new Text('内容二'),
       leading: new Icon(
        Icons.contact_mail,
        color: Colors.blue[500],
       ),
      ),
     ],
    ),
    ),
更多精彩内容其他人还在看

Android实现信号强度监听的方法

这篇文章主要介绍了Android实现信号强度监听的方法,是Android手机中很常见的一个实用功能,需要的朋友可以参考下
收藏 0 赞 0 分享

Android实现Activity界面切换添加动画特效的方法

这篇文章主要介绍了Android实现Activity界面切换添加动画特效的方法,非常实用的技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

Android中Dialog去黑边的方法

这篇文章主要介绍了Android中Dialog去黑边的方法,需要的朋友可以参考下
收藏 0 赞 0 分享

Qt for Android开发实例教程

这篇文章主要介绍了Qt for Android开发的方法,具有一定的参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

Android开发之时间日期操作实例

这篇文章主要介绍了Android开发之时间日期操作,是Android程序开发中常见的一个功能,需要的朋友可以参考下
收藏 0 赞 0 分享

Android开发之时间日期组件用法实例

这篇文章主要介绍了Android开发之时间日期组件用法,主要介绍了TimePicker和DatePicker组件,对于Android程序开发有不错的借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

Android开发之获取网络链接状态

这篇文章主要介绍了Android获取网络链接状态的方法,主要是通过ConnectivityManager类来完成的,需要的朋友可以参考下
收藏 0 赞 0 分享

Android开发之广播机制浅析

这篇文章主要介绍了Android开发之广播机制浅析,主要包括了发布、接收及配置广播的实例,需要的朋友可以参考下
收藏 0 赞 0 分享

Android开发之登录验证实例教程

这篇文章主要介绍了Android开发之登录验证实现方法,包括发送数据、服务器端验证、配置文件等,需要的朋友可以参考下
收藏 0 赞 0 分享

Android开发之注册登录方法示例

这篇文章主要介绍了Android开发的注册登录方法,是针对Android程序设计中版本兼容性的进一步完善,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多