adapterViewFlipper 实现跑马灯效果使用动画出现的问题
2017-04-14 17:20
127 查看
adapterViewFlipper 实现跑马灯效果先上效果图
首先使用AdapterViewFlipper创建布局
给AdapterViewFlipper创建适配器 和以前使用ListView一样 继承BaseAdapter
在使用的时候 特别注意使用动画效果时 一定要用属性动画 若使用Tween动画会报异常unknown animator name translater
在res 建立animator文件夹 然后创建上下滚动动画
flipper_in
flipper_out
**说明:**anim文件夹下存放tween animation和frame animation;xml文件里只有scale、rotate、translate、alpha、set五个标签;在代码中使用AnimationUtils.loadAnimation()方法加载;使用mView.setAnimation(mAnimation)为mView加载动画;使用mView.startAnimation()开启动画;
animator文件夹下存放property animation,即属性动画,xml文件里有animator、objectAnimator和set三个标签;在代码中使用AnimatorInflater.loadAnimator()方法加载动画;使用mAnimation.setTarget(mView)为mView加载动画。使用mAnimation.start()开启动画
首先使用AdapterViewFlipper创建布局
<AdapterViewFlipper android:id="@+id/avf" android:layout_width="match_parent" android:layout_height="wrap_content" >
给AdapterViewFlipper创建适配器 和以前使用ListView一样 继承BaseAdapter
public class TextAdapter extends BaseAdapter { private String[] lst; public TextAdapter(String[] lst) { this.lst = lst; } @Override public int getCount() { return lst == null ? 0 : lst.length; } @Override public Object getItem(int position) { return lst[position]; } @Override public long getItemId(int position) { return position; } @Override public View getView(final int position, View convertView, final ViewGroup parent) { // TextView tv = new TextView(parent.getContext()); // tv.setLayoutParams(new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT)); // tv.setText(lst.get(position)); FlipperViewHolder holder; if (convertView == null) { holder = new FlipperViewHolder(); convertView = LayoutInflater.from(parent.getContext()).inflate(R.layout.adapter_flipper, null); holder.tv = (TextView) convertView.findViewById(R.id.flipper_tv); holder.iv = (ImageView) convertView.findViewById(R.id.flipper_iv); convertView.setTag(holder); } else { holder = (FlipperViewHolder) convertView.getTag(); } holder.tv.setText(lst[position]); convertView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Toast.makeText(parent.getContext(), lst[position], Toast.LENGTH_SHORT).show(); } }); return convertView; } class FlipperViewHolder { TextView tv; ImageView iv; } }
在使用的时候 特别注意使用动画效果时 一定要用属性动画 若使用Tween动画会报异常unknown animator name translater
在res 建立animator文件夹 然后创建上下滚动动画
flipper_in
<?xml version="1.0" encoding="utf-8"?> <objectAnimator xmlns:android="http://schemas.android.com/apk/res/android" android:duration="600" android:interpolator="@android:anim/accelerate_decelerate_interpolator" android:propertyName="y" android:valueFrom="-100" android:valueTo="0" android:valueType="floatType"/>
flipper_out
<?xml version="1.0" encoding="utf-8"?> <objectAnimator xmlns:android="http://schemas.android.com/apk/res/android" android:duration="600" android:interpolator="@android:anim/accelerate_decelerate_interpolator" android:propertyName="y" android:valueFrom="0" android:valueTo="100" android:valueType="floatType"/>
**说明:**anim文件夹下存放tween animation和frame animation;xml文件里只有scale、rotate、translate、alpha、set五个标签;在代码中使用AnimationUtils.loadAnimation()方法加载;使用mView.setAnimation(mAnimation)为mView加载动画;使用mView.startAnimation()开启动画;
animator文件夹下存放property animation,即属性动画,xml文件里有animator、objectAnimator和set三个标签;在代码中使用AnimatorInflater.loadAnimator()方法加载动画;使用mAnimation.setTarget(mView)为mView加载动画。使用mAnimation.start()开启动画
源码可以点击这里github链接
相关文章推荐
- 在ListView或GridView 中使用到跑马灯滚动效果实现的问题。
- Adapter Adapter.notifyDataSetChanged()使用时容易出现的问题 跑马灯效果Demo
- 自定义View想使用Scroller实现滑动效果,但是事件接收出现问题,只收到ACTION_DOWN,而无法收到ACTION_MOVE, ACTION_UP等消息的处理
- 使用android support library中的tablayout实现页签切换效果出现的问题
- 使用C#实现WINFORM窗体的动画效果
- 使用C#实现WinForm窗体的动画效果
- 使用NSTimer与iphone的简单动画,实现飘雪效果
- 使用Layer类和Sprite类实现手机游戏的动画效果
- Android中使用Animation实现控件的动画效果以及Interpolator和AnimationListener的使用
- 使用jQuery来实现菜单文字和图标动画效果
- cocos2d-x 使用action实现各种动画效果
- 使用silverlight中的Storyboard实现动画效果
- 使用silverlight中的Storyboard实现动画效果
- 使用HTML5和jQuery插件Reel实现一个超酷的星际争霸2兵种动画360度预览效果
- Silverlight开发历程—动画(实现跑马灯效果)
- cocos2d-x 使用action实现各种动画效果
- 使用OmniORB出现的一些问题及已实现的解决方法
- 使用C#实现WinForm窗体的动画效果
- 使用C#实现WinForm窗体的动画效果
- 使用silverlight中的Storyboard实现动画效果