当我遇到这个问题时,我正在支持设计库中玩弄晶圆厂。 我取代了Android Studio中默认的空白活动模板onCreate方法,这是它的样子:浮动按钮动画问题
import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.view.animation.TranslateAnimation;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
final FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
TranslateAnimation anim = new TranslateAnimation(0, -500, 0, -500);
anim.setDuration(1000);
anim.setFillEnabled(true);
anim.setFillAfter(true);
fab.startAnimation(anim);
}
});
fab.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View view) {
TranslateAnimation anim = new TranslateAnimation(0, -500, 0, -500);
anim.setDuration(1000);
anim.setFillEnabled(true);
anim.setFillAfter(true);
fab.startAnimation(anim);
return true;
}
});
}
}
所以基本上,我添加了一个onClickListener和翻译由500idks晶圆厂的onLongClickListener,但问题是它不像它应该的那样工作。
当我点击它通常没有任何反应,这是奇怪的开始。这是一个video它发生。
当我长按它时,它就像我应该动画一样,但只有当我一直按下,并且每当我抬起我的手指时,无论动画是否完整,它都会回到原始位置,即使我设置了setFillEnabled(true)
和setFillAfter(true)
。
下面是当我lift我的手指,当我leave我的手指在屏幕直到最后并everything上会发生什么影片。
这究竟是为什么?
我想你应该申报'FloatingActionButton fab'是一个全局变量 –
@MrNeo它是没有有所作为 – Olumide
我在5.1.1版本的Nexus 4上尝试了这一点。它可以按照您的预期工作,并且没有您在设置中看到的问题。 –