<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[chenfuduo_loveit的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/chenfuduo_loveit</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; chenfuduo_loveit]]></copyright><item><title><![CDATA[ListView的快速索引]]></title><link>https://blog.youkuaiyun.com/chenfuduo_loveit/article/details/45576261</link><guid>https://blog.youkuaiyun.com/chenfuduo_loveit/article/details/45576261</guid><author>chenfuduo_loveit</author><pubDate>Fri, 08 May 2015 10:16:59 +0800</pubDate><description><![CDATA[在玩即时通讯app比如微信的联系人列表的时候，发现联系人列表的右侧有个竖排的字母索引，点击字母，可以快速索引到相应的联系人。本篇就是实现这个功能。

效果图：
快速索引
快速索引
需要实现：

将右侧的字母画到屏幕上去；联系人列表排序；根据联系人名字的首字母为ListView打上TAG选中索引的某个字母，出现相应的TAG下的联系人；
画索引字母到屏幕上
新建一个类，继承自View]]></description><category></category></item><item><title><![CDATA[ActivityLifeCycle官方demo解析]]></title><link>https://blog.youkuaiyun.com/chenfuduo_loveit/article/details/44256687</link><guid>https://blog.youkuaiyun.com/chenfuduo_loveit/article/details/44256687</guid><author>chenfuduo_loveit</author><pubDate>Sat, 14 Mar 2015 09:19:25 +0800</pubDate><description><![CDATA[1.关于Activity的生命周期的几篇文章：
http://1.duoinfo.sinaapp.com/?p=330

http://1.duoinfo.sinaapp.com/?p=332

http://1.duoinfo.sinaapp.com/?p=335
http://1.duoinfo.sinaapp.com/?p=337

training课程给的图是这样的：
]]></description><category></category></item><item><title><![CDATA[Custom Drawing]]></title><link>https://blog.youkuaiyun.com/chenfuduo_loveit/article/details/44194071</link><guid>https://blog.youkuaiyun.com/chenfuduo_loveit/article/details/44194071</guid><author>chenfuduo_loveit</author><pubDate>Wed, 11 Mar 2015 08:56:19 +0800</pubDate><description><![CDATA[Override onDraw()

The most important step in drawing a custom view is to override the onDraw() method.
 The parameter to onDraw() is
 a Canvasobject
 that the view can use to draw itself. The Ca]]></description><category></category></item><item><title><![CDATA[85ViewTreeObserver.addOnGlobalLayoutListener(listener)]]></title><link>https://blog.youkuaiyun.com/chenfuduo_loveit/article/details/43411473</link><guid>https://blog.youkuaiyun.com/chenfuduo_loveit/article/details/43411473</guid><author>chenfuduo_loveit</author><pubDate>Mon, 02 Feb 2015 17:22:42 +0800</pubDate><description><![CDATA[有时候需要在onCreate方法中知道某个View组件的宽度和高度等信息，而直接调用View组件的getWidth()、getHeight()、getMeasuredWidth()、getMeasuredHeight()、getTop()、getLeft()等方法是无法获取到真实值的，只会得到0。这是因为View组件布局要在onResume回调后完成。下面提供实现方法，onGlobalLayout]]></description><category></category></item><item><title><![CDATA[GridView属性集合  drawSelectorOnTop]]></title><link>https://blog.youkuaiyun.com/chenfuduo_loveit/article/details/43408991</link><guid>https://blog.youkuaiyun.com/chenfuduo_loveit/article/details/43408991</guid><author>chenfuduo_loveit</author><pubDate>Mon, 02 Feb 2015 15:16:35 +0800</pubDate><description><![CDATA[android:fastScrollEnabled="true"

是让ListView出现快速滚动的按钮，一开始，我的记录只有十条，我在拉动的时候都不见出现快速滚动，后来才发现，原因是数据不多的原因，只要数据足够多，才会自动出现的。

 

还有一个属性：android:drawSelectorOnTop


When set to true, the selector wil]]></description><category></category></item><item><title><![CDATA[84Android drawable-nodpi 的作用]]></title><link>https://blog.youkuaiyun.com/chenfuduo_loveit/article/details/43408745</link><guid>https://blog.youkuaiyun.com/chenfuduo_loveit/article/details/43408745</guid><author>chenfuduo_loveit</author><pubDate>Mon, 02 Feb 2015 15:09:25 +0800</pubDate><description><![CDATA[把一些不能被拉伸的图片放在 drawable-nodpi 中，此图片将不会被放大，以原大小显示。

看下图：


