![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
view
文章平均质量分 58
海象先生
Thinking More,Ask Why
展开
-
最简单靠谱的底部导航栏实现!!!
前言Android实现底部导航栏的方式很多,有5种实现方式。 作者使用过两种:RadioGroup+Fragment;FragmentTabHost;其中第一种更容易上手。实现效果目录创建RadioGroup监听,切换 Fragment创建RadioGroup <RadioGroup android:id="@+id/radiogroup" android:l原创 2017-11-12 20:17:42 · 1562 阅读 · 0 评论 -
自定义控件-5分钟手写计步器
前言自定义控件是每个 Android 应用开发者的必备技能,所以一起来试着手写自定义控件,挑战自定义 View 中最好玩的 onDraw.我们仿照 QQ 计步器的样式来做,主要熟悉画笔(Paint)的使用技巧在这里感谢红橙Darren老师的指导绘制步骤自定义属性继承 View绘制背景圆弧绘制前景圆弧绘制文字设置方法自定义属性 // 自定义计步器控件属性 &...原创 2018-12-06 18:11:31 · 268 阅读 · 0 评论 -
手写 BufferKnife -- Android Ioc 框架(ViewJet)
前言黄油刀(BufferKnife)使用注解声明控件,不再反复 findViewById,使得代码简洁高效。下面我们手撸一套ioc框架实现黄油刀的效果。Github 地址ViewJet 2.0 (View飞行器)特性BindView 注解声明控件对象自动绑定监听器Gradle 集成实现原理注解+反射注入属性注入方法使用教程添加 Gradle 依赖rep...原创 2018-11-06 23:28:35 · 241 阅读 · 0 评论 -
5分钟搞定PopUpWindow
前言最近在项目中用到了 PopUpWindow,并且在机型适配时发现华为等具有虚拟按键的手机在横屏状态时会造成 PopUpWindow 显示位置偏移的情况存在,最后完美解决了这个问题,所以把经验分享出来,看能否对你有用。弹窗有很多种实现方式,例如: 1. Dialog 2. DialogFragment 3. Fragment 4. PopUpWindow 5. List...原创 2018-09-01 13:47:47 · 297 阅读 · 0 评论 -
垂直摆放的进度条 VerticalSeekBar
前言近期在项目开发中,需要对原生的 SeekBar 进行自定义,因为原生 SeekBar 只能水平放置并且样子太丑了,哈哈哈。需求是构建一个垂直摆放的 SeekBar,所以借鉴了 CSDN 中某位大牛的代码,但当时忙于完成工作,忘记是哪位前辈写的了。话不多说,直接放图对,没错;就是图中调节亮度和音量的进度条,下面 po 出的代码只是垂直摆放控件,图片中具体样式需要自定义Ve...原创 2018-05-30 10:03:27 · 1143 阅读 · 1 评论 -
自定义 View 不难:带刻度线的 SeekBar(垂直方向)
需求实现垂直摆放根据容器大小均匀等分刻度实现长按监听思路将原本水平的 SeekBar 垂直摆放 添加长按接口根据等分的份数计算每份的长度使用 Paint 逐个画线实现因为有份数是变动的,我们需要自定义属性自定义 View1. 自定义属性我们将份数定义为 tick_mark_count ,整形<?xml version...原创 2018-06-04 16:52:20 · 1312 阅读 · 0 评论 -
View.getHitRect
是什么所有的 View 在屏幕上都占据着一块矩形区域,Rect 在 Android 中表示矩形类,getHitRect()作为获取控件所在的矩阵范围函数,简直就像个神器。当然他也有不给力的情况,我们平常调用时候如果是在控件的监听器里调用就没事,但是如果主动的在onCreate 或者 onResume中,拿到的矩阵坐标全是0.怎么用rect 是一个空白的矩形,调用 View.getHi...原创 2018-04-27 13:59:17 · 1225 阅读 · 0 评论 -
TabLayout + ViewPager 实现底部导航栏
效果前言底部导航栏有多种实现方式,最近学习了ViewPager+TabLayout 的实现。发现 design 版本的tablayout提供了神奇的封装,只需要调用setupWithViewPager(viewPager)就会根据 ViewPager中view数量配置与之相等的tab。实现Fragment我们使用Fragment去填充Viewpage...原创 2018-03-06 23:45:13 · 1058 阅读 · 0 评论 -
不看你会后悔的 View 绘制基础
前言自定义 View 时Android 开发中的一个热点知识,我们结合源码了解绘制 View 的必备知识。流程measure 测量layout 位置draw 绘制measure 测量view 大小的测量是在 onMeasure 中实现的,测量过程用到了MeasureSpac,MeasureSpec是一个int类型的值,由高2位的规格模式和低30位的具体尺寸,...原创 2018-02-10 11:14:23 · 201 阅读 · 0 评论 -
两分钟实现 NavigationView 侧滑菜单
前言Google 在 Android 5.0 后推出了官方的实习,在谷歌爸爸自家 App 中被大量运用,以前需要自己写,现在好了官方版本直接用轮子,接下来我们来看看怎样实现。实现效果目录布局文件Java 代码布局文件在 DrawerLayout 中添加 NavigationView<android.support.v4.widget.DrawerLayout xmlns:andro原创 2017-12-16 21:07:22 · 172 阅读 · 0 评论 -
自定义控件-58同城加载动画
前言加载动画主要用于网络请求时提示用户等待,用来提升体验,各家 App 的效果千差万别,大多数应用使用 Progressbar ,也有蛮多设计感十足的加载动画,其中 58同城 的自由落体动画就算一个,先来展示最终效果文末附上<深入理解Java虚拟机>电子书,包括 Epub,mobi 等格式目录分析动画效果自定义控件:下落物体自定义控件:阴影深入理解JVM分析该...原创 2018-12-27 10:02:00 · 227 阅读 · 0 评论