我想在某些情况下让Listview淡出/淡出。我在运行动画时遇到问题,Listview只是变得不可见而且没有动画执行。
我尝试过运行fade_out动画:
Animation out = AnimationUtils.loadAnimation(mainActivity, R.anim.fade_out);
out.setInterpolator(new LinearInterpolator());
myListView.startAnimation(out);
以及AlphaAnimation
AlphaAnimation animation1 = new AlphaAnimation(1f, .5f);
animation1.setDuration(2000);
animation1.setFillAfter(false);
myListView.startAnimation(animation1)
最后简单地设置alpha
myListView.setAlpha(.5f)
我能说的最好的是列表视图不支持alpha透明度,只有0和1的值可用作alpha。我找不到任何确认或否认的文件。
ListViews是否存在某种已知问题?难道我做错了什么?或者这是ListViews上的某种有限功能吗?
答案 0 :(得分:0)
试试吧。如果你想看得见:
public void viseb_show(){
AnimationSet set = new AnimationSet(true);
Animation animation = new AlphaAnimation(0.0f, 1.0f);
animation.setDuration(500);
set.addAnimation(animation);
anim.startAnimation(animation);
anim.setVisibility(View.VISIBLE);
}
或者如果不可见
public void viseb_gone(){
AnimationSet set = new AnimationSet(true);
Animation animation = new AlphaAnimation(1.0f, 0.0f);
animation.setDuration(3500);
set.addAnimation(animation);
anim.startAnimation(animation);
anim.setVisibility(View.GONE);
}
anim
你反对谁是visible
。
答案 1 :(得分:0)
我想出了我的问题。移民给了我几乎正确的方向,我需要克服一些问题。
首先,我必须将emigrantdd的代码更改为:
public void viseb_gone()
{
AnimationSet set = new AnimationSet(false);
Animation fadeout= new AlphaAnimation(1.0f, 0.0f);
fadeOut.setInterpolator(new LinearInterpolator());
fadeOut.setDuration(3500);
set.addAnimation(animation);
myListView.startAnimation(fadeOut);
myListView.setVisibility(View.GONE);
}
由于内插器存在一些问题。
我遇到的另一个问题是我正在测试的ListView仍然在ScrollView中作为旧设计的一部分,一旦它被取出它按照上述更改的方式工作。