在git发现的一个AnimatedListView
在以后的项目中可以添加,就三个类...
/*
* Copyright (c) 2013 Kyle W. Banks
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.kylewbanks.animlv;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.animation.Animation;
import android.view.animation.TranslateAnimation;
import android.widget.ArrayAdapter;
import java.util.List;
/**
* Manages a List of objects to display in the AnimatedListView. When a new view needs to be displayed, it will
* request that the AnimatedListViewObjectMapper populate the view, and then animated it.
*/
public class AnimatedListViewAdapter extends ArrayAdapter {
private LayoutInflater _inflater;
private int _resourceId;
private List _objects;
private AnimatedListViewObjectMapper _objectMapper;
private int lastPosition = -1;
public AnimatedListViewAdapter(Context context, int resourceId, List objects, AnimatedListViewObjectMapper objectMapper) {
super(context, resourceId, objects);
this._inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
this._resourceId = resourceId;
this._objects = objects;
this._objectMapper = objectMapper;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if (position > _objects.size()) {
return null;
}
if (convertView == null) {
convertView = _inflater.inflate(_resourceId, parent, false);
}
Object object = _objects.get(position);
_objectMapper.bindObjectToView(object, convertView);
if(convertView != null) {
Animation animation = new TranslateAnimation(0, 0, (position > lastPosition) ? 100 : -100, 0);
animation.setDuration(400);
convertView.startAnimation(animation);
}
lastPosition = position;
return convertView;
}
}
核心就是这个类了....呵呵,就这几句
分享到:
相关推荐
本文将深入探讨可以在Windows XP上安装的最后一个Git版本——Git-2.10.0-32-bit.exe,以及与之相关的知识。 首先,让我们了解Windows XP系统。Windows XP是一款由微软公司开发的操作系统,于2001年发布,因其稳定性...
Git提供了强大的分支和合并功能,使得开发人员可以独立地在一个分支上工作,而不会影响主分支或其他人的工作。当一个功能开发完成或修复了一个bug,可以将分支合并回主分支,确保所有人的工作都能集成在一起。这种...
Git-js是针对Node.js环境设计的一个轻量级库,它提供了一个简单易用的接口,允许开发者在他们的Node.js应用中直接调用Git命令,无需离开JavaScript的舒适区。 ### Git-js核心特性 1. **轻量级**:Git-js的核心设计...
Git是一个分布式版本控制系统,由Linux之父Linus Torvalds开发,用于管理软件源代码的版本变更。Git-2.15.0是该系统的一个特定版本,它包含了自早期版本以来的各种改进和新特性。 Git的核心特点包括: 1. 分布式:...
Git-2.34.0-64-bit.rar是一个包含Git的64位安装包,适用于Windows操作系统。这个压缩包中的主要文件是"Git-2.34.0-64-bit.exe",这是Git的可执行安装程序,用于在Windows上部署Git环境。 Git的核心功能包括版本控制...
GitExtensions是一个图形化的Git客户端,它为Git提供了一个友好的用户界面,使得非命令行用户也能轻松地操作Git。GitExtensions-3.1.1.6049.msi是GitExtensions的3.1.1版本,包含了一些增强的功能,如可视化的工作区...
3. 提交(Commit):保存项目状态的快照,每次提交都有一个唯一的哈希值。 4. 差异(Diff):显示两个文件或提交之间的变化。 5. 合并(Merge):将两个分支的代码合并在一起。 6. 克隆(Clone):复制远程仓库到...
Git 是一个分布式版本控制系统,允许开发者在本地存储项目的所有版本记录,并且可以与远程仓库同步。Git 的核心思想是基于 snapshot,而不是基于差异(diff),这使得 Git 在版本控制方面具有很高的效率和可靠性。 ...
仓库是Git存储所有版本信息的地方,每个提交都包含了对文件的一次变更,而分支则允许开发者在同一仓库中并行开发不同的功能。远程仓库则允许团队成员通过网络共享和同步代码。 Git的基本命令是掌握Git的关键: 1. ...
随着软件开发变得越来越复杂,版本控制成为了软件开发过程中的一个基础和核心环节,特别是在团队协作开发时,其作用尤为关键。 描述中提到,“详细描述了如何在keil 开发环境中配置Git进行版本管理”,这说明了本文...
总的来说,Git压缩包提供了一种无需安装程序的安装方式,尤其适用于那些不希望使用包管理器或者需要在无网络环境下安装Git的用户。掌握Git的使用不仅可以提升个人开发效率,也是团队协作中不可或缺的技能。
GitHack-master是一个针对Git源码泄露的利用工具,主要用于帮助安全研究人员或开发者发现并利用`.git`目录泄漏的安全隐患。`.git`目录是Git版本控制系统的一部分,通常在项目根目录下,包含了项目的完整历史版本信息...
1. 初始化仓库:使用`git init`在本地创建一个新的Git仓库。 2. 添加文件:`git add`将新文件或修改的文件添加到暂存区。 3. 提交更改:`git commit`将暂存区的更改保存到本地仓库,附带一条描述信息。 4. 查看状态...
Git GUI 是一个图形用户界面工具,它为Git版本控制系统提供了直观的交互式界面,使得开发者在处理Git操作时,无需直接使用命令行,也能轻松完成各种任务。在本文中,我们将详细探讨如何通过Git GUI进行从拉取代码到...
Git是一个分布式版本控制系统,它最初由Linus Torvalds在2005年创建用于管理Linux内核的开发。Git的目的是快速高效地处理从小型到大型项目的所有事务。Git不仅是一个版本控制工具,它更是一个内容管理系统或文件系统...
最新的Git与Github巨作课程,课程内容主旨分成了Git&Github极速入门与攻坚实战课程两部分,可以理解为一个是课程的详细教学篇,和一个精华缩减的集合。Git与Github教程详细介绍了Git的工作机制,Git命令行的基础学习...
Git 是一个分布式版本控制系统,用于管理代码版本和协作开发。下面是一个 Git 教程,...git init:在当前目录下创建一个新的 Git 仓库。 git add .:将当前目录下的所有文件添加到暂存区。 git commit -m "initial com
Git-1.9.0是Git版本控制系统的一个重要版本,Git是一种分布式版本控制系统,由Linux创始人林纳斯·托瓦兹创建,旨在提高软件开发中的版本管理和协作效率。Git以其高效、灵活和强大的特性在全球开发者中广泛应用,...
基本操作包括初始化一个新的Git仓库(`git init`),添加文件到暂存区(`git add`),创建提交(`git commit`),查看状态(`git status`),创建和切换分支(`git branch`和`git checkout`),以及与远程仓库交互...