- 博客(141)
- 收藏
- 关注
原创 最简单的自定义ViewGroup
FlowLayout子View们的宽度加起来超过一行,会自动换行显示。核心就两步:在Layout中的onMeasure方法中调用子View的measure(),这儿虽然用的是measureChild方法,但最终还是去调用子View的measure()在Layout中的onLayout方法中调用子View的layout()再复杂的自定义View都是这样从最简单的形式,不断增加...
2020-01-08 23:25:00
544
原创 TabLayout您可能不知道的实用用法
一、修改点击的动画函数:setUnboundedRipple这是默认的点击的动画我们用代码修改一下:mGlueTabLayout.setUnboundedRipple(true);这是之后的效果:二、设置下划线指示器的宽度不要填充完(动态的根据TabView的宽度来设置自身的宽度)函数:setTabIndicatorFullWidth这是默认的效果我们用代码修改一下:m...
2018-12-03 17:01:38
297
原创 Android 滑动冲突处理
常见的有两种 一个控件横向滑动,另一个控件竖向滑动。比如:类似ViewPager,每个页面里面是ListView,不过,我们不用去处理滑动处理,ViewPager内部已经处理好了。 一个控件竖向滑动,另一个控件也竖向滑动。比如:ScollView里面包裹着ListView,这也是需要着重理解掌握的。 Android内置了Scoller,用于实现渐进式的滑动。...
2017-06-01 23:37:31
359
原创 Android View的事件分发机制
阅读《Android开发艺术探索》提炼实践总结 所谓事件分发? 所谓点击事件分发,其实就是对MotionEvent事件的分发过程,即当一个MotionEvent产生了以后,系统需要把这个事件传递给一个具体的View,而这个传递的过程就是分发过程。 点击事件的分发过程有三个很重要的方法来共同完成! dispatchTouchEvent(MotionEvent e...
2017-06-01 23:31:33
164
原创 对比ITEYE和优快云
ITEYE查看自己的博客的时候没有一点广告,很存粹。优快云正好与其相反,有广告暂不谈,商业嘛,但配色个人不喜欢,都感觉不能安心写作咯。
2017-05-23 14:09:52
479
原创 Android_Activity生命周期全解
写在前面: 写这篇文章,主要的目的是为了理清下自己的思路,服务好自己的同时,更好的服务于大家。我们需要注意的应该是,我们在什么时候用哪个生命周期回调方法做什么事情。印象笔记地址,点击不像其他编程范式一样:程序从main()方法开始启动。Android系统根据生命周期的不同阶段唤起对应的回调函数来执行代码。系统存在启动与销毁一个activity的一套有序的回调函数。Activity 是一个应用组件,
2017-05-06 21:58:28
419
Android_Activity生命周期全解
写在前面: 写这篇文章,主要的目的是为了理清下自己的思路,服务好自己的同时,更好的服务于大家。 我们需要注意的应该是,我们在什么时候用哪个生命周期回调方法做什么事情。 印象笔记地址,点击 不像其他编程范式一样:程序从main()方法开始启动。Android系统根据生命周期的不同阶段唤起对应的回调函数来执行代码。系统存在启动与销毁一个activity的一套有序的回调函...
2017-05-06 21:58:00
172
原创 MarkDown这篇就够了
其目标是实现易读易写的纯文本,目的是让我们专注于码字,其语法只有几种且简单易学。 希望能帮到大家,MarkDown真的很棒,快点学会吧,有新点子(方法、工具)我会更新。语法一、标题# 一级标题## 二级标题###三级标题 …######六级标题二、列表有序列表直接在文字前加入1. 2. 3. ,需要注意的是要在文字间加一个空格。无序列表直接在文字前加入-或*即可变为无序列表。三
2017-05-06 12:47:43
554
MarkDown这篇就够了
其目标是实现易读易写的纯文本,目的是让我们专注于码字,其语法只有几种且简单易学。 希望能帮到大家,MarkDown真的很棒,快点学会吧,有新点子(方法、工具)我会更新。优快云的MarkDown显示出来的效果不是很好看诶,附上我的笔记地址吧,点击语法一、标题# 一级标题## 二级标题###三级标题 …######六级标题二、列表有序列...
2017-05-06 12:47:00
143
原创 微信公众号的使用
一直很想看看微信公众号的后台,但只是想,今天想法特别强烈,突然想起我很久以前注册了一个,审核来着,就一直没管它,好了,我也是初学者,跟着我一起来看看吧。注册我就不带大家看了哈1.搜索《微信公众平台》要验明身份,用微信扫一下 其庐山真面目就这样 用户数忽略啊,估计那一个用户还是我,这好像是一年前注册的,我在读大二,迷恋单车,想写个单车相关的,但不知道为啥没有,估计审核太久忘了,现在也不写吧,主要没
2017-04-01 21:05:29
301
微信公众号的使用
一直很想看看微信公众号的后台,但只是想,今天想法特别强烈,突然想起我很久以前注册了一个,审核来着,就一直没管它,好了,我也是初学者,跟着我一起来看看吧。注册我就不带大家看了哈1.搜索《微信公众平台》要验明身份,用微信扫一下 其庐山真面目就这样 用户数忽略啊,估计那一个用户还是我,这好像是一年前注册的,我在读大二,迷恋单车,想写个单车相关的,但不知道为啥没有,估计审核太...
2017-04-01 21:05:00
147
原创 [javaweb]xml特殊字符简记
特殊字符转义字符英文全称&&ersand<<less than>>greater than""quotation,引证''apostrophe,省略符号,撇号么么哒
2017-03-13 10:42:41
281
[javaweb]xml特殊字符简记
特殊字符转义字符英文全称&&amp;ampersand<&lt;less than>&gt;greater than"&quot;quotation,引证'&apos;apostrophe,省略符号,撇号么么哒 <script type="text...
2017-03-13 10:42:00
151
转载 Java_封装
转载来源:http://blog.youkuaiyun.com/chenssy/article/details/12757911 原作者的这篇文章写得很好,通俗易懂,故转载分享。么么哒,有时候,说老实话,我把android都搞得服服帖帖了,java却还是一个初级水平,努力中,并表示,这年头,应届毕业生不好找工作呀,不是名校,可能面试机会都没有,多的尽是幌子(你们懂的) 三大特性之—封装 封装
2017-02-23 20:53:21
518
Java_封装
转载来源:http://blog.youkuaiyun.com/chenssy/article/details/12757911 原作者的这篇文章写得很好,通俗易懂,故转载分享。么么哒,有时候,说老实话,我把android都搞得服服帖帖了,java却还是一个初级水平,努力中,并表示,这年头,应届毕业生不好找工作呀,不是名校,可能面试机会都没有,多的尽是幌子(你们懂的) 三大特性之—封装 封装从字面...
2017-02-23 20:53:00
134
原创 Bitmap之RGB_565
Bitmap 颜色模式RGB_565每个像素占2字节的内存,特点是没有透明度,即alpha值这里我们来讨论其没有透明度细节结论是:其有透明度呀 测试写的自定义View:public class MyImageView extends ImageView { private Paint paint; public MyImageView(Context context) {
2017-02-22 20:44:03
3943
Bitmap之RGB_565
Bitmap 颜色模式RGB_565每个像素占2字节的内存,特点是没有透明度,即alpha值这里我们来讨论其没有透明度细节结论是:其有透明度呀 测试写的自定义View:public class MyImageView extends ImageView { private Paint paint; public MyImageView(Context...
2017-02-22 20:44:00
1266
原创 android_巧用SharedPrefrences储存ArrayList等Collection的实现类
public class SPUtils { public static final String SP_NAME="needYourName";//SharedPreferences的名字 public static void setSPCollection(Context context, Collection collection, String collectionName)
2017-01-28 18:50:34
377
android_巧用SharedPrefrences储存ArrayList等Collection的实现类
/** * collection 里的类必须要implements Serializable,因为ObjectOutputStream的缘故 */public class SPUtils { public static final String SP_NAME="needYourName";//您的SharedPreferences的名字 public static voi...
2017-01-28 18:50:00
152
翻译 View的事件分发机制
【分享】 从某处看到的一个关于View的事件分发机制的伪代码,觉得很不错,故此分享,不是原创。public boolean dispatchTouchEvent(MotionEvent ev){ boolean consume=false; if(onInterceptTouchEvent(ev)){ consume=onTouchEvent(ev); }e
2017-01-24 18:21:38
216
View的事件分发机制
【分享】 从某处看到的一个关于View的事件分发机制的伪代码,觉得很不错,故此分享,不是原创。public boolean dispatchTouchEvent(MotionEvent ev){ boolean consume=false; if(onInterceptTouchEvent(ev)){ consume=onTouchEvent(ev);...
2017-01-24 18:21:00
93
原创 Android基本架构
先概要后细分应用程序层——APPLICATIONS没什么好说的,就是用Java写的一堆应用。应用程序框架层–APPLICATIONS FRAMEWORK为了帮助快速开发,写的一些很重要的系统服务 就是一些很重要的Manager:ActivityManager:(ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);g
2016-12-24 12:34:01
287
Android基本架构
先概要后细分应用程序层——APPLICATIONS没什么好说的,就是用Java写的一堆应用。应用程序框架层–APPLICATIONS FRAMEWORK为了帮助快速开发,写的一些很重要的系统服务 就是一些很重要的Manager:ActivityManager:(ActivityManager) context.getSystemService(Conte...
2016-12-24 12:34:00
259
原创 getChildDrawingOrder()?
/** * 这里主要是改变ViewPager的绘制顺序,目的让positon指向的最后一个绘制,使其层级最高,不会被其它Page覆盖。 * @param childCount ViewPager的总页面 * @param i 0~ViewPager的总页面-1 每次移动ViewPager,i都会0,1,2,3,......全部走一遍 * @return */
2016-12-24 12:06:46
1727
1
getChildDrawingOrder()?
/** * 这里主要是改变ViewPager的绘制顺序,目的让positon指向的最后一个绘制,使其层级最高,不会被其它Page覆盖。 * @param childCount ViewPager的总页面 * @param i 0~ViewPager的总页面-1 每次移动ViewPager,i都会0,1,2,3,......全部走一遍 * @return ...
2016-12-24 12:06:00
355
原创 view.getX和view.getTranslationX区别?
1.view.getTranslationX计算的是该view的偏移量。初始值为0,向左偏移值为负,向右偏移值为正。 2.view.getX相当于该view距离父容器左边缘的距离,等于getLeft+getTranslationX。注意:getX是相对于父布局,就是包裹它的爹。
2016-12-24 12:05:26
517
view.getX和view.getTranslationX区别?
1.view.getTranslationX计算的是该view的偏移量。初始值为0,向左偏移值为负,向右偏移值为正。 2.view.getX相当于该view距离父容器左边缘的距离,等于getLeft+getTranslationX。注意:getX是相对于父布局,就是包裹它的爹。 <script type="text/javascript"> ...
2016-12-24 12:05:00
111
原创 android获取标题栏、状态栏的高度?
状态栏:Rect rect = new Rect();getWindow().getDecorView().getWindowVisibleDisplayFrame(rect);rect.top即为状态栏的高度。标题栏: getWindow().findViewById(Window.ID_ANDROID_CONTENT).getTop();注意要在onWindowFocusChanged里用这
2016-12-24 12:03:57
349
android获取标题栏、状态栏的高度?
状态栏:Rect rect = new Rect();getWindow().getDecorView().getWindowVisibleDisplayFrame(rect);rect.top即为状态栏的高度。标题栏: getWindow().findViewById(Window.ID_ANDROID_CONTENT).getTop();注意要在onWindowFocusC...
2016-12-24 12:03:00
116
原创 onWindowFocusChanged?
Activity生命周期中,onStart, onResume, onCreate都不是真正visible的时间点,真正的visible时间点是onWindowFocusChanged()函数被执行时。
2016-12-24 12:00:34
259
onWindowFocusChanged?
Activity生命周期中,onStart, onResume, onCreate都不是真正visible的时间点,真正的visible时间点是onWindowFocusChanged()函数被执行时。 <script type="text/javascript"> $(function () { $('pr...
2016-12-24 12:00:00
192
原创 LayoutParams、MarginLayoutParams、RelativeLayout.LayoutParams的区别?
LayoutParams的属性:int height、int width。 MarginLayoutParams的属性:int leftMargin、int topMargin、int rightMargin、int bottomMargin。 RelativeLayout.LayoutParams的属性:自己特有的一些属性,RelativeLayout有boolean alig
2016-12-24 11:59:14
712
LayoutParams、MarginLayoutParams、RelativeLayout.LayoutParams的区别?
LayoutParams的属性:int height、int width。 MarginLayoutParams的属性:int leftMargin、int topMargin、int rightMargin、int bottomMargin。 RelativeLayout.LayoutParams的属性:自己特有的一些属性,RelativeLayout有boolean al...
2016-12-24 11:59:00
491
原创 getX和getRawX、getY和getRawY?
getX、getY:x,y是相对于控件本身左上点的相对位置; getRawX、getRawY:rawx,rawy是相对于屏幕的位置。
2016-12-24 11:58:25
652
getX和getRawX、getY和getRawY?
getX、getY:x,y是相对于控件本身左上点的相对位置; getRawX、getRawY:rawx,rawy是相对于屏幕左上角的位置。 <script type="text/javascript"> $(function () { $('pre.prettyprint code').each(f...
2016-12-24 11:58:00
208
原创 NDK和JNI的区别?
JNI(Java Native Interface)java调用本地接口 的技术名词 NDK(Native Developer Kit)谷歌给开发人员的工具包 NDK 是纯 C 哦,JNI就像戴套子一样,Java 要搞 C ,中间必须隔着个 JNI。
2016-12-24 11:57:29
461
NDK和JNI的区别?
JNI(Java Native Interface)java调用本地接口 的技术名词 NDK(Native Developer Kit)谷歌给开发人员的工具包 NDK 是纯 C 哦,JNI就像戴套子一样,Java 要搞 C ,中间必须隔着个 JNI。 <script type="text/javascript"> $(fu...
2016-12-24 11:57:00
177
原创 android2.2.2初使用NDK?
倒腾了一下午,但其实没必要,android2.2.2对NDK开发已经非常便捷了。 只要预先在Android SDK里下载CMake、LLDB、NDK,然后在创建项目的时候勾上Include C++ Support。
2016-12-24 11:56:44
214
android2.2.2初使用NDK?
倒腾了一下午,但其实没必要,android2.2.2对NDK开发已经非常便捷了。 只要预先在Android SDK里下载CMake、LLDB、NDK,然后在创建项目的时候勾上Include C++ Support。 <script type="text/javascript"> $(function () { ...
2016-12-24 11:56:00
124
原创 Sax和Pull解析Xml的异同点?
Sax和Pull都是基于流的解析器。但是SAX在解析的过程中是不可控的,而PULL在解析的过程中是可控的,随便找个sax和pull的例子比较一下就可以发现,pull是一个while循环,随时可以跳出,而sax不是,sax是只要解析了,就必须解析完成。
2016-12-24 11:55:49
264
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人