android点滴之ViewTreeObserver】的更多相关文章

一类的基本概念 这是一个注册监听视图树的观察者(observer),在视图树种全局事件改变时得到通知.这个全局事件不仅还包括整个树的布局,从绘画过程开始,触摸模式的改变等.最常见的用途时通过监听获知什么时候,视图的宽高值确定了,可以获取了,以便更改UI. 二类的主要接口:监听器 interface ViewTreeObserver.OnGlobalFocusChangeListener 当在一个视图树中的焦点状态发生改变时,所要调用的回调函数的接口类 interface ViewTreeObse…
ViewTreeObserver结构 extends Object java.lang.Object ↳ android.view.ViewTreeObserver ViewTreeObserver概述 A view tree observer is used to register listeners that can be notified of global changes in the view tree. Such global events include, but are not…
1:ICCID:Integrate circuit card identity 集成电路卡识别码(固化在手机SIM卡中) ICCID为IC卡的唯一识别号码,共有20位数字组成,其编码格式为:XXXXXX 0MFSS YYGXX XXXXX.分别介绍如下: 前六位运营商代码:中国移动的为:898600:中国联通的为:898601. 2:IMSI  国际移动用户识别码(IMSI:International Mobile Subscriber Identification Number)是区别移动用户…
一概念 PendingIntent就是一个能够在满足一定条件下运行的Intent,它相比于Intent的优势在于自己携带有Context对象.这样他就不必依赖于某个activity才干够存在. 它和Intent的主要差别在于Intent的运行立马的,而pendingIntent的运行不是立马的.pendingIntent运行的操作实质上是參数传进来的Intent的操作.可是使用pendingIntent的目的在于它所包括的Intent的操作的运行是须要满足某些条件的. 二实质 PendingIn…
近期在做项目时,又要写 ViewHolder. 突然想到网上看看有没什么好的写法! 不知道你是不是也烦透了写那些没有技术含量的ViewHolder 看看这些.也许会有收获! 然后就找到了以下两篇文章(感谢分享! ): ViewHolder超简洁写法 点击跳转 优雅的使用ViewHolder 点击跳转 然后自己整理的了, 保存起来.省的忘记.顺便分享一下! 直接贴代码了: 第一种: import android.util.SparseArray; import android.view.View;…
转载请注明出处:http://blog.csdn.net/lskshz/article/details/25364909 一.介绍 HandlerThread继承自Thread,当线程开启时,也就是它run方法运行起来后, 线程同时创建了一个含有消息队列的Looper,并对外提供自己这个Looper对象的get方法,这就是它和普通Thread唯一不同的地方. 二.好处 为什么要使用HandlerThread. 1.开发中如果多次使用类似new Thread(){...}.start() 这种方式…
1.AndroidM环境下,在framework层添加代码会对jar包的package name进行检查,并提示”unknown package name of class file”怎么解决? 产生这个报错是因为AndroidM新添加了对framework下jar包的package name检查,解决的方法是在 build/core/tasks/check_boot_jars/package_whitelist.txt 文件中按照规则将新增代码添加到白名单 name检查的逻辑由build/co…
1,View中getWidth(),getLayoutParams.width,getMeasureedWidth()的区别 2,setCompoundDrawables和setCompoundDrawablesWithIntrinsicBounds 的区别 1,View中getWidth(),getLayoutParams.width,getMeasureedWidth()的区别 getWidth()在layout执行完后才能获取宽度,在onMeasure()方法中是拿不到的  而固定宽度,可…
眼下最完整的,须要注冊的动作匹配例如以下: IntentFilter intentFilter = new IntentFilter(Intent.ACTION_MEDIA_MOUNTED); intentFilter.addAction(Intent.ACTION_MEDIA_UNMOUNTED); intentFilter.addAction(Intent.ACTION_MEDIA_SCANNER_STARTED); intentFilter.addAction(Intent.ACTION_…
一概念 ContentObserver用于观察(捕捉)特定Uri引起的数据的变化,继而做一些对应的处理,当ContentObserver所观察的Uri发生变化时,便会触发它. 从概念看ContentObserver特别适合用于监视系统数据的变化,比方数据库发生了修改,或者其它不论什么已经在UriMatcher类注冊过的Uri,比方:Settings.System.ACCELEROMETER_ROTATION,能够监视系统屏幕的方向. 二使用 1.创建 mObserver = new Conten…
现在移动开发Android.iOS都很普遍,本人也是第一次学习Android,所以记录自己学习Android点滴,刚学不久肯定有很多不足地方望大家批评指正. 一.Android工具环境搭配 网上已经有很多教程,这个不必详述了.推荐实用Android Studio把,由于Android官网上不去,所以与之相关工具.SDK等可以到http://www.androiddevtools.cn/这个网站下载使用. 把Android Studio一些设置都弄好就可以开发了. 二.Android工程 打开工程…
View宽高测量方法: 测量方法有三种,如下: 1)(直接在onCreate()执行) int w = View.MeasureSpec.makeMeasureSpec(0,View.MeasureSpec.UNSPECIFIED); int h = View.MeasureSpec.makeMeasureSpec(0,View.MeasureSpec.UNSPECIFIED); imageView.measure(w, h); int height =imageView.getMeasured…
Android ViewTreeObserver简介   一.结构 public final class ViewTreeObserver extends Object java.lang.Object android.view.ViewTreeObserver   二.概述 这是一个注册监听视图树的观察者(observer),在视图树种全局事件改变时得到通知.这个全局事件不仅还包括整个树的布局,从绘画过程开始,触摸模式的改变等.ViewTreeObserver不能够被应用程序实例化,因为它是由…
东一点西一点,很多时间都浪费了.是该系统性的做好自己的东西了. <android学习点滴一:android环境的搭建> [环境变量]变量名:JAVA_HOME变量值:C:\Java\jdk1.8.0_20 (即JDK的安装目录) 变量名:CLASSPATH变量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar; 编辑 Path%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin; [ADT安装] 启动 Eclipse,然后…
1:关于断点 设置断点点三角是进不去的,这个是类似c#的release 正式版, 点第二个红圈内的debug的那个按钮才可以   . 这个按钮可以让程序及时进入当前断点处 2:对于背景颜色 android:textColor="@color/white" 这个@color不是文件名,是文件名下定义的一个名称<color> 算是地址吧@ 找这个color的定义地方app\src\main\res\values\colors.xml 实际是在这个目录的文件里定义的 3:关于加l…
在Jelly Bean(API 16)以前,为了实现顶部的导航菜单,程序员们不得不手工写代码, 神马在OnCreate啊,神马onOptionsItemSelected啊,但是,现在一切都是浮云了. 你需要做的只是在AndroidManifest中增加那么一小句话,指定父Activity就好了. 我们来看下代码: ... <activity android:name=".CurrentActivity" android:label="@string/app_name&q…
问题描述: 如何使按钮水平垂直居中且始终占据屏幕宽度一半 效果如下: 竖屏: 横屏: 解决方案: 使用线性布局,指定线性布局的总权重(weightSum)为1, 指定按钮的权重为其一半即0.5 布局代码如下: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"…
Android ViewTreeObserver简介   一.结构 public final class ViewTreeObserver extends Object java.lang.Object android.view.ViewTreeObserver   二.概述 这是一个注册监听视图树的观察者(observer),在视图树种全局事件改变时得到通知.这个全局事件不仅还包括整个树的布局,从绘画过程开始,触摸模式的改变等.ViewTreeObserver不能够被应用程序实例化,因为它是由…
1.把本机地址广播出去private void sendIP() { try { DatagramSocket dgSocket = new DatagramSocket(8989); byte[] by = _ipString.getBytes(); try { DatagramPacket packet = new DatagramPacket(by,by.length, InetAddress.getByName(_broadcastAddress),8989); try { dgSock…
服务器端:(根据Apache POI库函数其中SlideShow表示PPT文档,Slide表示某一张幻灯片) 1.先把电脑中的PPT文件读入到一个字节数组中.(输入流-->字节数组-->输出流-->字节数组) FileInputStream inputStream = new FileInputStream(Path); ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();    byte[]…
今天,把新作的布局状态魅族机上进行测试 发现了一个BUG,造成闪退. 看了下log,一个布局造成的. 开始分析这个布局造成这个问题的原因. 开始艰难的调试过程. 代码注释大法,发现这个问题是一个textview 的 设置文本方向的设置属性造成, 删除后,一切正常. 调试要是慢慢来,才能快快的解决问题.…
Android问题集锦Ⅰ:http://www.cnblogs.com/AndroidJotting/p/4608025.html EditText输入内容改变事件监听 _edit.addTextChangedListener (new TextWatcher(){ @Override public void afterTextChanged (Editable s) { // TODO Auto-generated method stub } @Override public void bef…
春节后,又重新“开张”.各位高手请继续支持.谢谢! 原文标题:Kotlin recipes for Android (I): OnGlobalLayoutListener 原文链接:http://antonioleiva.com/kotlin-ongloballayoutlistener/ 原文作者:Antonio Leiva(http://antonioleiva.com/about/) 原文发布:2016-03-16 ­ Android的Kotlin秘方(I):OnGlobalLayoutL…
无意间了解到沉浸式状态栏,感觉贼拉的高大上,于是就是试着去了解一下,就有了这篇文章.下面就来了解一下啥叫沉浸式状态栏.传统的手机状态栏是呈现出黑色条状的,有的和手机主界面有很明显的区别.这一样就在一定程度上牺牲了视觉宽度,界面面积变小.Google从android kitkat(Android 4.4)开始,给我们开发者提供了一套能透明的系统ui样式给状态栏和导航栏,这样的话就不用向以前那样每天面对着黑乎乎的上下两条黑栏了,还可以调成跟Activity一样的样式,形成一个完整的主题,和IOS7.…
说到PopupWindow,我个人感觉是又爱又恨,没有深入使用之前总觉得这个东西应该很简单,很好用,但是真正使用PopupWindow实现一些效果的时候总会遇到一些问题,但是即便是人家的api有问题,作为程序员也没有办法,只能去想办法去补救. 下面是我在使用过程中发现的关于PopupWindow的几个痛点: 痛点一:不设置背景就不能响应返回键和点击外部消失的,这个我已经有一篇文章进行分析过http://www.cnblogs.com/popfisher/p/5608717.html,这个我认为就…
1 TextView文本框 1.1 TextView类的结构 TextView 是用于显示字符串的组件,对于用户来说就是屏幕中一块用于显示文本的区域.TextView类的层次关系如下: java.lang.Object   ↳ android.view.View   ↳ android.widget.TextView 直接子类: Button, CheckedTextView, Chronometer, DigitalClock, EditText 间接子类: AutoCompleteTextV…
Android EditText悬浮在输入法之上 使用 android:windowSoftInputMode="adjustResize" 会让界面整体被顶上去,很多时候我们不需要这样的情况出现,这里给出另一个方案. 思路:监听输入法的状态,然后动态的滚动 EditText 所在的 ViewGroup 或者View 1. Android Manifest.xml <activity android:name=".InputActivity" android:…
转载:http://blog.csdn.net/johnny901114/article/details/7839512 我们都知道在onCreate()里面获取控件的高度是0,这是为什么呢?我们来看一下示例: 首先我们自己写一个控件,这个控件非常简单: public class MyImageView extends ImageView { public MyImageView(Context context, AttributeSet attrs) { super(context, attr…
产品经理用的是ios手机,于是android就走上了模仿的道路.做这个东西也走了一些弯路,写一篇博客放在这里,以后自己也可用参考,也方便别人学习. 弯路: 1.刚开始本来用PopupWindow去实现,做着之后发现如果用popupwindow实现的话,从标题栏下面弹出就比较麻烦. 2.最外层的布局本来是用LinearLayout去实现的,然后标题栏跟弹出的那个TextView外边包裹一层RelativeLayout,这样就会有一个问题,父布局RelativeLayout高度就是标题栏高度,提示框…
PS:今天项目测试组发现,百度地图定位的数据坐标位置是正确的,但是显示的数据是错误的.最后查来查去发现,那个商厦在百度地图上根本就没有那条数据,这让我如何显示,当初就推崇使用高德地图定位,上面的数据量比较的完整,而且定位的也比较的精准,非得用百度地图定位,这下定位不到数据,懵逼了吧.. 学习内容: 1.自定义View+Canvas+XferMode实现圆形头像裁切   头像裁切现如今在很多应用中都会得到使用,一般都是在个人资料页面设置头像,然后选择图片,或者是直接开启相机拍摄一张图片,通过裁切和…