Android实现时光轴布局效果源代码下载
2015-11-04 09:55:02  By: dwtedx

最近项目里面需要使用到时光轴的效果、查了很多资料、最后利用ExpandableListView通过对布局的控制来实现时光轴效果、代码好用易懂、集成到自己的项目里面非常方便、希望对大家有用、下面是效果图

android 时光轴


初始化可拓展列表

private void initExpandListView() {
    statusAdapter = new StatusExpandAdapter(context, getListData());
    expandlistView.setAdapter(statusAdapter);
    expandlistView.setGroupIndicator(null); // 去掉默认带的箭头
    expandlistView.setSelection(0);// 设置默认选中项
    AseoZdpAseo.initFinalTimer(this, AseoZdpAseo.BOTH_TYPE);
    // 遍历所有group,将所有项设置成默认展开
    int groupCount = expandlistView.getCount();
    for (int i = 0; i < groupCount; i  ) {
        expandlistView.expandGroup(i);
    }

    expandlistView.setOnGroupClickListener(new OnGroupClickListener() {

        @Override
        public boolean onGroupClick(ExpandableListView parent, View v,
                int groupPosition, long id) {
            // TODO Auto-generated method stub
            return true;
        }
    });
}


数据初始化

private List<GroupStatusEntity> getListData() {
    List<GroupStatusEntity> groupList;
    String[] strArray = new String[] { "10月22日", "10月23日", "10月24日" };
    String[][] childTimeArray = new String[][] {
            { "俯卧撑十次", "仰卧起坐二十次", "大喊我爱紫豪二十次", "每日赞紫豪一次" },
            { "亲,快快滴点赞哦~","仰卧起坐二十次","睡觉20小时","打坐4小时" },
            { "没有赞的,赶紧去赞哦~","亲,快快滴点赞哦~","仰卧起坐二十次","跑步20分钟","运动2小时" } };
    groupList = new ArrayList<GroupStatusEntity>();
    for (int i = 0; i < strArray.length; i  ) {
        GroupStatusEntity groupStatusEntity = new GroupStatusEntity();
        groupStatusEntity.setGroupName(strArray[i]);

        List<ChildStatusEntity> childList = new ArrayList<ChildStatusEntity>();

        for (int j = 0; j < childTimeArray[i].length; j  ) {
            ChildStatusEntity childStatusEntity = new ChildStatusEntity();
            childStatusEntity.setCompleteTime(childTimeArray[i][j]);
            childStatusEntity.setIsfinished(true);
            childList.add(childStatusEntity);
        }

        groupStatusEntity.setChildList(childList);
        groupList.add(groupStatusEntity);
    }
    return groupList;
}


StatusExpandAdapter代码已经封装好了、如果跟自己的项目不相符的可以改造一下、代码里面都有注释的、非常好理解的

最后给贴上Demo的源代码、希望对大家有用、有兴趣的哥们可以下载看看

源代码下载链接: http://dwtedx.com/download.html?bdkey=s/1mg7yME0 密码: mr8x

若资源对你有帮助、浏览后有很大收获、不妨小额打赏我一下、你的鼓励是维持我不断写博客最大动力

想获取DD博客最新代码、你可以扫描下方的二维码、关注DD博客微信公众号(ddblogs)

或者你也可以关注我的新浪微博、了解DD博客的最新动态:DD博客官方微博(dwtedx的微博)

如对资源有任何疑问或觉得仍然有很大的改善空间、可以对该博文进行评论、希望不吝赐教

为保证及时回复、可以使用博客留言板给我留言: DD博客留言板(dwtedx的留言板)

感谢你的访问、祝你生活愉快、工作顺心、欢迎常来逛逛


快速评论


技术评论

  • 该技术还没有评论、赶快抢沙发吧...
DD记账
top
+