Toggle navigation
Tfly's Blog
Home
About
Archives
Tags
Tfly's Blog
一叶一菩提,一花一世界
QQ气泡拖拽效果
技术参考文章贝塞尔曲线介绍 Android自定义控件:类QQ未读消息拖拽效果 补充说明Android自定义控件:类QQ未读消息拖拽效果,这篇文章在求解A,B,C,D四个点上不尽详述,所以下面进行补充说明。 图示: 计算过程: 技术总结 计算A,B,C,D四点坐标 了解拖拽过程连接固定圆和拖拽圆之间的曲线实现,即贝塞尔曲线 如何让QQDotView拖拽区域为整个屏幕?使用WindowMan......
Posted by Tfly on 2019-07-10
ListView滚动机制分析
目的了解ListView的滚动机制,在滚动过程中View如何添加到ListView。 实现过程先简单介绍下ListView滚动的大概算法。 算法实现: ACTION_MOVE动作触发,滚出屏幕外的View添加进scrap views,并且从ListView里detach 还在屏幕上的View,向滚动方向移动滚动距离 填充views 修正多余的滚动距离 图示: 源码分析下面分析ACTION......
Posted by Tfly on 2019-07-10
Java泛型介绍
泛型定义:参数化类型,数据类型被指定为一个参数 定义泛型1.定义在类声明上,作用域为整个类 1public class ArrayList<T> 2.定义在方法上(静态方法也类似) 1public <T> void init(T t) 实例化泛型在实例化类或调用方法时要指定具体类。 12ArrayList<String> list=new ArrayLis......
Posted by Tfly on 2019-07-10
RadioGroup调用check()方法onCheckedChanged()调用多次
情景再现布局文件activity_main.xml如下: 12345678910111213141516171819202122232425262728293031323334<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/......
Posted by Tfly on 2019-07-10
Spanned flags说明
背景很多时候希望,文本的不同部分有不同的表示方式,比如某些字符串为红色、某些字符串加粗、添加背景色等等。如图所示: 要实现这种效果,通常使用SpannableString类或SpannableStringBuilder类。两者都要用到setSpan(Object what,int start,int end,int flags)方法,关于最后一个参数的含义就是本文章的主题。 flag的种类 ......
Posted by Tfly on 2019-07-10
SQLite数据类型
概述我们熟知的数据库引擎大部分采用静态数据类型,即列定义的类型定义了值的存储,并且值要严格满足列的定义,同一列所有值的存储方式都相同,比如定义了一个列类型为整型 int,不能在该列上输入’abc’。SQLite的数据类型则采用了动态类型,列定义不能决定值的存储,值的存储由值本身决定,因此在SQLite中,同一列会有多种存储方式。 数据类型与存储类在SQLite中,存储分类和数据类型不是完全......
Posted by Tfly on 2019-07-10
Android 的坐标系及矩阵变换
Android的坐标系2D坐标系android的2d坐标系如图所示,水平向右为X轴正方向,竖直向下为Y轴正方向,原点为屏幕左上角。 注意:以屏幕左上角为原点的坐标系,称作绝对坐标系,将原点平移到View的左上角,称作相对坐标系。对View进行操作时,更多使用的是相对坐标系。 3D坐标系左手坐标系在计算机科学中,大多3D坐标系使用的是左手坐标系(包括Android),所以,在这里只介绍左手......
Posted by Tfly on 2019-07-10
android:clipChildren属性
属性介绍android:clipChildren用来设置是否剪切children。 使用场景通常会看到中间的tab会更大,甚至超出parent的限制,如图: 属性使用方法android:clipChildren=”false”表示不剪切children,但是children大小不能超过parent的大小,所以如果children的直接parent大小不够容纳children的大小,那么要一直......
Posted by Tfly on 2019-07-10
WebView的一些坑
WebViewClient和WebChromeClient区别WebViewClient: It will be called when things happen that impact the rendering of the content WebChromeClient:This class is called when something that might impact a b......
Posted by Tfly on 2019-07-10
highestOneBit()算法解析
Integer类有个highestOneBit()方法,作用是返回具有单个 1 位的 int 值, 在指定值中最高位的 1 位的位置,比如5(00000101)返回4(00000100)。 highestOneBit()的算法如下: 123456789public static int highestOneBit(int i) { // HD, Figure 3-1 i......
Posted by Tfly on 2019-07-10
← Newer Posts
Older Posts →
FEATURED TAGS
Android
ABOUT ME
深入思考,耐心生活