取消 提交

自定义博客皮肤

-+
我也要用
排序:
按最后发布时间
按访问量
RSS订阅

原创 Flutter 城市/通讯录列表字母索引联动效果实现
原力计划

在像通讯录,联系人列表,城市选择列表等数据量比较多的长列表页面中国呢,我们经常会留意到产品设计会在页面的右侧区域提供一个竖向的字母索引列表,供用户点击选择快速定位到长列表中的指定索引位置,以便于用户快速定位到自己要筛选的数据,从而提升用户体验,今天我们就以`城市列表`为例,来剖析一下,这样的体验效果如果用`Flutter`来实现

2020-04-30 10:57:50 1277

原创 Flutter 验证码倒计时Widget封装
原力计划

在日常开发过程中,像倒计时这样的场景使用的还是比较多的,比如延时完成一段逻辑,或者在启动页先加载一个闪屏广告,倒计时间到之后再进入app,更常见的场景就是我们在获取手机验证码时用于友好提示用户的等待试图。本次博文我们就一起来了解下基于flutter封装一个倒计时widget的全过程

2020-02-28 17:07:50 726

原创 Flutter入门进阶之旅(二十)Flutter插件开发

鉴于现阶段Flutter技术栈还不是太成熟,在使用Flutter做移动端开发时我们经常需要借助Native平台的力量来补充Flutter在这方面的缺陷,前面两章我们通过学习**把Flutter项目打包成AAR集成到原生平**跟**Flutter与原生平台交互**掌握了Flutter与原生平台交互的两种方式,但是有些场景下,我们希望我们Flutter跟原生交互的代码可以`一次开发多处使用`,类似于库文件一样,可以给其他项目或者其他开发着使用,这就是我们本篇文章要介绍的主题`Flutter的开发`以及`如何

2020-01-20 14:28:36 2343

原创 Flutter入门进阶之旅(十九)Flutter与原生平台交互

经过前面章节的学习,相信读者已经对flutter有了一个整体的认识,并且也能利用flutter平台提供的一些基础组件自己写一些简单的页面逻辑,甚至有些读者可能已经在用纯flutter开发属于自己的app了,但是可能好多读者都会感觉到有些场景下或者说有些原生平台的东西从flutter端是无法获取的,比如系统版本、电池电量、动态权限申请等系统级的API,flutter并没有直接给我提供相关的API去操作,这个时候我们可能就需要通过与原生平台交互来获取这些数据。

2019-12-31 08:35:32 1051

原创 Flutter入门进阶之旅(十八)Flutter项目打包成aar集成到原生Android项目

前言在前面的章节学习中我们已经掌握了从最基本的·hello flutter到各种基本Widget、各种布局的使用再到多页面切换路由的使用还有各种炫酷的提示跟dialog,还有关于网络请求库Dio的使用...

2019-10-31 08:53:34 4461 3

原创 Flutter入门进阶之旅(十七)Flutter dio网络请求

前面关于Flutter的讲解部分我把关于flutter的基础入门部分带着大家梳理了一遍,那从本篇博客开始,我们开始进入新的领域,也算是给进阶篇开个头,今天我们来一块学习一下Flutter中的网络请求库--->`Dio`,关于Flutter原生带的Http使用起来不论在功能上还是扩展上都不是那么的强大,鉴于此笔者在这里推荐大家在项目中使用`Dio`封装网络请求库。关于Http的使用读者可自行查阅资料学习

2019-09-29 10:58:33 1423 2

原创 VUE父子组件之间的传值

前言使用vue进行项目开发的时候,免不了组件之间的通信。父组件传递给子组件的值,子组件可以通过props获取。子组件想要改变数据,只能通过触发事件告诉父组件。今天的分享我们就通过实例代码来看下VUE中关于父子组件传值的具体方式1.父组件向子组件传值在开篇中我们提到父组件向子组件中传值,我们通过props从父组件传递到子组件中去,下面我们就结合代码来具体看下:父组件<template...

2019-07-22 15:17:53 1594 3

原创 Flutter入门进阶之旅(十六)Scaffold 脚手架

在本栏的前面章节的学习中,我们基本上把Flutter中所有的常用布局、组件包括多页面跳转路由都介绍过了,细心的读者可能会发现在前面的课程中我们每次新建一个Flutter Page的时候都会在根布局的build方法中直接return一个Scaffold然后,再通过配置Scaffold中的相关属性来快速的渲染页面布局:没错Scaffold的出现就是为了帮助我们实现基本的 Material Desig...

2019-05-17 14:38:26 1893 2

原创 Flutter入门进阶之旅(十五)ListView下拉刷新&上拉加载更多

上期回顾在上一篇博文中我们在介绍ListView跟GridView的时候,限于篇幅问题我们只讲解了此二者的简单的使用方法说明,关于一些在实际开发中更常用的细节问我们并没有来得及跟大家展开讲解,比如我们在使用长列表的时的下拉刷新或者上拉加载更多的逻辑处理,今天的这篇文章我们就来着重分析一下在flutter中我们是如果实现长列表的下拉刷新跟上拉加载更多操作的。...

2019-04-12 10:46:28 972 1

原创 Flutter入门进阶之旅(十四)ListView&GridView

在之前讲Layout Widget的文章中,我们掌握了基于不同的场景适当的选择不同的Widget来完成我们的布局要求,但是关于长列表的数据展示我们并没有做展开介绍,而长列表的身影几乎出现在日常生活中的任意一款APP中,鉴于它的重要性,所以我想单独作为一个章节来讲解长列表Widget—ListView&GirdView。...

2019-04-10 12:42:34 779

原创 WebView下拉刷新与SwipeRefreshLayout事件冲突解决

冲突分析:SwipeRefreshLayout是Android在Support.v4包中为我们提供的用户刷新UI的一个组件,大部分场景下我们会使用它包裹RecyclerView,在列表上下拖动到顶部时继续向下滑动视图触发刷新事件,我们可以通过给SwipeRefreshLayout设置OnRefreshListener通过回调方法onRefresh()来完成下拉刷新事件的监听动作。但是当我们把We...

2019-04-01 17:57:38 1268 5

原创 Flutter入门进阶之旅(十三)Flutter 路由

距离上一篇专栏已经过去好长时间了,小伙伴们都等急了吧,刚刚过了个年,笔者刚刚从吃喝睡的状态复苏回来,开始马不停蹄的进入到工作状态,题外话说的有点多,接下来我们开始进入我们本篇博文的主题Fluttter 路由。在本篇博文更新之前就有好多读者给我留言说专栏里讲到的东西都只能在一个页面上操作,涉及到多页面的时候不知道该怎么跳页或者不知道怎么给下一个页传值,那这期分享确实来的有点晚,通过本次的分享,读...

2019-02-20 15:33:58 1363

原创 Flutter入门进阶之旅(十二)Flutter 数据存储

前言之前的章节我们基本上把Flutter中基础部分的东西都做了简单的讲解,通过前面章节的循序学习读者也基本能完成一些简单的UI绘制并能利用Flutter处理一些简单的用户交互,读者可能也留意到,我们之前的章节中所学习到的内容并没有涉及到数据存储方面的操作,或者说,我们到现在为止并不知道在Flutter中数据应该怎么存,存在哪。本篇博文中笔者将会为大家解决这一疑惑。关于Flutter中的数据...

2019-01-26 14:39:41 6109 2

原创 Flutter入门进阶之旅(十一)Index&Chose

延续上一节的内容,上一节我们讲解了各种Dialog跟提示,其中包括轻量级跟非轻量级,我们了解到了像SnackBar、Tooltip、Dialog等各种具有提示交互作用的Widget,今天我们继续上一篇的内容,来一块了解一下各种用于进度显示的Widget跟checkBox等选择作用的Widget。...

2019-01-21 12:02:43 908

原创 借助Github Page把你的React项目部署到线上环境

引言一般我们部署前端项目都会自己搭或者租用一个服务器然后把项目打包成静态文件后部署到服务器上,再购买一个域名通过ip指向具体的服务器地址之后,然后就可以把项目对应的域名提供给别人访问了,如果是公司项目或者比较大的商用项目这很合乎情理,但是如果是个人项目的话,服务器跟域名也也算是一笔不菲的开销了,今天我就给个人开发者带来一种免费部署前端项目的解决方案。我今天来讲解下利用github page...

2019-01-15 16:40:46 3826 3

原创 Flutter入门进阶之旅(十)Dialog&Toast

做原生开发的时候,我们都知道要想让一个app做的活灵活现,与用户交互时有更棒的体验,各种样式美轮美奂的对话框跟提示是必不可少的,Flutter在设计对话框的时候充分考虑到了在UI上的体验,帮助我们设计了一整套的基于material design风格的对话框以及轻量级的用于提示的widget。看完上面的效果图,读者是不是也觉得这一套UI设计给人以很棒的体验,下面我们就逐一介绍下上图中出现的常...

2019-01-15 11:15:04 1110

原创 Flutter入门进阶之旅(九)StatelessWidget & StatefullWidget

引言在前面的学习中我们接触到了flutter中各种基本组件的使用,也学习了一些常用的布局排版方式,掌握了根据不同的UI widget合理的选用不同的Layout方式进行布局,但是我们好像在前面的学习中所有的UI都是静态的,没有任何交互式的体验,换句话说我们在之前所掌握的flutter知识都是比较死板的静态UI页,缺少了那么一点灵动性,那今天这篇文章就算是一个过渡,今天我会带领大家简单认识下fl...

2019-01-05 14:39:21 1194

原创 Flutter入门进阶之旅(八)Button Widget

引言上一篇博文中我们学习了GestureDetector,了解到借助GestureDetector可以赋予某些本身不具备点击回调的widget点击回调能力,完成跟用户的一些简单手势交互并作,上一篇博客中我们也提到了有些widget像RaisedButton和FloatingActionButton控件本身就有onPressed回调,当用户点击控件时触发回调。本篇博客中我们就把各种Button归类...

2018-12-26 17:49:42 858

原创 Flutter入门进阶之旅(七)GestureDetector

引言:GestureDetector在Flutter负责处理跟用户的简单手势交互,GestureDetector控件没有图像展示,只是检测用户输入的手势,并作出相应的处理,包括点击、拖动和缩放。许多控件使用GestureDetector为其他控件提供回调,比如IconButton、RaisedButton和FloatingActionButton控件有onPressed回调,当用户点击控件时触发...

2018-12-24 18:34:39 1627

原创 Flutter入门进阶之旅(六)Layout Widget

往期回顾:? ? ? ? 前面几期的专栏对大家来说学习起来还算轻松加愉快,我们简单认识了flutter这门新技术,并且尝试着学习了像Text、Image、TextField几个简单的Widget,并且我们用这几个Widget做了一些简单的交互,好像我们并没有注重Widget的显示位置跟排版,我们只是让他显示出来而已,然后要想把这些Widget组合起来放在一个渲染到整个手机屏幕上,我们需要合理的...

2018-12-21 18:11:56 959

原创 Flutter入门进阶之旅(五)Image Widget

往期专题回顾:? ? ? 前面我们学习了Flutter中用于文本显示的Widget,比如我们显示一行或者一段基本文字会用到Text Widget,如果需要跟Text设置样式,颜色等属性,我们可以通过给Text指定style来定制TextStyle中的样式来展示我们需要的效果,对于文本输入控件,我们学习了TextField,了解到可以通过TextField完成简单的文本输入需求,可以通过Inpu...

2018-12-03 18:26:46 931

原创 Flutter入门进阶之旅(四)文本输入Widget TextField

? ? ? ?上一篇文章中我们一起学习了什么是Text跟如何给Text设置字体样式以及Text Widget的一些常用属性Flutter入门进阶之旅(三) Text Widgets,通过对Text的学习我们了解到Text是用于显示文本的,如果对显示的文本有一些特殊的要求,比如字体样式,文字颜色我们可以通过TextStyle去给Text指定style来做个性化定制,这一点跟原生Android的Tex...

2018-11-29 14:37:02 1847

原创 Flutter入门进阶之旅(三)Text Widgets

Text Widgets是Flutter中一个十分常用的一个Widget,类似于Android平台下的TextView,几乎在每个App的UI中都会或多或少的出现它的身影,让我们去一睹Text的风采吧!简单Text使用import 'package:flutter/material.dart';void main() { runApp(new MaterialApp(home: n...

2018-11-19 13:34:21 1201

原创 Flutter入门进阶之旅(二)Hello Flutter

开题? ? ? ?好像几乎我们学习或者掌握任何一门编程语言都是Hello word开始的,本篇博文做为Flutter入门进阶的第一篇分享,我们也从最简单的Hello world开始,至于Flutter开发环境的配置,跟关于Dart语言的介绍,不是该专栏要讲解的内容,我就不详细做介绍了,读者可自行google或者百度了解一下。准备工作在开始之前我想先为大家介绍一下Flutter中两个常用...

2018-11-15 13:33:50 1462

原创 Flutter入门进阶之旅(一)-初识Flutter

什么是FlutterFlutter 是一个跨平台(Android 和 iOS)的移动开发框架,使用的是 Dart 语言。Flutter 的目标是用来创建高性能、高稳定性、高帧率、低延迟的 Android 和 iOS 应用。并且开发出来的应用在不同的平台用起来跟原生应用具有一样的体验。不同的平台的原生体验应该得到保留,让该应用看起来同整个系统更加协调。不同平台的滚动操作、字体、图标 等特殊的...

2018-11-14 16:15:35 2419 1

原创 WebView注入Js代码实现大图自适应屏幕点击图片预览详情

?开题:android中webview通过url加载网页时,如果web页恰巧没对手机做单独适配的话,那我们拿到的url直接通过loadUrl的方式加载到webview上很容易出现一些适配上的问题,即使你通过websetings设置网页自适应,也很难处理部分细节上的样式,特别是图片资源,部分css样式是按照pc端的适配去做的,load到手机上很容易出现样式问题,下面就拿网页上适配前跟适配后的网页...

2018-11-07 09:50:09 916

原创 自定义VIEW实现应用内消息提醒上下轮播

开题贴上这张图,相信我不解释今天分享的内容,大家也已经知道了,接下来我就结合代码为大家讲解一下,这个消息自动轮播VIEW的具体实现方式。需求分析:1.在ITEM上随着一条消息滑出之后,下一条消息自动滑入。2.消息轮播可循环3.ITEM上绑定点击事件,点击对应的ITEM,TOAST相对应的消息内容。实现分析:自定义VIEW继承自FrameLayout,利用Animatio...

2018-07-21 15:02:11 844

原创 关于Retrofit网络请求URL中含有可变参数的处理

开题:在此默认各位看官对Retrofit、以及Okhttp已经有过一定的了解及应用,所以今天我们不谈基础入门的东西,今天我们谈在Retrofit请求接口管理类中URL参数含有动态参数的处理方式。一般我们使用Retrofit大部分场景中URL都是以注解的方式静态声明的,即URL及path路径都是固定不变,可变部分作为方法的参数传入,那有一些特殊情况会要求我们再使用@GET()、或者@P...

2018-05-10 16:14:08 6130 1

原创 使用RecyclerView实现三级折叠列表

? ? ? ? 开题:RecyclerView可谓开发安卓比备的控件,用途跟强大之处自不用说,如果作为看官的你还不是太了解RecyclerView的具体使用,建议赶紧去补补知识。今天为大家分享的是在RecyclerView的基础之上扩展出三级折叠列表的具体实例,我还会跟以前的博文一样,结合我的实例代码跟大家边写边分析。? ? ? 实现分析:? ? ? ? ?? ? 1.首先三级列表归根结底还是一个...

2018-03-20 10:15:48 4492 1

原创 使用Android原生控件ProgressBar加载GIF

? ??开题: 在之前的一篇博文安卓自定义View实现加载gif图片中我为大家分析了利用android.graphics.Movie将GIF文件以Byte的形式引入来加载GIF,大体加载GIF的过程为:?引入Gif资源--->把gif转成byte--->利用Movie对象提供的方法计算出gif的时长---->通过onDraw不断的把更新之后的当前帧绘制出来。? ? ? ? 今天为...

2018-03-16 13:44:01 3048

原创 使用注解将EventBus封装抽取到基类

? ? ?引题:今天这篇博客主要分析的对3.0以上版本的eventbus进行封装抽取,关于eventbus的使用方法在此就不做介绍了,如果你还不了解eventbus是个什么东东,建议先学习下EventBus的使用方法,网上关于EventBus的入门博客烂大街了,我就不写相关的介绍性博文了。? ? ? 随着你的项目越做越大,你总是会考虑着不论是网络请求还是Intent跳转都会有一个统一的入口,即...

2018-02-03 10:18:33 2549 2

原创 Fragment中嵌套ViewPager数据空白页异常问题分析

开题思考:Fragment放ViewPager,ViewPager里面是fragment。第一次进入没问题,再次进入ViewPager的fragment时里面内容就没了,出现数据空白页异常问题。? ? ? ?? ?描述:activity中放了两个Fragment,分别为待审核页、已加入页;其中待审核fragment中利用viewpager放了三个fragment,分别为全部、审核加入、审核

2017-12-28 13:50:45 2288 1

原创 安卓自定义View实现加载gif图片

开题:加载GIF的场景在安卓开发中还比较常见,网上也有一些三方法的框架会支持对gif的加载,在上篇博客为大家推荐的图片加载库Glide也支持gif的加载Glide工具类的简单封装,今天给大家分享通过自定义View的方式加载GIf,通过此方式,避免了在java代码中对资源图片的操作,降低了代码的关注度,只需要把被加载的Gif资源文件在xml中声明即可。我采用的实现方式是Android自带的类 a

2017-11-26 09:28:16 1738

原创 glide工具类的简单封装

? ? 开题:其实对于图片请求框架,我一直推崇掌握并且熟练使用一个就好,早在很久之前我就对Universal-image-loader写过技术分享博客,鉴于它比较成熟,使用起来也比较稳定,所以在做项目时一般会首选Universal-image-loader,但是对于它如果不在整个项目中不做好规划封装,很容易造成代码冗余,正好最近在写新项目,所以打算尝试下另外几款比较有名的图片加载框架,做了一番对比...

2017-11-18 21:01:11 899

原创 自定义属性实现个性化的Switch开关

? ? ? ? 开篇之前先普及下Switch的一些常用的属性,便于我们对这些属性做自定义扩展常用属性:android:typeface="normal":设置字体类型 android:track="":设置开关的轨迹图片 android:textOff="开":设置开关checked的文字 android:textOn="关":设置开关关闭时的文字 android:thu...

2017-10-16 16:31:28 1037

原创 Android花样Text设置神器之SpanableString

? ? ? ?TextView在Android中几乎是再常见不过的控件了,几乎遍布在各个角落里,对TextView并没有什么技术点来做分析,但是有时候可能会需要你在项目中处理一些特殊字体,比如下划线,横穿线,亦或者是为TextView部分字体设置点击或者颜色背景等等,这点需求虽然不是什么难事,但是选不好解决方法真的会可能会让你折腾好久。说了这么多无非就是开篇引个题,下面为大家介绍SpanableS...

2017-08-13 21:45:13 5985

原创 安卓WebView与H5互调的简单实现讲解(一)

最近一直都在做webView与H5互调方面的开发,也就是大家通常所说的hybird app开发,正好赶上周末手头的事情基本处理完了,闲下来更了这篇博客,打算分两期介绍WebView与H5互调,今天先简单分析下安卓上webview与h5互调的简单实现,js代码采用本地代码讲解,我先把完整的示例代码贴上之后让大家有个大概的认识,在博客最后再对一些细节进行稍微简短的分析下。 ...

2017-08-12 17:03:57 924

原创 WebView调H5上传文件点击取消时无法再次响应H5上的选择文件事件

最近一直都在做与H5交互的事情,算是踩了好多坑吧,再加上个人原因好长时间没更博了,再次回到状态,于是乎更了这篇博客。项目中有需求WebView加载H5上页面,然后响应H5上的上传文件事件,由于安卓无法像IOS的那样直接调系统原生的接口,所以只能自己封装方法,再加上android M之后运行时权限的问题,像选文件或者拍照,这种敏感的事件都需要单独处理,总之好多坑。代码写完之后,测试的时候偶然...

2017-08-10 14:20:13 3771

原创 构造方法在枚举中的应用

枚举在使用的时候一般不需要构造方法,一般我们写枚举的时候,会简单这样写?public enum Number{ ONE, TWO, ThREE, FOUR;}???但是我们如果需要自定义枚举,要先定义变量,然后定义相应的构造,然后自定义枚举。如下定义一个用于标识网络请求结果状态的枚举,?public enum NetStatus...

2017-04-27 14:09:20 1203

原创 开源框架BadgeView的使用简介

在做聊天应用时,处理用户新消息时主流的聊天软件都会在消息的左上角或者右上角有一个小红点,并且里面有消息数量的提示,给人很好的交互体检,最近项目在移植聊天功能,感觉这个需求还是有必要加进项目中的,从github上发现一个比较好用的开源框架,简单易用,而且效果也挺好,所以推荐给大家使用。BadgeView像其他控件一样,可以直接在xml中声明,也可以在java中new出来。1.在xml中使用,...

2017-04-24 18:12:42 2727

提示
确定要删除当前文章?
取消 删除