Я играл с fab в библиотеке дизайна поддержки, когда я запускал эту проблему. я заменил OnCreate метода в шаблоне по умолчанию Blank активности в Android Studio, это то, что он выглядит следующим образом:Анимация с плавающей кнопкой Действие №
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 и onLongClickListener, преобразующий ФАБ по 500idks, но проблема заключается в том, что он не работает, как предполагалось.
Когда я нажимаю на него, обычно ничего не происходит, что странно начинать с. Вот это video.
Когда я долго нажимаю на него, он оживляет, как я должен, но только если я продолжаю нажимать, и всякий раз, когда я поднимаю палец, он возвращается в исходное положение независимо от того, завершена ли анимация или нет, хотя я установил setFillEnabled(true)
и setFillAfter(true)
.
Вот видео о том, что происходит, когда я lift мой палец и когда я leave мой палец на экране до конца и everything.
Почему это происходит?
Я думаю, вы должны объявить 'FloatingActionButton fab' является глобальным переменными –
@MrNeo это не делало разницы – Olumide
I пробовал это на Nexus 4, в версии 5.1.1. Он работает так, как вы ожидали, и у вас нет проблем, которые вы видите при настройке. –