我再次陷入困境。这次我有一个动画按钮,动画正在淡入淡出按钮。我想要实现的是当我按下按钮时它应该消失。听起来很容易,但到目前为止我所尝试的并不起作用,我猜它是因为按钮是动画的。
我尝试在onClick()侦听器中设置button.setVisibility(View.Invisible)。我的代码如下:
动画:fade.xml
<alpha xmlns:android="http://schemas.android.com/apk/res/android" android:fromAlpha="1.0" android:toAlpha="0.4" android:duration="1000" android:repeatCount="infinite" android:repeatMode="reverse" /> </set>
我在我的布局xml中声明了一个名为buttonStartTest的按钮 这是活动中的代码:
Button goButton = (Button) findViewById(R.id.buttonStartTest);
goButton.setVisibility(View.VISIBLE);
goButton.startAnimation(AnimationUtils.loadAnimation(this, R.anim.fade));
goButton.setBackgroundResource(R.drawable.roundedcorners);
goButton.setText("Start");
goButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// click action here
Button goButton = (Button) findViewById(R.id.buttonStartTest);
goButton.setVisibility(View.INVISIBLE);
}
});
问题是按钮没有消失..我可以在onClick()中以其他方式改变它。所以我的同伴们,我该如何隐藏按钮?
爱很多, 丹尼尔答案 0 :(得分:2)
你应该做一个
goButton.clearAnimation()
在你的点击监听器内部,这样当你点击它时,你将停止动画,然后你可以使用
goButton.setVisibility(View.Gone)
一劳永逸地完全隐藏它。
答案 1 :(得分:2)
查看您的动画文件,它是无限的,因此按钮的alpha值将变为1-0.4,因此您必须先停止动画:
goButton.clearAnimation();
然后你可以隐藏你的按钮:
goButton.setVisibility(View.INVISIBLE)
答案 2 :(得分:1)
试试这个,如果它有效(我认为会这样),那么我会解释。
goButton.setVisibility(View.GONE);
我相信的原因是因为将其设置为不可见只会使按钮透明。你的动画会覆盖它。
我没有机会亲自测试这个解决方案,因为我不在家用电脑上,但这应该有用 - 请告诉我。