Я реализовал Coverflow, используя https://github.com/moondroid/CoverFlow, он работает хорошо, но я хотел бы анимировать значок перед моим потоком обложек, вы знаете, как я могу это сделать? Я пробовал, но анимация применяется ко всем компонентам, что мне действительно нужно, так это анимировать только значок, который находится в основной позиции потока покрытия
Мой код выглядит следующим образом
private FeatureCoverFlow coverFlow;
private IconAdapter menuAdapter;
private List<Menu> menuList = new ArrayList<>();
private TextSwitcher mTitle;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initData();
mTitle = findViewById(R.id.title);
mTitle.setFactory(new ViewSwitcher.ViewFactory() {
@Override
public View makeView() {
LayoutInflater inflater = LayoutInflater.from(MainActivity.this);
TextView txt = (TextView) inflater.inflate(R.layout.layout_title, null);
return txt;
}
});
Animation in = AnimationUtils.loadAnimation(this, R.anim.slide_in_top);
Animation out = AnimationUtils.loadAnimation(this, R.anim.slide_out_bottom);
Animation heartbeat = AnimationUtils.loadAnimation(this,R.anim.heartbeat);
mTitle.setInAnimation(in);
mTitle.setOutAnimation(out);
menuAdapter = new IconAdapter(menuList, this);
coverFlow = findViewById(R.id.coverFlow);
coverFlow.setAdapter(menuAdapter);
coverFlow.setOnScrollPositionListener(new FeatureCoverFlow.OnScrollPositionListener() {
@Override
public void onScrolledToPosition(int position) {
mTitle.setText(menuList.get(position).getName());
}
@Override
public void onScrolling() {
}
});
coverFlow.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int i, long id) {
if(menuAdapter.getItemId(i) == 4) {
startActivity(new Intent(MainActivity.this, OperacaoActivity.class));
}
else if (menuAdapter.getItemId(i)== 5) {
startActivity(new Intent(MainActivity.this, OperacaoActivity.class));
}
else if (menuAdapter.getItemId(i)== 2) {
startActivity(new Intent(MainActivity.this, ManualActivity.class));
}
else if (menuAdapter.getItemId(i)== 3) {
startActivity(new Intent(MainActivity.this, ManualActivity.class));
}
else {
}// startActivity(new Intent(MainActivity.this,OperacaoActivity.class));
//}
}
});
}
private void initData(){
menuList.add(new Menu("Operação",R.drawable.ic_launcher_background));
menuList.add(new Menu("Manual",R.drawable.logo));
menuList.add(new Menu("Configuração",R.drawable.ic_launcher_background));
menuList.add(new Menu("Informações",R.drawable.logo));
}
}