<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[fishle123的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/fishle123</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; fishle123]]></copyright><item><title><![CDATA[Android StateListDrawable与透明度Alpha相关的一个bug]]></title><link>https://blog.youkuaiyun.com/fishle123/article/details/53046608</link><guid>https://blog.youkuaiyun.com/fishle123/article/details/53046608</guid><author>fishle123</author><pubDate>Sat, 05 Nov 2016 17:44:05 +0800</pubDate><description><![CDATA[最近在做需求的时候，需要用StateListDrawable来实现ImageView的不同点击状态：点击状态和其他状态。在点击状态下，只需要调整一下ImageView的透明度就好了。需求很简单，很快做完了，自测也没问题。生成StateListDrawable的核心代码如下：
private StateListDrawable getImageViewStateListDrawable(Drawa]]></description><category></category></item><item><title><![CDATA[LayoutInflater源码分析]]></title><link>https://blog.youkuaiyun.com/fishle123/article/details/51039293</link><guid>https://blog.youkuaiyun.com/fishle123/article/details/51039293</guid><author>fishle123</author><pubDate>Fri, 01 Apr 2016 20:16:38 +0800</pubDate><description><![CDATA[在Android里面，经常使用LayoutInflater来加载布局。这里结合源码分析一下LayoutInflater是如何加载布局的。
LayoutInflater一个常见的用法如下：
private View inflateView(Context context, int resID) {
    LayoutInflater inflater = LayoutInflater.from]]></description><category></category></item><item><title><![CDATA[Android如何捕获应用的crash信息]]></title><link>https://blog.youkuaiyun.com/fishle123/article/details/50823358</link><guid>https://blog.youkuaiyun.com/fishle123/article/details/50823358</guid><author>fishle123</author><pubDate>Mon, 07 Mar 2016 23:41:42 +0800</pubDate><description><![CDATA[我们的应用不可避免的会发生crash，如果是在调试阶段，我们可以使用Logcat查看异常信息。但是如果应用发布之后呢？如果在用户那边crash了，如果我们可以捕获这些crash信息，那么对我们定位crash原因并修复问题是很有帮助的。应用crash即可能是Java层的异常导致的，也可能是native层导致，下面分别来看一下该如何处理。
