Android
文章平均质量分 80
FeiLaughing
这个作者很懒,什么都没留下…
展开
-
【源码简析】ObjectAnimator & ValueAnimator
【疑问1】ObjectAnimator如何通过"translationX"这样实现的动画【疑问2】ValueAnimator在INFINITE模式下,为什么cancel和end会失效【1】ObjectAnimator.ofFloat(...)着手 先附上创建ObjectAnimator的源码 public static ObjectAnimator ofFloat(Object target, String propertyName, float... valu...原创 2020-07-23 10:18:16 · 269 阅读 · 0 评论 -
ListView --- transcriptMode 选项
转载自 https://blog.csdn.net/natloc/article/details/50850099 默认情况下,当添加的 Item 超出 ListView 的范围后,ListView 并没有刷新让最新一条显示出来。而在 qq/微信 聊天中,发新的消息后会自动滚动显示出最下面的一条信息。调用方式AbsListView.java: ...转载 2018-11-20 10:19:12 · 330 阅读 · 0 评论 -
【转】屏幕适配
转载自 https://blog.csdn.net/QPC908694753/article/details/79080418 我们知道如下代码可以将图片按原比例整个绘制下来。bmp.setPixels(newPx, 0, width, 0, 0, width, height);但有的时候如果想单纯绘...转载 2018-11-20 10:39:28 · 169 阅读 · 0 评论 -
JNI --- AS,CMake的简单使用,DEMO
【记录】需要完成一些NDK的简单开发工作,平时不常接触这部分知识,记录下CMAKE的简单使用和JNI的基础1. 配置AS的2.2及以上版本可以使用CMAKE,相对于之前使用ndk-build,要简单很多。1)下载NDK,设置gradle可以通过AS下载CMake,LLDB以及NDK NDK也可以自己从官网下载,然后在local.properties文件中设置ndk的路径,例...原创 2018-11-28 18:32:51 · 688 阅读 · 0 评论 -
Matrix --- android matrix 方法详解与进阶
转载自 https://blog.csdn.net/cquwentao/article/details/51445269 1 概述这里我们会详细讲解matrix的各个方法,以及它的用法。matrix叫做矩阵,在前面讲解 ColorFilter 的文章中,我...转载 2018-11-15 16:02:40 · 260 阅读 · 0 评论 -
Android获取窗口可视区域大小: getWindowVisibleDisplayFrame()
转载自 https://blog.csdn.net/ccpat/article/details/55224475 getWindowVisibleDisplayFrame()方法getWindowVisibleDisplayFrame()是View类下的一个方法,从方...转载 2018-11-13 15:01:44 · 261 阅读 · 0 评论 -
View.OnDragListener, ViewDragHelper, GestureDetector --- 拖放滑动
【记录】记录点滴【场景】学习官方文档和sample时,实验的内容以及遇到的小坑【需求】简单实现,基于View.OnDragListener, ViewDragHelper以及GestureDetector(或OnTouchEvent,OnTouchListener)实现拖放View滑动的效果1. View.OnDragListener官方文档提供了示例demo,包括实现拖放,自定义...原创 2018-10-13 17:26:19 · 1900 阅读 · 0 评论 -
TabLayout --- 修改指示器
【记录】记录点滴场景:修改TabLayout的指示器长度需求:未使用自定义Tab样式的情况下,指示器长度为文字内容长度1. 方法基本有1)反射修改,局限性较大;2)修改TabLayout文件,根据自身的需求实现指示器2. 为了保证灵活性和较好的用户体验,修改了TabLayout文件修改指示器长度追踪源码,知道SlidingTabStrip负责展示Tab及对应的指示器。...原创 2018-09-28 19:43:10 · 1229 阅读 · 0 评论 -
Keyboard与KeyboardView --- 自定义键盘
【记录】记录点滴场景: 实现自定义的身份证键盘需求: 实现0-9数字键,X键,确认键(或其他),删除键1. 利用Keyboard实现布局在res/xml目录下创建keyboard的布局xml文件,如下:<!-- keyWidth每个按键占的宽百分比,keyHeight按键高度 --><!-- verticalGap,horizontalGap 垂直/水平间...原创 2018-09-29 18:32:55 · 2581 阅读 · 0 评论 -
自定义View --- 自定义属性
【记录】记录点滴【场景】写自定义View时,如果希望View可以支持多种样式,比如圆角ImageView可以设置圆角弧度,就需要实现自定义属性。不常写的东西容易忘。1. /res/values/attrs.xml文件中定义属性先附上示例代码<!-- declare-styleable表明一个属性组,CustomView是自定义View的类名 --><decla...原创 2018-10-25 11:20:38 · 245 阅读 · 0 评论 -
RecyclerView --- (二)自定义LayoutManager
【记录】记录点滴【需求】Recycler需要特殊排列顺序时,要实现自定义LayoutManager自定义大致分为三步:1. 放置全部的View;2. 滑动;3. 回收机制1. RecyclerView继承自ViewGroup,每个 item 就是它的子 view,重新设置子 view的放置位置,就需要重写onLayout。LayoutManager中提供了 onLayoutChildr...原创 2018-10-31 19:28:07 · 645 阅读 · 0 评论 -
定时任务 --- Timer, AlarmManager
【记录】记录点滴【场景】突然想起Android4.4之后,AlarmManager的setRepeating方法变了,而且Android6.0又提出了Doze模式。那么应该怎么样才能保证定时任务的正常运行。1. AlarmManager4.4之后setRepeating方法不再精确,虽然可以通过setWindow和setExact方法实现精确的定时任务,但是当休眠后定时任务就不再精确执...原创 2018-10-24 17:33:32 · 835 阅读 · 0 评论 -
Recyclerview --- (一)简单的使用
【记录】记录点滴【需求】从最简单的RecyclerView使用开始记录RecyclerView和ListView的使用非常相似:1. 导入包;2. 创建Adapter;3. 设置RecyclerView1. 导入support-v7包,例如implementation 'com.android.support:recyclerview-v7:27.1.1'2. 继承Recyc...原创 2018-10-30 20:11:50 · 458 阅读 · 0 评论 -
RecyclerView --- 分割线
【记录】记录点滴【需求】简单使用分割线与自定义分割线1. 利用DividerItemDecoration, 简单实现分割线2. 基于RecyclerView.ItemDecoration,自定义分割线在简单使用RecyclerView中,最后实现了个嵌套的界面,一个Linear List嵌套一个Grid。先上最终实现的效果图其中Grid中的自定义分割线比较细,所以图大些。...原创 2018-11-28 18:33:31 · 342 阅读 · 0 评论 -
ViewPager结合TabLayout --- 禁止滑动(点击切换)
【记录】菜鸟记录点滴场景: ViewPager结合TabLayout,两个Tab项(Tab1, Tab2),需要先在Tab1执行某些操作后,才能滑动ViewPager(点击Tab)切换到Tab21. 首先自定义CustomViewPager,可以设置允许/禁止滑动ViewPager。继承ViewPager,根据事件的分发机制,修改onInterceptTouchEvent() ...原创 2018-09-26 19:42:58 · 7094 阅读 · 0 评论