final LinearLayout animationLayer = new LinearLayout(this);
animationLayer.setGravity(Gravity.CENTER);
Display display = getWindowManager().getDefaultDisplay();
int width = display.getWidth();
int height = display.getHeight();
final ImageView imageView = new ImageView(this);
final TranslateAnimation translateAnimation = new TranslateAnimation(
0f, width / 5, 0.0f, (height / 2 - height / 16));
translateAnimation.setDuration(ANIMATION_DURATION);
final ScaleAnimation scaleAnimation = new ScaleAnimation(1.0f, 0.2f,
1.0f, 0.2f, Animation.RELATIVE_TO_SELF, 0.5f,
Animation.RELATIVE_TO_SELF, 0.0f);
scaleAnimation.setDuration(ANIMATION_DURATION);
addContentView(animationLayer, new LayoutParams(width, height));
AnimationListener animationListener = new AnimationListener()
{
@Override
public void onAnimationStart(Animation animation)
{
}
@Override
public void onAnimationRepeat(Animation animation)
{
}
@Override
public void onAnimationEnd(Animation animation)
{
mAnimHandler.sendEmptyMessage(CLEAR_ANIMATIONLAYER);
}
};
translateAnimation.setAnimationListener(animationListener);
mAnimHandler = new Handler()
{
@Override
public void handleMessage(Message message)
{
// icon of download item to show
// Bitmap icon = (Bitmap) message.obj;
switch (message.what)
{
case INIT_ANIMATION_RES:
animationLayer.setVisibility(View.VISIBLE);
animationLayer.removeAllViews();
imageView.setImageResource(R.drawable.icon);
// icon
animationLayer.addView(imageView);
sendEmptyMessage(START_ANIMATION);
break;
case START_ANIMATION:
canClickBtn = false;
animationLayer.startAnimation(translateAnimation);
if (animationLayer.getChildCount() > 0)
{
animationLayer.getChildAt(TOP_LAYER)
.startAnimation(scaleAnimation);
}
else
{
throw new IndexOutOfBoundsException();
}
break;
case CLEAR_ANIMATIONLAYER:
canClickBtn = true;
// clear all views in this layer
animationLayer.setVisibility(View.INVISIBLE);
animationLayer.clearAnimation();
animationLayer.removeAllViews();
// call back of UI,go to next step
if (null != mListener)
{
mListener.onLoad();
}
else
{
throw new NullPointerException();
}
break;
default:
break;
}
}
};
分享到:
相关推荐
逐帧动画 等待效果 wifi信号搜索效果 亲测可用
Android 使用animation_list 实现imageview 动画效果
使用Animation-list实现等待加载动画效果,简单demo,适合新手学习使用Animation-list
在List Control中实现列表项目的上下移动
作为学习listctrl挺好的,这个程序的内容简单使用,作为初学者很受用
QT 利用两种方式实现两个list中元素的互相移动 可以通过按键 和 鼠标直接拖拽的方式实现
listcontr控件的响应键盘上下键时 在使用listcontr控件的响应键盘上下键时,总是出现滞后的现象
小李说,可以用listview加载不同样式的布局,然后写在一个list里,当用户展开关键人信息的时候去移除或者添加一些item然后重新适配listview,小李啪啪啪300行代码搞出来了,效果还不错,只是展开时候没有动画。...
view的简单动画animation-list,一个粘稠的动画集合
ListControl,重写ListControl控件类,可以根据自己的需要修改控件表头颜色。在VC6.0下调试成功。
商品飞入购物车动画效果是一款具有加入购物车,删除内容到回收站,选择商品或内容时,内容飞入指定位置的js动画效果。
MFC ListCtrl控件上增加Comb以及可编写子项 并且可以保存已经删除每一行的数据
一个自制的ListCtrl的MFC扩展库.编译MFCClassDll工程后,将MyListCtrl.h和MyListCtrl.lib拷贝到目标工程文件夹,在工程中包含MyListCtrl.h头文件,并将CListCtrl替换为CMyListCtrl.调用SetHeight()可以设置ListCtrl的...
Virtual List的实现和使用例子; Virtual List 和List Ctrl的性能比较
list嵌套list,可以直接运行,其实就是事件拦截
在ListCtrl中批量显示GIF动画的一个Demo
重绘MFC列表控件(ListCtrl)字体大小 表头和行高度 行颜色等 行的颜色有5中:选中(获取焦点和丢失焦点2种),未选中(鼠标移动时、奇行和偶行)等
1、 init_listinit_list表示顺序表的初始化 2、 2、 prin_list表示顺序表的打印 3、 get_list表示读取顺序表中的元素 4、 search_list表示输入元素后,返回元素在表中的位置 5、 search_list1输入位置,返回相应的...
Android 用Animation-list实现逐帧动画(WIFI)信号图,代码精简,效果明显,有需要的同学自行下载吧,是学习逐帧动画的好DEMO
范型List<T> Dictory,Value>增加事件功能 范型List<T> Dictory,Value>增加事件功能