1 Java层的未捕获异常处理
先来看一下Java层的cr]]></description><category></category></item><item><title><![CDATA[setContentView源码分析]]></title><link>https://blog.youkuaiyun.com/fishle123/article/details/50812266</link><guid>https://blog.youkuaiyun.com/fishle123/article/details/50812266</guid><author>fishle123</author><pubDate>Sun, 06 Mar 2016 10:41:35 +0800</pubDate><description><![CDATA[转载请注明出处：
在Activity中，常常第一件事就是在onCreate里面调用setContentView来设置布局。大家都知道setContentView用来设置Activity的布局，但是有没有研究过setContentView究竟做了哪些事呢？本文就一起看看setContentView是如何加载我们的布局的。看完之后大家就会知道为什么使用requestWindowFeature设置窗口]]></description><category></category></item><item><title><![CDATA[使用TouchDelegate增大控件的触摸范围]]></title><link>https://blog.youkuaiyun.com/fishle123/article/details/50809872</link><guid>https://blog.youkuaiyun.com/fishle123/article/details/50809872</guid><author>fishle123</author><pubDate>Sat, 05 Mar 2016 17:52:28 +0800</pubDate><description><![CDATA[转载请注明出处：
在很多Android应用有时候为了美观，有时候可能受限于屏幕大小，有些控件不能显示太大。但是控件太小，又不方便用户点击，影响体验。有没有办法可以在不调整控件大小的情况增大控件接收触摸事件的范围呢？使用TouchDelegate就可以解决这个问题了。
TouchDelegate的使用非常简单，假如我想增大一个Button的触摸范围，下面几行代码即可轻松实现：
mBtnHell]]></description><category></category></item><item><title><![CDATA[JobService的使用及源码分析]]></title><link>https://blog.youkuaiyun.com/fishle123/article/details/50790894</link><guid>https://blog.youkuaiyun.com/fishle123/article/details/50790894</guid><author>fishle123</author><pubDate>Thu, 03 Mar 2016 19:11:00 +0800</pubDate><description><![CDATA[Google在Android 5.0中引入JobScheduler来执行一些需要满足特定条件但不紧急的后台任务，APP利用JobScheduler来执行这些特殊的后台任务时来减少电量的消耗。本文首先介绍JobSerice的使用方法，然后分析JobService的源码实现。
JobService的使用
使用JobScheduler的时候需要把待执行的后台任务封装到JobService中提交。下面]]></description><category></category></item><item><title><![CDATA[Android截图的两种方法]]></title><link>https://blog.youkuaiyun.com/fishle123/article/details/50790835</link><guid>https://blog.youkuaiyun.com/fishle123/article/details/50790835</guid><author>fishle123</author><pubDate>Thu, 03 Mar 2016 18:53:49 +0800</pubDate><description><![CDATA[转载请注明出处：
有时候我们需要保存某个Activity的截图，下面介绍两种方法。
1）使用view的getDrawingCache来获取当前Activity的截图
private static String TAG = "--->";
private static final String SCREEN_SHOT_DIR = "TestScreenShot";
private static]]></description><category></category></item><item><title><![CDATA[Android动画框架(三)----布局动画&Activity过渡动画]]></title><link>https://blog.youkuaiyun.com/fishle123/article/details/50759893</link><guid>https://blog.youkuaiyun.com/fishle123/article/details/50759893</guid><author>fishle123</author><pubDate>Sun, 28 Feb 2016 14:31:29 +0800</pubDate><description><![CDATA[这里把布局动画和Activity切换动画都归类为特殊场景的动画使用，因此放在一起来介绍它们的使用技巧。所谓布局动画即在ViewGroup布局发生改变（如addView，removeView...）时提供的一个过渡动画。根据布局动画效果的不同，布局动画即可以是属性动画，也可以是视图动画，两种类型的动画有各自的不同应用场景。Activity过渡动画是指Activity在打开或者退出时的过渡动画。
1]]></description><category></category></item><item><title><![CDATA[Android动画框架(二)----属性动画]]></title><link>https://blog.youkuaiyun.com/fishle123/article/details/50705928</link><guid>https://blog.youkuaiyun.com/fishle123/article/details/50705928</guid><author>fishle123</author><pubDate>Sat, 20 Feb 2016 20:20:40 +0800</pubDate><description><![CDATA[Android提供三种形式动画：视图动画，帧动画，属性动画。其中属性动画的功能最强大，在Android 3.0中开始引入。本文介绍属性动画。属性动画可以针对Object的任何一个属性实施动画，并且Object的属性值会随着动画改变，这一点与视图动画不同。属性动画功能非常强大，几乎可以实现任何动画效果。本文首先介绍属性动画的工作原理，然后全面的介绍了属性动画的使用技巧，为了更好的使用属性动画，还详细]]></description><category></category></item><item><title><![CDATA[Android动画框架(一)----视图动画&帧动画]]></title><link>https://blog.youkuaiyun.com/fishle123/article/details/50668189</link><guid>https://blog.youkuaiyun.com/fishle123/article/details/50668189</guid><author>fishle123</author><pubDate>Mon, 15 Feb 2016 14:33:40 +0800</pubDate><description><![CDATA[Android提供三种形式动画：视图动画，帧动画，属性动画。其中属性动画的功能最强大，在Android 3.0中开始引入。本文介绍视图动画和帧动画的使用技巧。
1 视图动画（View Animation）
Android的视图动画可以完成一系列的补间动画（Tween Animation），如平移，缩放，旋转，透明度变化等。视图动画是针对View的内容（content），因此，当View发生视图]]></description><category></category></item><item><title><![CDATA[Android Touch 事件传递机制]]></title><link>https://blog.youkuaiyun.com/fishle123/article/details/50638795</link><guid>https://blog.youkuaiyun.com/fishle123/article/details/50638795</guid><author>fishle123</author><pubDate>Fri, 05 Feb 2016 18:07:50 +0800</pubDate><description><![CDATA[在 Android UI 开发中，经常涉及touch（触摸）事件和手势。最经常使用的点击事件（OnClickListener）也与 touch 事件相关。因此，理解 touch 事件在 View 层级中的传递机制尤为重要。然而，dispatchTouchEvent、onInterceptTouchEvent、onTouchEvent等一系列接口方法很容易让人混淆。
本文将介绍 touch 事件的]]></description><category></category></item><item><title><![CDATA[Android 开源项目分类汇总--1]]></title><link>https://blog.youkuaiyun.com/fishle123/article/details/50606533</link><guid>https://blog.youkuaiyun.com/fishle123/article/details/50606533</guid><author>fishle123</author><pubDate>Fri, 29 Jan 2016 13:02:38 +0800</pubDate><description><![CDATA[【原文地址：https://github.com/Trinea/android-open-project】