drawable-nodpi 的作用" title="Android drawable-nodpi 的作用" style="margin:0px; padding:0px; border:0px; list-style:none">




这两个图片被放到了dra]]></description><category></category></item><item><title><![CDATA[Displaying Bitmap小结]]></title><link>https://blog.youkuaiyun.com/chenfuduo_loveit/article/details/43408285</link><guid>https://blog.youkuaiyun.com/chenfuduo_loveit/article/details/43408285</guid><author>chenfuduo_loveit</author><pubDate>Mon, 02 Feb 2015 14:42:06 +0800</pubDate><description><![CDATA[Google的关于展示位图的课程学习完毕了。主要的内容主要包括了下面的几个部分：

1.高效的加载大图(Loading Large Bitmaps Efficiently)

2.非UI线程处理Bitmap(Processing Bitmaps Off the UI Thread)

3.缓存Bitmaps(Caching Bitmaps)（LruCache和DiskLruCache，]]></description><category></category></item><item><title><![CDATA[Displaying Bitmaps in Your UI]]></title><link>https://blog.youkuaiyun.com/chenfuduo_loveit/article/details/43408257</link><guid>https://blog.youkuaiyun.com/chenfuduo_loveit/article/details/43408257</guid><author>chenfuduo_loveit</author><pubDate>Mon, 02 Feb 2015 14:40:16 +0800</pubDate><description><![CDATA[This lesson brings together everything from previous lessons, showing you how to load multiple bitmaps intoViewPager and GridView components
 using a background thread and bitmap cache, while dealing]]></description><category></category></item><item><title><![CDATA[Managing Bitmap Memory]]></title><link>https://blog.youkuaiyun.com/chenfuduo_loveit/article/details/43408251</link><guid>https://blog.youkuaiyun.com/chenfuduo_loveit/article/details/43408251</guid><author>chenfuduo_loveit</author><pubDate>Mon, 02 Feb 2015 14:39:38 +0800</pubDate><description><![CDATA[In addition to the steps described in Caching Bitmaps, there are specific things you can do to facilitate garbage
 collection and bitmap reuse. The recommended strategy depends on which version(s) of]]></description><category></category></item><item><title><![CDATA[Caching Bitmaps]]></title><link>https://blog.youkuaiyun.com/chenfuduo_loveit/article/details/43408241</link><guid>https://blog.youkuaiyun.com/chenfuduo_loveit/article/details/43408241</guid><author>chenfuduo_loveit</author><pubDate>Mon, 02 Feb 2015 14:39:06 +0800</pubDate><description><![CDATA[Loading a single bitmap into your user interface (UI) is straightforward, however things get more complicated if you need to load a larger set of images at once. In many cases (such as with components]]></description><category></category></item><item><title><![CDATA[Processing Bitmaps Off the UI Thread]]></title><link>https://blog.youkuaiyun.com/chenfuduo_loveit/article/details/43408231</link><guid>https://blog.youkuaiyun.com/chenfuduo_loveit/article/details/43408231</guid><author>chenfuduo_loveit</author><pubDate>Mon, 02 Feb 2015 14:38:29 +0800</pubDate><description><![CDATA[The BitmapFactory.decode* methods,
 discussed in the Load Large Bitmaps Efficiently lesson, should not be executed on the main UI thread if the source
 data is read from disk or a network location (]]></description><category></category></item><item><title><![CDATA[Loading Large Bitmaps Efficiently]]></title><link>https://blog.youkuaiyun.com/chenfuduo_loveit/article/details/43408195</link><guid>https://blog.youkuaiyun.com/chenfuduo_loveit/article/details/43408195</guid><author>chenfuduo_loveit</author><pubDate>Mon, 02 Feb 2015 14:36:54 +0800</pubDate><description><![CDATA[Images come in all shapes and sizes. In many cases they are larger than required for a typical application user interface (UI). For example, the system Gallery application displays photos taken using ]]></description><category></category></item><item><title><![CDATA[Displaying Bitmaps Efficiently]]></title><link>https://blog.youkuaiyun.com/chenfuduo_loveit/article/details/43408175</link><guid>https://blog.youkuaiyun.com/chenfuduo_loveit/article/details/43408175</guid><author>chenfuduo_loveit</author><pubDate>Mon, 02 Feb 2015 14:35:57 +0800</pubDate><description><![CDATA[Learn how to use common techniques to process and loadBitmap objects
 in a way that keeps your user interface (UI) components responsive and avoids exceeding your application memory limit. If you’re ]]></description><category></category></item><item><title><![CDATA[contextual action mode]]></title><link>https://blog.youkuaiyun.com/chenfuduo_loveit/article/details/43267415</link><guid>https://blog.youkuaiyun.com/chenfuduo_loveit/article/details/43267415</guid><author>chenfuduo_loveit</author><pubDate>Thu, 29 Jan 2015 10:24:16 +0800</pubDate><description><![CDATA[在Google的开发文档的guide的menu里面，提到上下文菜单的两种形式。




