Android
Fantasychong丶
你好,我是大牛!
展开
-
Android开发丶实现一个可以输入可以下拉选择的EditText输入框
接到个需求,登录界面需要做一个显示历史登录账号的功能,即用户名输入框即可以手动输入,也可以通过展示的下拉框从而选择以往登录的账号,呃,有点拗口?效果大概就是这样的如图所示,我们点击文本输入框时,就可以显示一个底部列表,这块我们也可以根据项目实际需求把列表放在一个dialog弹窗里,此时既可以手动输入也可以点击列表,点击列表后,列表会自动消失,当下次输入时,它又会显示出来。下面说下实现步骤:1.首先在xml文件里,放一个EditText和listview。activity_main.xml原创 2020-08-06 11:18:46 · 4161 阅读 · 6 评论 -
Android开发丶调用百度高德腾讯等第三方地图进行导航
地图导航是一种很常见的功能了,一般我们都是通过集成第三方地图app,诸如百度地图、高德地图和腾讯地图来实现,相应的开放平台也提供了SDK自带的方法实现,不过这种方法需要去下载SDK,申请appkey等一系列比较繁琐的操作,相比这种方法,我们可以用更为便捷的URL调起地图app,仅需几行代码即可。首先看下效果图下面说下实现步骤1.我们给视图xml文件放上三个按钮,看着直观些...原创 2020-04-14 14:15:42 · 1505 阅读 · 0 评论 -
Android开发丶HoneyWell设备的二维码扫描实现
前一段时间做了个项目,功能是要求在honeyWell设备上实现二维码扫描的功能,那么有人会问了,这设备是干嘛的,和Android有什么关系,其实这种设备也搭载了Android系统,因此我们可以把Android app安装到该设备上,并且该设备会有专用的扫描枪,主要用于仓库物流相关的事宜,无奈网上相关的资料实在太少了,官网打不开,文档是英文,好在经过一番摸索,最后找到了能用的资源SDK,话不多说,步...原创 2020-03-17 17:45:47 · 3629 阅读 · 10 评论 -
Android开发丶万能适配器BaseQuickAdapter和刷新控件SmartRefreshLayout搭配Recyclerview实现列表界面
几乎每个app都离不开列表界面,实现的方式也是各种五花八门,随着技术的日新月异,各种相关的控件封装的也越来越彻底,功能越来越强大,本文则详细记录了时下最火的万能适配器BaseQuickAdapter、刷新控件SmartRefreshLayout搭配Recyclerview实现列表的步骤。国际惯例,先看效果图:1.首先我们引入各类依赖打开build.gradle//recycl...原创 2020-03-09 10:34:38 · 2711 阅读 · 0 评论 -
Android开发丶调用百度地图进行导航
开发过程中,遇到这样一个需求,指定起始和终点站,然后从app内部调起百度地图进行导航,网上相关的方法很多,但是很多都不太好使,官方的文档记录也不是很详细,经过一番折腾踩了一些坑,总算是将其实现了,特此做下记录!步骤如下:1.首先是新建一个AndroidStudio项目,然后去百度地图开放者平台注册项目,获取到ak值。2.在百度地图开放者平台下载sdk,注意,常用的唤醒百度地图来进行导航...原创 2020-01-08 14:50:19 · 5560 阅读 · 5 评论 -
Android开发丶从相册中选择照片,调用摄像头拍照以及录制小视频
在日常开发过程中,这三种功能是再常见不过了,网上相关的文档也一大堆,不过未免让人眼花撩乱,因此记录做下整理!(PS:目前相册选择照片和调用摄像头拍照已经实现了压缩,录制小视频暂未实现,哪位大佬有好的建议,请指教!)实现步骤:1.新建一个AndroidStudio项目。绘制MainActivity的xml文件,这里为了直观,我们放上几个按钮和图片就行。main_activity....原创 2020-01-07 15:42:54 · 2536 阅读 · 1 评论 -
Android开发丶基于高德地图实现定位、搜索定位、绘制圆圈自定义图标及改变圆圈半径等功能
前一段时间接了个需求,进入一个地图界面,可以获取当前位置信息,通过输入位置信息获取位置,绘制圆圈并可以实时改变圆圈半径等功能,地图SDK我们使用的是高德地图,仔细阅读了开发文档,发现这些需求都可以通过SDK自带的方法来实现,在此做一下整理。下面说下实现流程1.打开AndroidStudio新建一个测试项目,新建一个签名文件testkeystore.keystore。步骤如下:点击B...原创 2019-11-06 10:15:45 · 7707 阅读 · 1 评论 -
Android开发丶列表底部列表弹窗Dialog同时包含选择和自适应高度功能
前一段时间接到一个需求,点击弹出一个底部弹窗,弹窗的内容以列表的方式来呈现,同时包含选择条目和自适应以及固定高度,需求不难,就是一些细节的东西绕了一些弯路,现在做下汇总。国际惯例,先看下效果图。下面说下实现方法。1.首先新建一个dialog的style。<!--底部弹窗--><style name="DialogStyle" parent="android...原创 2019-10-31 16:26:02 · 2828 阅读 · 0 评论 -
Android开发丶基于MPChart的饼状图统计实现
经过没日没夜的加班加点,项目终于如期上线了,在下个迭代即将来临蹂躏之余,将本次迭代遇到的一些问题进行汇总以便学习。遇到一个需求,将统计数据以饼状图进行统计,这块我们引用了一个第三方类库,官方地址如下:https://github.com/PhilJay/MPAndroidChart该类库可以提供丰富的各类图表实现,如折线,饼状,柱状等,这里我们看下饼状图的效果:效果还行吧,左边...原创 2019-10-28 11:47:48 · 1107 阅读 · 0 评论 -
Android开发丶商城购物车模块(含demo超详细)
这篇博文详细描述了从零开始实现购物车,使用的控件很简单,就一个ExpandableListView,避免了嵌套,操作更简单方便。先看看效果吧。怎么样,很棒吧,如图所示,主要有店铺名称,商品价格,数量,图片,底部有总价格和结算(删除)按钮。1.那我们先把常用的控件添加依赖,这里主要就是用一个第三方的刷新控件smartRefreshLayout。刷新控件:com.scwang.sm...原创 2019-06-27 11:15:14 · 2500 阅读 · 0 评论 -
Android开发丶集成微信原生分享并于分享网页时加载网络缩略图
微信分享也是一项很常用的功能了,以往都是用友盟或者mobShareSDK框架来实现的,这两者在微信官方的sdk基础上封装的很好,并且加入了一些很实用性的功能,不过这次因为只有微信平台的分享,而且微信登录也是基于微信官方的原生SDK的,所以我们就不用再去大费周章地使用友盟和mobsharesdk了,而且也可以学习些新的东西,经过一番折腾调试,成功地把分享集成成功了,期间也遇到了一些坑,而且微信官方的...原创 2019-06-24 09:26:15 · 4010 阅读 · 5 评论 -
Android开发丶自定义Dialog并设置宽高适应子布局XML
Dialog是我们做项目很常见的一项功能点了,一般的文字弹窗原生的dialog就可以帮我们实现,然而在实际开发过程中,因为弹窗布局较为复杂,充斥着各种控件,这时候原生的Dialog显然就不能满足我们的需求了,所以我们要自定义修改一番,近期正好做了些这方面的东西,也遇到了一些坑,特此整理出来!万年不变的国际惯例——上效果图好像丑了点,哈哈。。问题不大。简单分析下界面,共有1个Text...原创 2019-06-24 09:26:32 · 3680 阅读 · 2 评论 -
Android开发丶集成微信原生登录
好久没写博客了,大概是与ReactNative大战半月已经有点疲惫了,说起集成微信三方登录,还记得上次实现功能还是刚参加工作时,用Mob的ShareSDK来集成实现的,该平台集成了数个主流平台的分享和登录功能,本来想继续抱着Mob大佬的大腿,后来觉得本项目也只集成一个微信登录而已,相比MobShareSDK,不需要再去申请额外的账号,所以最终还是决定入坑原生来将其实现,查阅了官方文档和相关资料,最...原创 2019-06-24 09:27:25 · 26810 阅读 · 78 评论 -
Android开发丶自定义带EditText的AlertDialog
现在有个功能点,点击某个按钮需要弹出一个带有EditText的AlertDialog弹窗,实现起来并不难,简单记录下方便以后使用。国际惯例,效果图走起:下面是实现步骤1.首先画自定义的布局,我们给里面放了四个TextView、一个EditText。dialog_choosepage.xml<?xml version="1.0" encoding="utf-8"?&g...原创 2019-06-24 09:27:52 · 4305 阅读 · 4 评论 -
Android开发丶基于mupdf在Android设备上横竖屏查阅pdf文件
有个需要下载pdf文件后查看的功能,而且要完成首尾页跳转,横竖屏查看,恢复屏幕缩放比例的功能,查阅了相关的资料,发现相对比较缺失,大概是市面上相关需求不多,不过既然我们接到了这个需求,就要把它实现。主流有以下几种框架1.JoanZapata/android-pdfview2.barteksc/AndroidPdfViewer3.MuPDF本人将以上多种框架都进行整合测试,发现了...原创 2019-06-24 09:28:44 · 1970 阅读 · 0 评论 -
Android开发丶一步步教你实现okhttp带进度的列表下载文件功能
大家好,我又回来了!标题好像又起的不知所云,但是貌似也想不起更好的标题,看看效果图现在有个文件列表,每个列表标签都有一个下载的按钮,点击以下载对应的文件,如果已下载则显示“已下载”,反之显示“点击下载”。首先我们使用okhttp框架下载文件,并且使用progressDialog显示下载进度,至于界面主列表,则是高端大气上档次的RecyclerView,啥?你还告诉我你用listVi...原创 2019-06-24 09:30:05 · 4842 阅读 · 4 评论 -
Android开发丶底部导航栏
在主流app中,应用的主界面都是底部含有多个标签的导航栏,点击可以切换到相应的界面,如图:接下来将描述下其实现过程。1.首先是分析界面,底部导航栏我们可以用一个占满屏幕宽度、包裹着数个标签TextView、方向为横向horizontal的线性布局LinearLayout。上方则是一个占满剩余空间的FrameLayout。activity_main.xml<?xml ...原创 2019-06-24 09:30:21 · 21605 阅读 · 37 评论 -
Android开发丶二级列表的联动功能实现
通常我们在外卖或者商城app会看到竖排二级列表的界面,点击左边列表的分类菜单,右边列表则会显示对应分类下的列表内容,这篇博文将对该功能的实现归纳和整理。首先看下效果图:在第一个页面选择最多三个标签,将书局塞到数组里返回上一个页面,然后就可以按照需求完成一系列操作。下面说下实现步骤:1.首先分析界面,是两个等比宽的列表,推荐使用recyclerview,右上角用来记录选择的标签个...原创 2019-06-27 11:15:46 · 9297 阅读 · 0 评论 -
Android开发丶带有类型的列表功能实现
标题乍看起来有点不知所云,话不多说,效果图附上每个大标签分为数个小标签,顶部有个类型title,点击每个小item会触发相应位置的点击事件,欧了,流程走起来~~~1.首先当然还是画UI啦,分析界面,只是一个列表,这里我们用RecyclerView。activity_main.xml<?xml version="1.0" encoding="utf-8"?><...原创 2019-06-24 09:30:37 · 3065 阅读 · 0 评论 -
Android开发丶历史界面时光轴的实现
一般在资讯类app的项目需求中,我们会经常面临着历史界面,呈现浏览记录等等,一般在每条资讯上面都会出现一个时间,当我看到时光轴这种界面,瞬间被吸引到了,觉得这么炫酷的效果,是不是用的什么开源库或者控件,于是在网上搜索了大量资料,但是发现却比较匮乏,也许是我搜索的方式不对吧哈哈~~后来开发技能越加熟练后,仔细分析了该界面,发现其实不是什么太复杂的东西,手动就可以自己画一个,决定整理了下发出来。我们先...原创 2018-02-26 16:43:50 · 919 阅读 · 0 评论 -
Android开发丶使用DialogFragment实现炫酷的登录界面并实现DialogFragment与宿主Activity的通信
项目终于赶在2月8日收工了,单抗的这一个月尝试了很多新鲜的技术,并且取得了很不错的效果,现在距离放假还有几天,空闲之余决定做一下技术归纳。本文主要围绕着Dialogfragment这个控件在登录界面上的应用来展开描述,这个控件是谷歌官方推荐用来替代传统Dialog控件的,因其有着和fragment相似的生命周期,因此更好管理。一般来说,登录界面一般都是一个单独的Activity,然后通过inten...原创 2018-02-08 16:31:39 · 2372 阅读 · 0 评论 -
Android开发丶一个仿IOS的底部弹窗
在项目开发过程中,需要在个人中心模块点击用户头像使底部弹出弹窗,显示相机获取、相册获取等选项,这里本来想使用Android Material Design风格的界面,然而UI小姐姐不管三七二十一,要求界面风格和IOS保持一致,我擦。。。这是歧视我们Android吗,我们Android现在界面也很风骚炫酷的好吗?但是吐槽归吐槽,既然这方案也得到BOSS首肯了,那么就乖乖按照人家要求来吧,然而因为An...原创 2018-02-22 15:04:14 · 2020 阅读 · 0 评论 -
Android开发丶ExpandableListView嵌套GridView的实现
开发过程中有个需求,要做出一个折叠列表布局,每个列表条目下还有可以三图一行的列表,分析界面后,发现这个可以用现有的控件ExpanadableListView和GridView组合嵌套来实现,即ExpandableListView来战展示标题数据,gridview来展示内部图片,照着这个思路,很快就实现出来了,这里做一下整理归纳。 我们先看一下实际效果没展开前,初始状态,点...原创 2018-03-01 17:12:50 · 1376 阅读 · 0 评论 -
Android开发丶一个较为完善的搜索界面,包含了热门标签,清除输入框,搜索结果列表等功能
在资讯展示类app中,我们或多或少不能避免搜索这个功能模块,本文在常见的搜索功能基础上增加了热门标签,清除输入框等丰富用户体验的功能。我们看下效果。初始界面:点击任意一个热门标签的效果:点击文本输入框清除按钮的效果:下面详细讲下实现步骤:1.搭建布局之前,我们先写两个自定义view,一个是带清空按钮的文本输入框ClearEditTextView,一个是标签流布局LableLayoutView。Cl...原创 2018-02-24 16:16:43 · 1078 阅读 · 0 评论 -
Android开发丶谷歌官方刷新控件SwipeRefreshLayout下拉刷新的实现和上拉加载的拓展
刷新控件我们用的很多了,常见的有第三方刷新库PullToRefreshLayout和谷歌官方推出的SwipeRefreshLayout刷新库,自从后者推出后,使用频率越来越高,毕竟是亲儿子嘛,在稳定性,更新性上有着独天得厚的优势,然而可惜的是,后者只包括了下拉刷新,在有些需要上拉加载的地方怎么办呢?因此,这篇博文主要就围绕着该控件的使用方法和上拉加载的拓展而展开。我们先看下效果:第一次上传gif动...原创 2018-03-06 16:54:42 · 787 阅读 · 0 评论 -
Android开发丶将网络获取到的列表数据重新排序
现在有个功能点,需要把一个商城项目的菜单栏重新排序需求的顺序是这样的(暂时没图,用文字描述一下)实现方法:1.首先在代码中可以确定这是网络请求到的列表数据,然后以Gridview的方式呈现了,一般涉及到网络列表数据,都有一个相对应的字段bean,我们先打开它。2.可以看到频道的一些字段,比如id,name,list之类的3.这里我们新建一个sortFlag的int...原创 2019-06-24 09:25:29 · 625 阅读 · 0 评论 -
Android开发丶openinstall的集成和使用(推广二维码)
在项目开发过程中,负责的推广二维码模块需要加入openinstall三方框架,该框架可以在推广二维码中搭建一层上下级关系,加上一定的积分奖励,极大地提高了用户的推广热情,并且不同于以往常规的手动填写邀请码,该框架可以实现邀请码免填、携带参数等功能,以下对该框架的使用心得和步骤做下简单的归纳和整理。1.首先登录openinstall官方平台链接:https://www.openinstall...原创 2019-06-27 11:16:47 · 7319 阅读 · 1 评论 -
Android开发丶使用MobShareSDK完成第三方分享
第三方分享已经是项目中司空见惯的东西了,可以将app的内容分享到国内的各大主流平台,比如QQ、微信、新浪微博等,站在开发者的角度,既有各大官方开放平台推出的自家分享SDK,也有友盟、MobShareSDK等三方平台提供的整合框架,后者是将各主流平台的分享SDK进行整合并深度封装后呈现给用户,略去了用户逐步下载、调试、整合的烦恼,凭借着简洁、易操作、稳定的特性,成为了更多开发者的首选。这篇博文主...原创 2019-06-27 11:16:28 · 1469 阅读 · 0 评论 -
Android开发丶使用RxJava来完成自动轮播图
轮播图也是一个很常见的功能了,通常都置于App首页,每隔几秒就会切换下一张图片,等轮播完毕,则又会从第一张周而复始。这篇博文对该功能的实现做下归纳和整理。首先看下效果图接下来看一下实现步骤1.分析下界面,由可滑动的viewpager,标题textview,图片ImageView,右下角的小圆点(由LinearLayout线性布局包裹),包裹文字和圆点布局的透明黑色的布局。因此我们先...原创 2019-06-27 11:15:34 · 417 阅读 · 0 评论 -
Android开发丶渐变启动页和带有指示器的引导页
引导页是项目中很常见的东西了,在用户下载app首次打开后,会进入引导界面,通常都是三四张图片说明,简单介绍下app的功能和使用方法之类,最后一张有着“进入应用”的按钮,点击即可进入主页,之后打开app则不会再次进入启动页,话不多说,以下做个归纳。效果图:实现步骤:1.首先我们做个有渐变动画的启动页面SplashActivity在onCreate里设置核心方法setAlphaAn...原创 2019-06-27 11:16:20 · 1117 阅读 · 0 评论 -
Android开发丶双击退出应用
双击退出应用在项目中很常见了,下面简单做个归纳//监听按下某个按键后抬起的方法@Overridepublic boolean onKeyUp(int keyCode, KeyEvent event) { //当按下的是后退键并且是抬起的动作 if (keyCode== KeyEvent.KEYCODE_BACK&& event.getAction()== ...原创 2019-06-27 11:16:10 · 389 阅读 · 0 评论 -
Android开发丶使用RxJava来完成倒计时功能
RxJava是在2016年左右火起来的,现已成为各大项目平台必用的框架,通常与MVP模式、Retrofit网络框架组合起来,为开发者提供更为强大,稳定的开发基础框架,还记得熟悉mvc开发的我第一次见到该框架时,初识繁琐,后知其妙,接下来简单做下有关倒计时功能的整理,一般在注册模块中,给新手机号发送验证码会用得到,本文仅提供倒计时的方法,相关请求验证码下发接口的功能需要大家自己去请求集成。效果图...原创 2019-06-27 11:15:58 · 1658 阅读 · 0 评论 -
Android开发丶带有选择功能的列表功能的实现
一般在开发过程中,我们会遇到这种需求,对列表的某些条目进行点选,然后进行下一步操作,一般列表控件都没该功能,这里就需要我们去自定义了,本篇博文将进行归纳和总结。先看下效果图下面说下实现步骤1.按照国际惯例,分析界面,画布局核心控件就是这个列表了,这里我们当然是用RecyclerView啦<?xml version="1.0" encoding="utf-8"?&...原创 2019-06-24 09:30:54 · 3877 阅读 · 5 评论 -
Android开发丶使用DialogFragment完成炫酷的弹窗登录界面并完成DialogFragment与宿主Fragment的通信
在上篇文档中,我主要记录了通过接口回调实现了DialogFragment与宿主Acitivity的通信,但是在实际开发过程中,登录界面往往是从“我的”这个Fragment打开的,这里发现接口回调不是很好用,查阅了很多文档,都没有很好的解决办法,因此,怎样把输入的账户名和密码由DialogFragment传递给宿主Fragment以便完成进一步的网络请求等操作就成了我们亟待解决的问题,这里我们通过s...原创 2018-02-09 15:11:29 · 18951 阅读 · 0 评论