自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

原创 【源码简析】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 260

原创 Java --- Http post请求中的中文乱码问题

【记录】对接第三方,http协议接口,上传数据【问题】基于HttpUrlConnection的post请求,json数据中包含中文,gson生成字符串时正常,抓包发现参数中的中文乱码1.  利用DataOutputStream的writeBytes()方法,出现中文乱码。dos.writeBytes(String s)2. 将writeBytes(String s)替换为d...

2018-12-12 14:44:43 2074

原创 RecyclerView --- 分割线

【记录】记录点滴【需求】简单使用分割线与自定义分割线1. 利用DividerItemDecoration, 简单实现分割线2. 基于RecyclerView.ItemDecoration,自定义分割线在简单使用RecyclerView中,最后实现了个嵌套的界面,一个Linear List嵌套一个Grid。先上最终实现的效果图其中Grid中的自定义分割线比较细,所以图大些。...

2018-11-28 18:33:31 334

原创 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 673

转载 【转】屏幕适配

转载自 https://blog.csdn.net/QPC908694753/article/details/79080418 我们知道如下代码可以将图片按原比例整个绘制下来。bmp.setPixels(newPx, 0, width, 0, 0, width, height);但有的时候如果想单纯绘...

2018-11-20 10:39:28 163

转载 ListView --- transcriptMode 选项

转载自 https://blog.csdn.net/natloc/article/details/50850099 默认情况下,当添加的 Item 超出 ListView 的范围后,ListView 并没有刷新让最新一条显示出来。而在 qq/微信 聊天中,发新的消息后会自动滚动显示出最下面的一条信息。调用方式AbsListView.java: ...

2018-11-20 10:19:12 323

转载 Matrix --- android matrix 方法详解与进阶

转载自 https://blog.csdn.net/cquwentao/article/details/51445269 1 概述这里我们会详细讲解matrix的各个方法,以及它的用法。matrix叫做矩阵,在前面讲解 ColorFilter 的文章中,我...

2018-11-15 16:02:40 247

转载 Android获取窗口可视区域大小: getWindowVisibleDisplayFrame()

转载自 https://blog.csdn.net/ccpat/article/details/55224475 getWindowVisibleDisplayFrame()方法getWindowVisibleDisplayFrame()是View类下的一个方法,从方...

2018-11-13 15:01:44 251

原创 RecyclerView --- (二)自定义LayoutManager

【记录】记录点滴【需求】Recycler需要特殊排列顺序时,要实现自定义LayoutManager自定义大致分为三步:1. 放置全部的View;2. 滑动;3. 回收机制1. RecyclerView继承自ViewGroup,每个 item 就是它的子 view,重新设置子 view的放置位置,就需要重写onLayout。LayoutManager中提供了 onLayoutChildr...

2018-10-31 19:28:07 637

原创 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 453

原创 自定义View --- 自定义属性

【记录】记录点滴【场景】写自定义View时,如果希望View可以支持多种样式,比如圆角ImageView可以设置圆角弧度,就需要实现自定义属性。不常写的东西容易忘。1. /res/values/attrs.xml文件中定义属性先附上示例代码<!-- declare-styleable表明一个属性组,CustomView是自定义View的类名 --><decla...

2018-10-25 11:20:38 233

原创 定时任务 --- Timer, AlarmManager

【记录】记录点滴【场景】突然想起Android4.4之后,AlarmManager的setRepeating方法变了,而且Android6.0又提出了Doze模式。那么应该怎么样才能保证定时任务的正常运行。1. AlarmManager4.4之后setRepeating方法不再精确,虽然可以通过setWindow和setExact方法实现精确的定时任务,但是当休眠后定时任务就不再精确执...

2018-10-24 17:33:32 826

原创 View.OnDragListener, ViewDragHelper, GestureDetector --- 拖放滑动

【记录】记录点滴【场景】学习官方文档和sample时,实验的内容以及遇到的小坑【需求】简单实现,基于View.OnDragListener, ViewDragHelper以及GestureDetector(或OnTouchEvent,OnTouchListener)实现拖放View滑动的效果1. View.OnDragListener官方文档提供了示例demo,包括实现拖放,自定义...

2018-10-13 17:26:19 1891

原创 Keyboard与KeyboardView --- 自定义键盘

【记录】记录点滴场景: 实现自定义的身份证键盘需求: 实现0-9数字键,X键,确认键(或其他),删除键1. 利用Keyboard实现布局在res/xml目录下创建keyboard的布局xml文件,如下:<!-- keyWidth每个按键占的宽百分比,keyHeight按键高度 --><!-- verticalGap,horizontalGap 垂直/水平间...

2018-09-29 18:32:55 2566

原创 TabLayout --- 修改指示器

 【记录】记录点滴场景:修改TabLayout的指示器长度需求:未使用自定义Tab样式的情况下,指示器长度为文字内容长度1. 方法基本有1)反射修改,局限性较大;2)修改TabLayout文件,根据自身的需求实现指示器2. 为了保证灵活性和较好的用户体验,修改了TabLayout文件修改指示器长度追踪源码,知道SlidingTabStrip负责展示Tab及对应的指示器。...

2018-09-28 19:43:10 1217

原创 ViewPager结合TabLayout --- 禁止滑动(点击切换)

【记录】菜鸟记录点滴场景: ViewPager结合TabLayout,两个Tab项(Tab1, Tab2),需要先在Tab1执行某些操作后,才能滑动ViewPager(点击Tab)切换到Tab21. 首先自定义CustomViewPager,可以设置允许/禁止滑动ViewPager。继承ViewPager,根据事件的分发机制,修改onInterceptTouchEvent() ...

2018-09-26 19:42:58 7070

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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