gpt4 book ai didi

java - 显示时对Listview的每一项进行动画处理

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:26:02 24 4
gpt4 key购买 nike

我正在尝试以一种方式显示 ListView 元素,使它们中的每一个都具有动画效果,然后变得可见,因此在一个接一个之后,它们会呈现动画效果并对用户可见。但是当我实现动画时,它不是在单个项目上工作,而是在整个 ListView 上工作:(

public View getView(final int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub

LayoutInflater layoutInflater = (LayoutInflater) activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View row =layoutInflater.inflate(R.layout.categories_row, parent, false);




tvCatName = (TextView) row.findViewById(R.id.tvCatName);

tvCatName.setText(Data.alCategoriesModels.get(position).catname);


row.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub

Toasts.pop(activity, "Category id : " + Data.alCategoriesModels.get(position).catID);

}
});

// row.setAnimation(animation);
row.startAnimation(animation);

return row;
}

enter image description here

如何在 ListView 的每个元素上制作一个一个的动画。我正在扩展 ArrayAdapter。

最佳答案

您可以在 ListView 上应用 android:layoutAnimation

  • anim 文件夹中创建您的动画 XML 文件。例如 (slide_right_in.xml):

    <translate xmlns:android="http://schemas.android.com/apk/res/android"
    android:fillAfter="true"
    android:duration="400"
    android:fromXDelta="-100%"
    android:toXDelta="0%"/>
  • 使用根元素 layoutAnimation 创建另一个动画 XML 文件 :(my_layout_animation.xml)

    <layoutAnimation xmlns:android="http://schemas.android.com/apk/res/android"
    android:animation="@anim/slide_right_in"
    android:delay="0.5"/>
  • 将它应用到您想要的任何 ViewGroup 上。例如ListView:

    <ListView
    android:layoutAnimation = "@anim/my_layout_animation"
    ... />

关于java - 显示时对Listview的每一项进行动画处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16851195/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com