Activity为GroupBrowserActivity

    layout为group_browser_activity,整个布局为一个frameLayout,包含一个fragment: GroupBrowseListFragment
    
GroupBrowseListFragment
    布局: group_browse_list_fragment
    包含一个AutoScrollListView和一个addAccount的button。其中AutoScrollListView的scrollbarStyle为 outsideOverlay,scrollbarStyle有四种类型,outsideOverlay在listview的padding之外,本身不占用padding,浮在view上;还有outsideInset、insideInset、insideOverlay等属性;
     fadingEdge为none。表示滚动时,边框颜色不渐变,其它两个属性为: horizontal/vertical
     cacheColorHint设置为透明。listview重新绘制时,会采用系统的默认黑色,在选中listview滑动时,极其ugly的黑色背景去除的方法即为设置该属性。
     listSelector为透明。listview的item在选择时会显示选中色,4.0之前的为橙红色,自定义item时最好把这个属性替换掉。
    divider为@null.不设置分隔线;如果要自定义分隔线,先要设置android:dividerHeight的高度>0, 然后设置divider属性即可。
    Adapter 
    GroupBrowseListAdapter:
    getItem方法:判断当前记录与前一条记录account是否相同,决定该item是否为group的title(在分组显示的listview中,这种方法常用,时间复杂度也比较小,为2n. )
    getView方法: 绘制item的布局为 group_browse_list_item, title为账户信息,accountName的显示为android:ellipsize="middle",在中间部分显示为"...",还有其它显示方式,包括×××灯式"marquee"; 这个布局看到一个属性android:duplicateParentState="true",上网查找,说明如下:如果设置此属性,将直接从父容器中获取绘图状态(光标,按下等)。 注意仅仅是获取绘图状态,而没有获取事件。 getView方法根据groupUri是否是selected group,从而决定View是否activate.
     setCursor:更换cursor,设置默认的选中mSelectedGroupUri, notifyDataSetChanged.
    
    AutoScrollListView 
   //TODO 明天继续
 
参考链接: