Android开发
ruancw
强者之路,我愿为卒,前进虽难,谁曾见我后退半步···
展开
-
Android 自定义RecyclerView 实现真正的Gallery效果
Android 自定义RecyclerView 实现真正的Gallery效果标签: AndroidRecyclerView自定义Gallery转载出处:http://blog.csdn.net/lmj623565791/article/details/38173061其实制作横向滚动的不得不说另一个控件,就是Google官方最近新增加的RecyclerView,据说转载 2016-05-09 17:38:08 · 192 阅读 · 1 评论 -
Android中使用CardView实现圆角对话框
前言:随着用户体验的不断的加深,良好的UI视觉效果也必不可少,以前方方正正的对话框样式在APP已不复存在,取而代之的是带有圆角效果的Dialog,之前设置对画框的圆角效果都是通过drawable/shape属性来完成,随着Google API的不断更新,API 21(Android 5.0)添加了新的控件CardView,这使得圆角的实现更加方便快捷。效果图:导入CardView依赖(API 21...原创 2018-06-06 18:07:09 · 4284 阅读 · 0 评论 -
Android自定义带popupWindow的二级菜单筛选控件
前言:近期项目重构,公司对项目结构进行了调整,增加了条件筛选的功能。在网上也看到了很多自定义的控件实现类似美团的附近筛选功能,实现方式基本都是自定义view继承自LinearLayout等布局控件,于是自己在Button的基础上添加了popupWindow并进行了简单封装,使用RecyclerView展示数据,实现了带二级菜单的筛选功能。效果图:实现方式:(1)继承自AppCompatButton...原创 2018-05-31 15:41:12 · 3055 阅读 · 0 评论 -
Android开发之MVP模式
前言:Android开发中有很多的设计模式,MVP模式无疑是现在最流行的模式之一。MVP模式有效的降低了项目的复杂性及耦合性,view与model间完全解耦,通过presenter作为中间的连接纽带,降低了view的复杂性及view与model耦合程度,使的项目逻辑更加清晰,方便后期的修改与维护。MVP:Model--View--Presentermodel:用于数据的处理,如请求网络数据等vie...原创 2018-06-08 15:17:32 · 221 阅读 · 0 评论 -
Android自定义PopupWindow实现流式布局筛选控件(一)
前言:因公司项目重构需要,添加了二级菜单筛选及类似商品分类筛选的功能。上一篇文章介绍了带二级菜单的筛选控件,今天介绍类似流式布局的筛选控件,该控件继承自PopupWindow,并解决了高版本的显示问题。本篇文章的控件只能实现单选效果,《Android实现类似京东筛选的流式布局标签(可单选/多选)》通过自定义GridLayout实现可设置单选/多选的流式布局筛选效果,有兴趣的可以移步到此文章查看。...原创 2018-06-01 17:18:32 · 3874 阅读 · 0 评论 -
Android自定义View实现圆弧进度效果
前言:Android开发中,自定义View实现自己想要的效果已成为一项必备的技能,当然自定义View也是Android开发中比较难的部分,涉及到的知识有Canvas(画布),Paint(画笔)等,自定义控件分为三种:一是直接继承自View,完全的自定义;二是在原有控件的基础上进行改造,达到自己想要的效果;还有一种就是自定义组合控件,将已有的控件根据自己的需要进行组合实现的效果。本人对自定义View...原创 2018-06-20 14:38:57 · 5328 阅读 · 1 评论 -
Android自定义View实现渐变色仪表盘效果
前言:最近一直在学自定义View的相关知识,感觉这在Android中还是挺难的一块,当然这也是每个程序员必经之路,正好公司项目要求实现类似仪表盘的效果用于直观的显示公司数据,于是就简单的写了个demo,记录实现的过程。上篇《Android自定义View实现圆弧进度效果》简单记录了圆弧及文字的绘制,渐变色的仪表盘效果将更加升入的介绍canvas及paint的使用(如画布旋转,paint的渐变色设置等...原创 2018-06-20 17:18:02 · 4503 阅读 · 2 评论 -
自定义带取景框的camera
前言:公司项目需求,在图像信息采集时只采集肩部以上部位的图片(和我们平时的一寸证件照很像),首先想到的是用第三方的图片选择器,他们都自带裁剪功能,不过每次拍完照后的手动裁剪,结果老大说简化业务人员的操作,不过这也难不倒无所不能的程序猿,没有咱们可以new一个(女朋友)。言归正传,开启我们的自定义带取景框的camera...转载链接:https://blog.csdn.net/ruancw/ar...原创 2018-04-12 12:07:02 · 7292 阅读 · 22 评论 -
Android自定义GridLayout实现流式布局热门标签(可单选/多选)
前言:最近一直忙与公司项目开发维护,已经N久没有记录过项目的技术实现与问题(其实还是由于太懒)。之前项目中也有自定义的流式标签筛选控件只能单选,不过项目重构需求改变,需要能多选标签(之前也有人问过如何实现,当时只是大概说了思路,敢问苍天饶过谁)。本篇文章记录自定义GridLayout实现无标题的流式布局标签,根据属性可自行设置单选还是多选,并且能重置数据。效果图:无标题流式标签筛选技...原创 2019-04-30 10:25:41 · 1794 阅读 · 1 评论 -
Android网络请求Retrofit2+Rxjava2+Okhttp3的简单封装
前言:Retrofit2+Rxjava2+Okhttp3的网络请求框架无疑是当前最流行的网络请求方式,retrofit负责请求的数据结果,rxjava负责线程间的调度,okhttp负责数据请求的过程,Retrofit2+Rxjava2+Okhttp3三者完美的切合使得其功能更加强大,简单记录下在项目中使用时的简单封装。1.导入依赖implementation 'io.reactivex.rxjav...原创 2018-05-24 17:30:25 · 2475 阅读 · 0 评论 -
Android:TabLayout+ViewPager+Fragment实现底部导航
前言:最近项目重构,整体架构还是采用的底部导航切换页面实现。之前的一篇文章介绍了kotlin中使用BottomNagivationView实现的底部导航效果,今天记录下TabLayout+ViewPager+Fragment实现底部导航的过程,当然底部导航实现的方式有很多,今天不做过多介绍。先上效果图:1.导入依赖TabLayout是Android Support Design库的新控件(API2...原创 2018-05-29 14:53:03 · 1061 阅读 · 0 评论 -
AndroidStudio中Git更新错误:Can't update: no tracked branch
前言:在码云创建一个代码仓并关联本地代码后,拉取代码时出现Can't update: no tracked branch错误,所以记录下git的环境变量配置及错误解决过程。1.配置Git环境变量(1)查找git的bin文件安装目录,如:C:\Program Files (x86)\Git\bin(2)在系统环境变量PATH中加入;C:\Program Files (x86)\Git\bin(3)在...原创 2018-05-24 16:15:38 · 2152 阅读 · 0 评论 -
AndroidStudio创建的项目与码云(OSChina)远程代码仓关联(图解)
前言:本文默认AndroidStudio已经配置git插件,如果未配置,请自行配置安装。码云操作:建立托管的远程代码仓注:oschina免费创建的项目个数为1000.1.打开浏览器,登录码云(oschina),点击个人主页的红色标记处,弹出选择下拉框2.在弹出的下拉选择框中点击“新建项目”3.点击“创建”,完成项目的创建4.点击“克隆/下载”,复制远程代码仓的地址(AndroidStudio托管项...原创 2018-04-11 16:40:10 · 1889 阅读 · 0 评论 -
Kotlin项目中使用ConvenientBanner实现轮播图
前言:Banner(轮播图),对于Android开发者来说并不陌生,市面上的APP基本都集成了banner这一功能,我们公司的项目也不例外。kotlin,我们也不陌生了,随着Google 在2017 IO大会上宣布Kotlin正式被作为Android开发的官方语言以来,使用kotlin开发的项目也逐渐多了起来。本文只是记录下本人在kotlin项目中的ConvenientBanner的使用。1.项目...原创 2018-04-25 12:48:43 · 1556 阅读 · 1 评论 -
Android:MQTT协议推送消息之机顶盒项目(TV)
前言:由于公司是做家校安全方面的,所以就有了学生考勤的需求。服务器端接收到学生的考勤刷卡信息后采用MQTT协议推送消息到客户端,客户端(TV)接收到推送消息后获取消息内容,将学生考勤刷卡信息展示到TV上。消息推送方式有持久连接(XMPP协议,MQTT,C2DM等)和轮询等方式。本文将介绍轻量级的MQTT协议在Android客户端的实现方式。原理:MQTT:Message Queuing Telem...原创 2018-05-18 16:53:39 · 794 阅读 · 0 评论 -
Kotlin项目中使用BottomNavigationView实现底部导航效果
前言:底部导航切换页面一直是app开发的首选,这样既有利于页面的布局及功能模块的展示也有利于开发人员进行分模块的协同开发,现在大到与我们每天生活息息相关的支付宝与微信,小到普通的app都有底部导航切换页面的效果。本篇文章记录在kotlin项目中使用BottomNavigationView+ViewPager+Fragment实现底部导航切换页面效果。实现方式以下便是实现底部导航切换页面的五种实现方...原创 2018-05-03 17:38:26 · 2351 阅读 · 0 评论 -
Android自定义PopupWindow实现流式布局筛选控件(二)
前言:在上一篇文章中介绍了自定义PopupWindow实现流式布局效果的筛选控件,基本的效果已经实现。但本人在项目中使用时发现了一个小Bug(可能也不算bug,不过使用返回的筛选条件时可能会麻烦点,需要自己设置未点击的tab对应的请求参数,如果未作处理就会默认上次的请求参数),就是在自定义PopupWindow的监听接口返回数据时,未被点击的tab不会添加数据到返回的数据列表中,即不会添加默认选中...原创 2018-06-03 16:06:18 · 1061 阅读 · 0 评论 -
Android:BroadcastReceive实现网络状态实时监听
前言:最近公司项目重构,为了提高用户的体验,项目中要求添加当前网络状态的实时监听,以便在无网络状态时给用户友好的提醒并修改UI界面。本文将介绍使用四大组件之一的BroadcastReceiver实现全局的网络状态监听,使用动态方式注册。BroadcastReceiver的注册方式:(1)动态注册:即在代码中使用registerReceiver()方法进行注册,动态注册需要在onPause或onDe...原创 2018-05-28 15:11:11 · 5890 阅读 · 7 评论 -
Android自定义Dialog实现通用圆角对话框
前言:圆角对话框在项目中用的越来越多,之前一篇文章有介绍过使用系统的AlertDialog+CardView(Android中使用CardView实现圆角对话框)实现了圆角对话框的样式,今天介绍自定义Dialog实现通用的圆角对话框。效果图:1.继承自AlertDialog,重写onCreat/** * Created by ruancw on 2018/6/7. * 自定义的带圆角的对话框...原创 2018-06-11 16:01:37 · 7908 阅读 · 0 评论 -
Android实现类似京东筛选的流式布局标签(可单选/多选)
前言:很久以前的一篇文章《Android自定义PopupWindow实现流式布局筛选控件(一)》使用原生的GridLayout的实现了流式标签筛选控件不过只能单选,因为项目重构需求改变,需要能多选标签,类似京东的多条件筛选。本篇文章记录自定义TypeLabelGridLayout实现带标题类型及分割线的流式布局标签,根据属性方法可自行设置单选还是多选,是否默认选中首项等功能,并且能重置数据。效...原创 2019-05-04 13:44:30 · 2310 阅读 · 1 评论