- 博客(23)
- 资源 (1)
- 收藏
- 关注
原创 android UI AppBarLayout CollapsingToolbarLayout
AppBarLayout简单介绍AppBarLayout 是继承LinerLayout实现的一个ViewGroup容器组件,它是为了Material Design设计的App Bar,支持手势滑动操作他的主要功能让子View(AppBar)可以选择他们自己的滚动行为(需要跟CoordinatorLayout配合使用,下面会介绍如何配合CoordinatorLayout组件)。 (1) scroll
2017-04-05 13:21:26
362
1
原创 android UI StatusBar(手机顶部状态栏)适配
前言:状态栏指定android手机上顶部显示手机状态信息的位置,状态栏是在4.4(19)加入的,在4.4以前的系统上无法实现。现在世面上的手机android4.4一下的占比不是很大,所以不是太影响.本文目的解决4.4以上适配问题。android 4.4(19)的界面android 6.0(23)的界面问题:19和23的界面statusbar不统一,颜色各异 出现原因:19根本没有setStat
2017-04-04 02:35:34
2580
原创 【Android】Merge讲解与实例
单独将标签做个介绍,是因为它在优化UI结构时起到很重要的作用。目的是通过删减多余或者额外的层级,从而优化整个Android Layout的结构。核心功能就是减少冗余的层次从而达到优化UI的目的! 将通过一个例子来了解这个标签实际所产生的作用,这样可以更直观的了解的用法。 建立一个简单的Layout,其中包含两个Views元素:ImageView和TextView 默认状态下我们将这两个元素放在F
2017-04-02 18:36:47
412
原创 对activity的提前处理写的PrefUtil类
对activity的提前处理,主要应用于获取本地值,方便acitivity的生成,也用于activity运行时改变某些必须变量。 public class PrefUtil {private static final String PRE_NAME = "io.github.laucherish.purezhihud_preferences";private static final Strin
2017-04-02 16:03:59
301
原创 欢迎使用CSDN-markdown编辑器
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl
2016-11-28 10:13:05
162
转载 欢迎使用CSDN-markdown编辑器
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl
2016-11-24 23:20:25
239
原创 linux沾着位
1:在列文件或目录时,有时会遇到“ t”位。“t”代表了粘性位。如果在一个目录上出现“t”位,这就意味着该目录中的文件只有其属主才可以删除,即使某个同组用户具有和属主同等的权限。不过有的系统在这一规则上并不十分严格。 如果一个目录设置了沾着位,只有对该目录具有写权限的用户并且满足下列条件之一,才能删除和重命名该目录下的文件: ×拥有此文件 ×拥有此目录 ×是超级用户2:如果在文件列表时看到“
2016-11-20 19:43:44
265
转载 程序流程图的画法
1、程序流程图的作用 程序流程图的作用程序流程图的作用程序流程图的作用 程序流程图是人们对解决问题的方法、思路或算法的一种描述。 流程图的优点: (a)采用简单规范的符号,画法简单; (b)结构清晰,逻辑性强; (c)便于描述,容易理解。 2、流程图采用的符号 三种循环
2016-11-14 15:39:44
890
原创 unix环境高级编程(文件和目录)
不是根据书实际写了,所有实际的数据均来自于我自己的ubuntu,下面操作系统的内核版本: Linux version 4.4.0-45-generic (buildd@lgw01-19) (gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.2) ) #66-Ubuntu SMP Wed Oct 19 14:12:05 UTC 2016u
2016-11-11 21:55:21
468
转载 Android性能优化典范之多线程篇
本文涉及的内容有:多线程并发的性能问题,介绍了 AsyncTask,HandlerThread,IntentService 与 ThreadPool 分别适合的使用场景以及各自的使用注意事项,这是一篇了解 Android 多线程编程不可多得的基础文章,清楚的了解这些 Android 系统提供的多线程基础组件之间的差异以及优缺点,才能够在项目实战中做出最恰当的选择。Threading Perform
2016-11-10 22:19:04
280
原创 AsyncTask的理解
使用AsyncTask的规则 AsyncTask的类必须在UI线程加载(从4.1开始系统会帮我们自动完成) AsyncTask对象必须在UI线程创建 execute方法必须在UI线程调用 不要在你的程序中去直接调用onPreExecute(), onPostExecute, doInBackground, onProgressUpdate方法 一个AsyncTask对象只能执行一次,即只能
2016-11-10 21:44:52
438
转载 android looper
Understanding Looper Looper是用于给一个线程添加一个消息队列(MessageQueue),并且循环等待,当有消息时会唤起线程来处理消息的一个工具,直到线程结束为止。通常情况下不会用到Looper,因为对于Activity,Service等系统组件,Frameworks已经为我们初始化好了线程(俗称的UI线程或主线程),在其内含有一个Looper,和由Looper创建的消息
2016-11-10 20:16:02
226
转载 String,StringBuffer与StringBuilder的区别??
String,StringBuffer与StringBuilder的区别??String 字符串常量 StringBuffer 字符串变量(线程安全) StringBuilder 字符串变量(非线程安全) 简要的说, String 类型和 StringBuffer 类型的主要性能区别其实在于 String 是不可变的对象, 因此在每次对 String 类型进行改变的时候其实都等同于生成了一个
2016-11-10 19:50:23
212
原创 android中viewgroup中ontouch的传递机制
android中viewgroup中ontouch的传递机制Android的触摸事件:onClick, onScroll, onFling等等,都是由许多个Touch组成的。其中Touch的第一个状态肯定是ACTION_DOWN, 表示按下了屏幕。之后,touch将会有后续事件,可能是: ACTION_MOVE //表示为移动手势 ACTION_UP //表示为离开屏幕 ACTION_CA
2016-11-09 00:35:12
321
原创 欢迎使用CSDN-markdown编辑器
andorid绘图公共函数:/** * author:beef * email :460955584@qq.com * created 2016/11/8 0:45 * @param resources 资源id. * @param context 上下文. * 依赖drawableToBitamp函数。 */ publ
2016-11-08 00:49:23
187
原创 java代理理解
main 类:import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.lang.reflect.Proxy; public class Main { private Button button = new But
2016-04-17 03:24:35
259
原创 安卓中对notifyDataSetChanged()和notifyDataSetInvalidated的源码解析
学习它的用处:一些面向对象的编程方式,提供了一种构建对象间复杂网络互连的能力。当对象们连接在一起时,它们就可以相互提供服务和信息。通常来说,当某个对象的状态发生改变时,你仍然需要对象之间能互相通信。但是出于各种原因,你也许并不愿意因为代码环境的改变而对代码做大的修改。也许,你只想根据你的具体应用环境而改进通信代码。或者,你只想简单的重新构造通信代码来避免类和类之间的相互依赖与相
2016-04-17 01:26:26
560
原创 volatile的用处
#include #include int main(){ volatile int i = 10;int a = i;printf("i= %d\n", a);__asm{mov dword ptr [ebp - 4], 20h }int b = i;printf("i= %d\n",b); std::cin.ge
2015-11-23 12:23:36
268
原创 c++ 排序
#include #include using namespace std;int random(int c){ while(true) { int a=rand(); if (a { return a; } }}class Demo_s
2015-04-29 11:23:35
400
转载 JS中的闭包
var result=[];function foo(){ var i= 0; for (;i){ result[i]=function(){ alert(i) } }};foo();result[0](); // 3result[1](); // 3result[2](); // 3为什么都是
2015-04-22 10:13:20
299
原创 C++ STL
初学STL,,朋友强烈推荐我学。以下是初次接触看了其他人的文章分析及心得, #include #include using namespace std;#define SIZE 100int iarray[SIZE];int main(){ iarray[20] = 50; int* ip = find(iarray, iarray
2015-04-12 23:33:48
476
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人