- 博客(22)
- 资源 (10)
- 问答 (1)
- 收藏
- 关注
原创 如何让TextView自己滚动
如何让TextView自己滚动 <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:maxLines="3" android:scrollbarStyle="outsideInset" ...
2019-10-10 15:31:00
353
原创 ConstraintLayuot学习
ConstraintLayuot学习ConstraintLayuot学习一. Constraints(条件约束)1.1 布局代码1.2 结果二. Chains链2.1 布局代码2.2 结果2.3 Chains链的三种形式2.3.1 spread形式截图代码注意2.3.2 spread_in形式截图代码2.3.3 packed形式截图代码注意...
2018-08-03 16:51:00
493
原创 measure之UNSPECIFIED的用途
measure之UNSPECIFIED的用途measure之UNSPECIFIED的用途1. 前言2. demo代码3. 截图4. 源码分析4.1 先看ScrollView的measure源码:4.2 再来看TextView源码1. 前言对于MeasureSpec很多人很陌生,而对于MeasureSpec.UNSPECIFIED就更陌生了,在这篇文章...
2018-07-30 21:35:59
7392
原创 MeasureSpec存储信息
MeasureSpec存储信息MeasureSpec存储信息1. 变量及10进制对应表2. 源码分析2.1 makeMeasureSpec 方法2.2 getSize和getMode1. 变量及10进制对应表 变量名 10进制 2进制 MASK -1073741824 11000000 00000000 00000000 ...
2018-07-30 21:30:58
343
原创 taskAffinity浅析
taskAffinity浅析默认如果没配taskAffinity属性的Activity的taskAffinity是包名同一个安装包下的相同进程,它们的默认taskAffinity都是包名同一个安装包下的不同进程,它们的默认taskAffinity也是包名 验证如下:<activity android:name=".TaskActivity" androi...
2018-02-09 21:16:33
510
原创 通过ReferenceQueue来监听被GC
通过ReferenceQueue来监听被GC实例代码class ReferenceQueueActivity : Activity() { private val queue = ReferenceQueue() private var mWeakReference: WeakReference? = null public override fun o
2018-02-07 18:38:53
1046
原创 kotlin反射class.java和javaClass区别
kotlin反射class.java和javaClass区别kotlin文件的类class Person { var name: String = "" var age: Int = 0}java文件的类public class Cat {}测试代码:fun main(args: Array<String>) { val person = Person() val
2017-12-28 19:51:27
7965
原创 Glide 显示视频缩略图及遇到的坑
Glide 显示视频缩略图及遇到的坑实现原理Glide支持视频格式的文件,但是在3.x里会有些欠缺。其底层是通过 MediaMetadataRetriever实现的。MediaMetadataRetriever拥有获取视频的第几帧的能力,Glide获取视频里的第n帧的代码如下:VideoBitmapDecoder.java@Overridepublic Bitmap decode(ParcelFi
2017-11-11 21:52:57
18480
4
原创 BitmapFactory Decode大小的时候需要获取所有的流文件吗?
BitmapFactory Decode大小的时候需要获取所有的流文件吗? thread { val str = "http://192.168.31.163/http/img/15H743-001.JPG" val url = URL(str) val option = BitmapFactory.Options()
2017-11-11 21:46:28
294
原创 Kotlin之Lambda表达式原理及应用
Kotlin之Lambda表达式原理及应用初探Lambda表达,可以看成是一个代码块,先来一个栗子热热身. val codeblock = { f: Float, s: String -> println("hello $s") f.toByte() }以上的codeblock就是一个代码块,也可以理解成一个方法,它的两个参数分别为Flo
2017-09-27 11:53:52
933
原创 marven发布的时候带上源码
task androidSourcesJar(type: Jar) { classifier = 'sources' from android.sourceSets.main.java.sourceFiles}artifacts { archives androidSourcesJar}
2017-09-19 17:49:00
460
原创 LinkedHashMap及LruCache是如何实现最少用最先淘汰算法
LinkedHashMap及LruCache是如何实现最少用最先淘汰算法LinkedHashMap是链表的方式保存,它的最小单元是LinkedEntry。但是这些单元又是保存在一个hashtable里。LinkedEntry /** * LinkedEntry adds nxt/prv double-links to plain HashMapEntry. */ stat
2017-09-07 14:16:27
1565
原创 git常用命令
切换分支git chekcout develop删除分支git branch -d developmissing changid的时候git commit --amend 补提交
2016-12-23 10:44:16
290
原创 诡异的UnknownHostException
android4.2.x上访问一个地址出现一个神奇的异常,搞半天不知道为什么,最后发现,http://test_hh.fa.com 这个host有下滑线,带下滑线会导致urlconnection出问题,mark一下,解决办法就是和域名解析的人商量一下,换一个不带下滑线的域名/System.err: java.net.UnknownHostException: http://test
2016-10-08 16:06:20
870
原创 android WIFi 连接状态之DetailedState
public enum DetailedState { /** Ready to start data connection setup. */ IDLE, /** Searching for an available access point. */ SCANNING, /** Currently setting up
2016-08-12 18:34:58
4903
原创 android之getDimension、getDimensionPixelSize、getDimensionPixelOffset区别
大家都知道这三个方法都是返回dimen xml配好的像素值,它们之间有什么区别呢? 且看代码:(不用太详细看是怎么回事,只要对比它们之间的区别) public float getDimension(int id) throws NotFoundException { synchronized (mTmpValue) { TypedValue value
2015-12-18 12:24:46
1036
原创 Fragment add 和replace的区别
FragmentTransaction transaction = mFragmentManager.beginTransaction(); transaction.replace(R.id.main_frame, mStartFragment, FragmentAction.Start.name()); transaction.replace(R.id.main_fr
2015-09-11 17:58:26
593
原创 android 之 MeasureSpec 的用途
大家都知道,在View的Measure里会用到一个叫MeasureSpec这个类,为什么要用它呢?android里的布局不像ios,它可以用描述来形容这个布局,不用写死它的宽高,因为android的手机分辨率太多了,所以简单的设置某一个view的宽高,不能很好的适配。所以android引出了布局描述:wrap_content,match_parent,fill_parent,这些布
2014-12-25 12:25:18
460
原创 android Activity启动过程-startActivity
1.startActivity说起:activity里的startActivity最终会走到IActivityManager的startActivityActivity.java @Override public void startActivity(Intent intent) { startActivity(intent, null); }Acti
2014-12-24 13:55:22
780
原创 Android 源码解析之Launcher3之帮助提示的实现方案
先从Launcher.xml看view的res/launcher.xml下有 that it is still visible during the transition to AllApps and doesn't overlay on top of that view. -->
2014-10-23 12:45:20
1445
原创 Android dp,sp,px之间的互转
public static float dpiFromPx(int size, DisplayMetrics metrics){ float densityRatio = (float) metrics.densityDpi / DisplayMetrics.DENSITY_DEFAULT; return (size / densityRatio);
2014-10-23 11:22:35
445
Kotlin极简教程 电子版
2017-10-10
复写虚构函数或copy函数引发的血案
2019-01-05
TA创建的收藏夹 TA关注的收藏夹
TA关注的人