在很多的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从上往下滑入,然后每个依次循环的效果
不太会弄动态图,无法给大家截图!!嘿嘿!不过这些都是我自己亲测了的!肯定能用的!!
这只是一个很简单的动画效果,相信大家能明白这个以后,会写出很多更炫的动画效果,我这里只是抛砖引玉!!
关于另一种方案我正在测试如果成功,下次再发!!
本人并非大神,如有错误请大家指出!!谢谢!!