There are two ways to provide contextual actions:

In a floating context menu. A menu
 appears as a floating list of menu items (similar to a dialog]]></description><category></category></item><item><title><![CDATA[Android自定义控件—滑动开关]]></title><link>https://blog.youkuaiyun.com/chenfuduo_loveit/article/details/43242677</link><guid>https://blog.youkuaiyun.com/chenfuduo_loveit/article/details/43242677</guid><author>chenfuduo_loveit</author><pubDate>Wed, 28 Jan 2015 22:21:17 +0800</pubDate><description><![CDATA[在IM即时通讯的项目中，我用过了滑动开关，那时候，还不会现在这种通过继承View自定义的方式，那时候，我用了两个ImageView通过setVisibility方法去控制的。感觉也挺方便的。（Android4.0有Switch控件，一样的效果）


定义一个类继承自View，并实现他的有两个构造函数的方法。执行初始化：
public class MyToggleButton extends]]></description><category></category></item><item><title><![CDATA[Android自定义控件—下拉菜单]]></title><link>https://blog.youkuaiyun.com/chenfuduo_loveit/article/details/43240681</link><guid>https://blog.youkuaiyun.com/chenfuduo_loveit/article/details/43240681</guid><author>chenfuduo_loveit</author><pubDate>Wed, 28 Jan 2015 21:38:23 +0800</pubDate><description><![CDATA[效果图：




实现思路是：EditText+PopupWindow+ListView（PopupWindow接触的少，注意下他的用法）
package com.dystu.edittextdemo;

import java.util.ArrayList;
import java.util.List;

import android.app.Activity;
import and]]></description><category></category></item><item><title><![CDATA[Android自定义控件---广告条滚动]]></title><link>https://blog.youkuaiyun.com/chenfuduo_loveit/article/details/43239821</link><guid>https://blog.youkuaiyun.com/chenfuduo_loveit/article/details/43239821</guid><author>chenfuduo_loveit</author><pubDate>Wed, 28 Jan 2015 21:21:25 +0800</pubDate><description><![CDATA[实现后的效果：


1.布局：
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:la]]></description><category></category></item><item><title><![CDATA[Android自定义控件---优酷菜单]]></title><link>https://blog.youkuaiyun.com/chenfuduo_loveit/article/details/43236341</link><guid>https://blog.youkuaiyun.com/chenfuduo_loveit/article/details/43236341</guid><author>chenfuduo_loveit</author><pubDate>Wed, 28 Jan 2015 20:00:44 +0800</pubDate><description><![CDATA[实现的效果图：


逻辑并不是很难，主要有三点：
1.他的布局
2.动画的原理
3.onkeydown监听menu按键的事件


第一个：
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/t]]></description><category></category></item><item><title><![CDATA[Picker(Time picker&& Date picker)]]></title><link>https://blog.youkuaiyun.com/chenfuduo_loveit/article/details/43227927</link><guid>https://blog.youkuaiyun.com/chenfuduo_loveit/article/details/43227927</guid><author>chenfuduo_loveit</author><pubDate>Wed, 28 Jan 2015 11:35:02 +0800</pubDate><description><![CDATA[Android provides controls for the user to pick a time or pick a date as ready-to-use dialogs. Each picker provides controls for selecting each part of the time (hour, minute, AM/PM)
 or date (month, ]]></description><category></category></item><item><title><![CDATA[EditText的一些属性]]></title><link>https://blog.youkuaiyun.com/chenfuduo_loveit/article/details/43227177</link><guid>https://blog.youkuaiyun.com/chenfuduo_loveit/article/details/43227177</guid><author>chenfuduo_loveit</author><pubDate>Wed, 28 Jan 2015 10:48:43 +0800</pubDate><description><![CDATA[我在IM即时通讯项目中，想在输入文字的时候，输入法上面显示发送，然后去响应我的发送消息的事件，但是不知道怎么做，于是我去查下了EdiText的文档（Google  guide），获得了下面的消息：

Specifying Keyboard Actions（指定action）









In addition to changing the keyboard's in]]></description><category></category></item></channel></rss>