我想为一个设置动画ListView
当用户滚动ListView
。我正在设置动画ListView
加载时,但我想设置滚动动画。
这是我在 eclipse 中的动画文件:
<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="schemas.android.com/apk/res/android";
android:duration="900" android:fromXDelta="-100%p"
android:interpolator="@android:anim/linear_interpolator"
android:repeatCount="0" android:repeatMode="reverse"
android:fillEnabled="true" android:fillAfter="true" android:toXDelta="0%p" >
</translate>
这段代码将项目设置为我的列表视图:
@Override public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
StructNote item = getItem(position);
if (convertView == null) {
convertView = G.inflater.inflate(R.layout.adapter_notes, parent, false);
holder = new ViewHolder(convertView);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
holder.fill(this, item, position); return convertView;
}
这是一个将动画设置为 listview 的 ActivityMain
ListView lstContent = (ListView) findViewById(R.id.lstContent);
Animation animation = AnimationUtils.loadAnimation(this, R.anim.translate);
lstContent.setLayoutAnimation(new LayoutAnimationController(animation));
任何人都可以帮助我吗?
列表视图适配器:
Animation scaleUp;
public MyAdapter(...) {
//...
scaleUp = AnimationUtils.loadAnimation(activity, R.anim.scale_up_fast);
}
public View getView(final int position, View convertView, ViewGroup parent) {
CardView cv;
if (convertView == null){
inflater = (LayoutInflater) activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = inflater.inflate(R.layout.your_layout, parent, false);
}
cv = (CardView) convertView.findById(R.id.yourView);//Change this to your view
cv.startAnimation(scaleUp);
}
动画片:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >
<scale
android:duration="300"
android:fromXScale="0"
android:fromYScale="0"
android:pivotX="50%"
android:pivotY="50%"
android:toXScale="1"
android:toYScale="1" />
</set>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)