我想设置一个背景可绘制到列表视图的第一个元素,也可以设置列表视图的其他元素我想设置相同的drawable但它应该很少褪色。我不想为此使用两个图像。
我尝试使用Alpha动画: 在我的列表视图的getView中,我使用了这个:
Animation animation = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.alpha_anim);
if (position == 0) {
list_row_layout.setBackgroundResource(R.drawable.bg_image);
} else {
list_row_layout.setBackgroundResource(R.drawable.bg_image);
animation.setDuration(0);
animation.setFillAfter( true );
if (list_row_layout != null){
list_row_layout.startAnimation(animation);
}
}
这是我的alpha_anim.xml
<?xml version="1.0" encoding="utf-8"?>
<alpha xmlns:android="http://schemas.android.com/apk/res/android"
android:fromAlpha="0.0"
android:toAlpha="0.5"
android:duration="1000" />
问题是它工作正常,但动画也应用于第0个元素。 我尝试取消动画if(position == 0)但它不起作用。
我需要知道我们可以单独将Alpha动画应用于每个ListRow元素吗?
答案 0 :(得分:1)
查看包含ListViewAnimation的AlphaAnimation以查看ListView中的项目列表。
用户AlphaAnimation
课程如下所示,对您的ListView
private void setAlphaAdapter() {
AnimationAdapter animAdapter = new AlphaInAnimationAdapter(mAdapter);
animAdapter.setAbsListView(getListView());
getListView().setAdapter(animAdapter);
}
答案 1 :(得分:0)
为什么要动画呢?你试过setAlpha吗?
哦,关于第一个元素,为pos == 0添加setAlpha(1f)。我认为它可能与重用元素有关...