android - 在android中设置listview滚动动画

标签 android listview animation scroll

我想为用户滚动 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>

此代码将项目设置到我的 ListView :

@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));

谁能帮帮我?

最佳答案

ListView适配器:

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>

关于android - 在android中设置listview滚动动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35696639/

相关文章:

c# - 如何在 6.0 Visual Studio 模拟器上安装 Google Play 服务?

android - 相机类型的 Camera.open() 和 setPreviewDisplay() 未定义

android - 从另一个 Activity 在 ListView 中添加数据

vb.net - 使用 ListView 作为文件/文件夹资源管理器

java - Listview中的Android复选框自动选择

jquery - 应用样式前查询、完成动画

animation - 如何在 Gnuplot 中使用抗锯齿来制作 gif?

android - 进度条更新进度

ios - 如何通过更改背景图像和更改UIImageView的位置进行动画处理

Android - 创建自定义启动器