Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package app.dogo.com.dogo_android.view.main_screen.clicker;
- import android.annotation.SuppressLint;
- import android.os.Bundle;
- import android.support.annotation.NonNull;
- import android.view.LayoutInflater;
- import android.view.Menu;
- import android.view.MenuItem;
- import android.view.MotionEvent;
- import android.view.View;
- import android.view.ViewGroup;
- import android.view.animation.Animation;
- import android.view.animation.AnimationUtils;
- import android.widget.ImageView;
- import app.dogo.com.dogo_android.R;
- import app.dogo.com.dogo_android.databinding.FragmentClickerBinding;
- import app.dogo.com.dogo_android.enums.DialogTags;
- import app.dogo.com.dogo_android.enums.FragmentTags;
- import app.dogo.com.dogo_android.util.base_classes.BaseNavFragment;
- import app.dogo.com.dogo_android.util.base_classes.BaseViewModel;
- import app.dogo.com.dogo_android.viewModel.main_screen.clicker.ClickerViewModel;
- public class ClickerFragment extends BaseNavFragment {
- FragmentClickerBinding binding;
- ClickerViewModel vm;
- @Override
- public Class<? extends BaseViewModel> getViewModelClass() {
- return ClickerViewModel.class;
- }
- @Override
- public String getTitle() {
- return getResources().getString(R.string.clicker);
- }
- @Override
- public FragmentTags getFragmentTag() {
- return FragmentTags.CLICKER_FRAGMENT;
- }
- @SuppressLint("ClickableViewAccessibility")
- @Override
- public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container,
- Bundle savedInstanceState) {
- // Inflate the layout for this fragment
- binding = FragmentClickerBinding.inflate(inflater, container, false);
- vm = (ClickerViewModel) getViewModel();
- binding.setVm(vm);
- binding.setNavigator(getNavigator());
- vm.getButtonState().observe(this, aBoolean -> {
- if (aBoolean != null && aBoolean) {
- binding.clickerOnGroup.setVisibility(View.VISIBLE);
- binding.ratilai.setVisibility(View.VISIBLE);
- binding.clickerOffGroup.setVisibility(View.GONE);
- ImageView imageView = binding.ratilai;
- Animation a = AnimationUtils.loadAnimation(imageView.getContext(), R.anim.scale_animation);
- a.setAnimationListener(new Animation.AnimationListener() {
- @Override
- public void onAnimationStart(Animation animation) {
- }
- @Override
- public void onAnimationEnd(Animation animation) {
- ImageView imageView = binding.ratilai;
- imageView.setVisibility(View.GONE);
- }
- @Override
- public void onAnimationRepeat(Animation animation) {
- }
- });
- imageView.startAnimation(a);
- } else {
- binding.clickerOnGroup.setVisibility(View.GONE);
- binding.clickerOffGroup.setVisibility(View.VISIBLE);
- }
- });
- binding.container.setOnTouchListener((v, event) -> {
- switch(event.getAction()) {
- case MotionEvent.ACTION_DOWN:
- vm.buttonPressed(getNavigator());
- return true;
- }
- return false;
- });
- return binding.getRoot();
- }
- @Override
- public boolean onOptionsItemSelected(MenuItem item) {
- switch (item.getItemId()) {
- case R.id.action_help:
- switchFragment(FragmentTags.CLICKER_HELP_FRAGMENT);
- return true;
- case R.id.action_sound_choose:
- getNavigator().callDialog(DialogTags.SELECT_CLICKER_DIALOG_FRAGMENT);
- return true;
- default:
- return super.onOptionsItemSelected(item);
- }
- }
- @Override
- public boolean setupMenuItemsVisibility(Menu menu) {
- menu.findItem(R.id.action_help).setVisible(true);
- menu.findItem(R.id.action_sound_choose).setVisible(true);
- return true;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement