gpt4 book ai didi

android - 如何在android中按列为gridview设置动画

转载 作者:行者123 更新时间:2023-11-29 19:42:57 26 4
gpt4 key购买 nike

我是编程新手,我的任务是显示带有列动画的 GridView 。我试过这样。

我的res/anim/animation.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:duration="1500"
android:fromYDelta="5"
android:toYDelta="90%" />
</set>

我的 MainActivity.java 的一部分

Animation anim = AnimationUtils.loadAnimation(getApplicationContext(),R.anim.animation);
gridView.setAnimation(anim);
anim.start();

在 MainActivity.java 中,请帮助我纠正我必须纠正的地方。通过这个我得到了完整的 gridview 动画。

最佳答案

在你的 Adapter 的 getView() 中试试这个,

@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
View gridItemView;
LayoutInflater inflater = (LayoutInflater) mContext
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

if (convertView == null) {

gridItemView = inflater.inflate(R.layout.layout, null);

// Grid item child views
TextView textView = (TextView) gridItemView.findViewById(R.id.grid_text);
ImageView imageView = (ImageView)gridItemView.findViewById(R.id.grid_image);
textView.setText(web[position]);
imageView.setImageResource(imageId[position]);

// Move this initialization to constructor so that its not initalized again and again.
Animation anim = AnimationUtils.loadAnimation(mContext,R.anim.item_anim);

// By default all grid items will animate together and will look like the gridview is
// animating as a whole. So, experiment with incremental delays as below to get a
// wave effect.
anim.setStartOffset(position * 500);

gridItemView.setAnimation(anim);
anim.start();
} else {
gridItemView = (View) convertView;
}

return gridItemView;
}

更新:如果你想要按列动画,试试这个,

anim.setStartOffset((position % numColumns) * 500);

其中,numColumns 是列数。您可以尝试使用 setStartOffset() 的不同值来获得不同的动画效果。

关于android - 如何在android中按列为gridview设置动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38303203/

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