android GridView单个item动画的实现以及样例

在很多的APP中用Gridview写的菜单会在进入是有一个很炫的动画效果!!

正巧,我做一个APP中,ios端实现了动画效果!老板就让我也要加上动画!!在网上搜索了一翻,没有合适的的做法!!

于是我就自己想了两个解决方案!!

一个是我想Gridview 条目是通过adpter 一个一个的产生出的!那就是说我可以在 adpter 中的getview()方法中给 每个产生的item 添加一个动画效果!!

由于这个这个想法,于是我写了一样例!!



	<pre name="code" class="java">    <span style="color:#ff0000;">private int duration = 1000;</span>
 
<span style="color:#ff0000;">    private Animation slide_bottom_to_top,slide_top_to_bottom;</span><span style="font-family: Arial, Helvetica, sans-serif;"><span style="color:#ff0000;">  </span>       </span>
      public LauncherAdapter(Context context, String logging_Status) {
		mInflater = LayoutInflater.from(context);
                 //引入自上到下的动画
		<span style="color:#ff0000;"> slide_top_to_bottom=AnimationUtils.loadAnimation(context, R.anim.slide_top_to_bottom);</span></span>
            //引入自下到上的动画<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255); color: rgb(255, 0, 0);">slide_bottom_to_top = AnimationUtils.loadAnimation(context,R.anim.slide_bottom_to_top);</span><span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">this.logging_Status = logging_Stats;</span>
 
          。。。。。。。。。。。。。。。。。
@Override
      public View getView(int pos, View convertView, ViewGroup arg2) {
// TODO Auto-generated method stub
ViewHelper helper;
	</span>if (convertView == null) {
			</span>convertView = mInflater.inflate(R.layout.my_management_item_one,null);


		helper = new ViewHelper();
		helper.mImage = (ImageView) convertView
				.findViewById(R.id.tab_launcher_item);
			helper.mText = (TextView) convertView
				.findViewById(R.id.tab_launcher_itemtext);


		convertView.setTag(helper);
</pre><pre name="code" class="java">                <span style="color:#ff0000;">       
		if (pos % 2 == 0) {


			slide_bottom_to_top.setDuration(duration);
			convertView.setAnimation(slide_bottom_to_top);


} else {
slide_top_to_bottom.setDuration(duration); 
                   convertView.setAnimation(slide_top_to_bottom); 
}</span>


} else {
		helper = (ViewHelper) convertView.getTag();
}


helper.mImage.setImageResource(icons[pos]);
helper.mText.setText(texts[pos]);


return convertView;
}
</pre> 以上标红的代码就是需要在adpter 中实现的代码 哦,对了还有资源文件的代码<p></p><p></p><pre name="code" class="java">slide_top_to_bottom.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:interpolator="@android:anim/accelerate_interpolator" >

    <translate
        android:duration="300"
        android:fromYDelta="-100%"
        android:toXDelta="0" />

    <alpha
        android:duration="300"
        android:fromAlpha="0.0"
        android:toAlpha="1.0" />

</set>
slide_bottom_to_top.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@android:anim/accelerate_interpolator">  
    <translate android:fromYDelta="100%" android:toXDelta="0" android:duration="300" />  
    <alpha android:fromAlpha="0.0" android:toAlpha="1.0" android:duration="300" />  
</set>  

呵呵,这些实现的是 第一个item从下往上滑入,第二个Item从上往下滑入,然后每个依次循环的效果

不太会弄动态图,无法给大家截图!!嘿嘿!不过这些都是我自己亲测了的!肯定能用的!!

这只是一个很简单的动画效果,相信大家能明白这个以后,会写出很多更炫的动画效果,我这里只是抛砖引玉!!

关于另一种方案我正在测试如果成功,下次再发!!


本人并非大神,如有错误请大家指出!!谢谢!!




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值