目前包括：


Android开源项目第一篇——个性化控件(View)篇
  包括ListView、ActionBar、Menu、ViewPager、Gallery、GridView、ImageView、ProgressBar、TextView、ScrollView]]></description><category></category></item><item><title><![CDATA[AsyncTask源码分析]]></title><link>https://blog.youkuaiyun.com/fishle123/article/details/50188729</link><guid>https://blog.youkuaiyun.com/fishle123/article/details/50188729</guid><author>fishle123</author><pubDate>Sat, 05 Dec 2015 19:57:54 +0800</pubDate><description><![CDATA[转载请注明出处：http://blog.youkuaiyun.com/fishle123/article/details/50188729

在Android开发中，AsyncTask经常用来执行一些耗时任务，并且在任务完成可以更新UI。本文通过对AsyncTask源码的分析来分析其实现机制，先简单介绍了AsyncTask的基本用法，然后结束AsyncTask怎样与主线程交互，最后深入分析AsyncTask的...]]></description><category></category></item><item><title><![CDATA[HTTP协议详解----HTTP消息]]></title><link>https://blog.youkuaiyun.com/fishle123/article/details/48895927</link><guid>https://blog.youkuaiyun.com/fishle123/article/details/48895927</guid><author>fishle123</author><pubDate>Sun, 04 Oct 2015 13:16:25 +0800</pubDate><description><![CDATA[本文主要介绍HTTP消息，包括HTTP请求/响应格式，以及HTTP消息头。


HTTP：超文本传输协议（Hypertext Transfer Protocol） 
HTTP的发展是万维网协会（World Wide Web Consortium）和Internet工作小组（Internet Engineering Task Force）合作的结果，（他们）最终发布了一系列的RFC，其中最著]]></description><category></category></item><item><title><![CDATA[深入理解ThreadLocal]]></title><link>https://blog.youkuaiyun.com/fishle123/article/details/48087753</link><guid>https://blog.youkuaiyun.com/fishle123/article/details/48087753</guid><author>fishle123</author><pubDate>Sat, 29 Aug 2015 15:29:47 +0800</pubDate><description><![CDATA[在Android里面，在不同的线程(假设子线程已经创建了Looper)中创建Handler的时候，并不需要显式指定Looper，系统能自动找到改线程自己的Looper。不同线程的Looper相互独立，之所以能做到这一点，就是借助ThreadLocal来实现的。本文介绍了ThreadLocal的使用，及其实现原理。最后还介绍了InheritThreadLocal的使用。]]></description><category></category></item><item><title><![CDATA[Android消息机制分析]]></title><link>https://blog.youkuaiyun.com/fishle123/article/details/47864923</link><guid>https://blog.youkuaiyun.com/fishle123/article/details/47864923</guid><author>fishle123</author><pubDate>Sat, 22 Aug 2015 21:54:12 +0800</pubDate><description><![CDATA[Android应用程序是消息驱动的，Android应用程序的消息机制是围绕消息队列来实现的，具体的，主要通过Handler、MessageQueue、Looper三个类来实现。其中Handler用来发送和处理消息；MessageQueue表示一个消息队列，负责入队和出队消息；Looper类用于创建消息循环。本文结合源码来介绍Android的消息机制包括：消息循环的创建、消息的发送和处理。]]></description><category></category></item><item><title><![CDATA[Android性化控件之ListView]]></title><link>https://blog.youkuaiyun.com/fishle123/article/details/43376335</link><guid>https://blog.youkuaiyun.com/fishle123/article/details/43376335</guid><author>fishle123</author><pubDate>Sun, 01 Feb 2015 22:02:38 +0800</pubDate><description><![CDATA[强大的listview自定义控件集合



工具/原料



Android ADT

Eclipse





方法/步骤



1


在实际项目中，以下很多控件如用到了网络加载图片，可能会出现性能问题，比如图片加载不出来，滑动过快的时候会出现bug等等各种各样的问题，这时候可能你会觉得是这些控件的bug，这里强烈推荐凡是用图片的都用这个

h]]></description><category></category></item></channel></rss>