improve/all #162
|
@ -8,6 +8,7 @@ import androidx.annotation.NonNull;
|
|||
import androidx.core.view.MenuHost;
|
||||
import androidx.core.view.MenuProvider;
|
||||
import androidx.fragment.app.Fragment;
|
||||
import androidx.lifecycle.Lifecycle;
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
|
||||
|
@ -80,6 +81,7 @@ public class CommonHomeFragment extends Fragment {
|
|||
private KSLogger logger;
|
||||
|
||||
CompactCalendarView compactCalendarView;
|
||||
View calendarContainer;
|
||||
SwipeRefreshLayout swipeRefreshLayout;
|
||||
TaskListItemAdapter taskListItemAdapter;
|
||||
TextView calendarTitleTextView;
|
||||
|
@ -140,6 +142,7 @@ public class CommonHomeFragment extends Fragment {
|
|||
RecyclerView taskListRecyclerView = view.findViewById(R.id.taskListRecyclerView);
|
||||
taskListRecyclerView.setLayoutManager(new LinearLayoutManager(getContext()));
|
||||
taskListRecyclerView.setAdapter(taskListItemAdapter);
|
||||
taskListRecyclerView.setItemViewCacheSize(10);
|
||||
recyclerViewAnimUtils.setSlideUpAnimation(taskListRecyclerView);
|
||||
|
||||
swipeRefreshLayout = view.findViewById(R.id.swipeRefreshLayout);
|
||||
|
@ -148,63 +151,7 @@ public class CommonHomeFragment extends Fragment {
|
|||
calendarTitleTextView = view.findViewById(R.id.calendarTitleTextView);
|
||||
calendarPrevButton = view.findViewById(R.id.calendarPrevButton);
|
||||
calendarNextButton = view.findViewById(R.id.calendarNextButton);
|
||||
|
||||
initCalender();
|
||||
|
||||
MenuHost menuHost = requireActivity();
|
||||
menuHost.addMenuProvider(new MenuProvider() {
|
||||
@Override
|
||||
public void onCreateMenu(@NonNull Menu menu, @NonNull MenuInflater menuInflater) {
|
||||
menu.clear();
|
||||
menuInflater.inflate(R.menu.common_home_toolbar_menu, menu);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onMenuItemSelected(@NonNull MenuItem menuItem) {
|
||||
if (menuItem.getItemId() == R.id.toggle_calendar) {
|
||||
View calendarContainer = view.findViewById(R.id.calendarContainer);
|
||||
if (calendarContainer.getVisibility() == View.VISIBLE) {
|
||||
Animation slideUp = AnimationUtils.loadAnimation(getContext(), one.nem.kidshift.shared.R.anim.slide_up);
|
||||
calendarContainer.startAnimation(slideUp);
|
||||
slideUp.setAnimationListener(new Animation.AnimationListener() {
|
||||
@Override
|
||||
public void onAnimationStart(Animation animation) {
|
||||
recyclerViewRefresh();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onAnimationEnd(Animation animation) {
|
||||
calendarContainer.setVisibility(View.GONE);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onAnimationRepeat(Animation animation) {
|
||||
}
|
||||
});
|
||||
} else {
|
||||
Animation slideDown = AnimationUtils.loadAnimation(getContext(), one.nem.kidshift.shared.R.anim.slide_down);
|
||||
calendarContainer.startAnimation(slideDown);
|
||||
slideDown.setAnimationListener(new Animation.AnimationListener() {
|
||||
@Override
|
||||
public void onAnimationStart(Animation animation) {
|
||||
calendarContainer.setVisibility(View.VISIBLE);
|
||||
recyclerViewRefresh();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onAnimationEnd(Animation animation) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onAnimationRepeat(Animation animation) {
|
||||
}
|
||||
});
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
});
|
||||
calendarContainer = view.findViewById(R.id.calendarContainer);
|
||||
|
||||
initCalender();
|
||||
updateData();
|
||||
|
@ -268,6 +215,62 @@ public class CommonHomeFragment extends Fragment {
|
|||
toolBarManager.setTitle("KidShift");
|
||||
toolBarManager.setSubtitle("保護者ビュー - タスク一覧");
|
||||
}
|
||||
MenuHost menuHost = requireActivity();
|
||||
|
||||
menuHost.invalidateMenu();
|
||||
menuHost.addMenuProvider(new MenuProvider() {
|
||||
@Override
|
||||
public void onCreateMenu(@NonNull Menu menu, @NonNull MenuInflater menuInflater) {
|
||||
logger.debug("onCreateMenu, インフレート");
|
||||
menu.clear();
|
||||
menuInflater.inflate(R.menu.common_home_toolbar_menu, menu);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onMenuItemSelected(@NonNull MenuItem menuItem) {
|
||||
if (menuItem.getItemId() == R.id.toggle_calendar) {
|
||||
if (calendarContainer.getVisibility() == View.VISIBLE) {
|
||||
Animation slideUp = AnimationUtils.loadAnimation(getContext(), one.nem.kidshift.shared.R.anim.slide_up);
|
||||
calendarContainer.startAnimation(slideUp);
|
||||
slideUp.setAnimationListener(new Animation.AnimationListener() {
|
||||
@Override
|
||||
public void onAnimationStart(Animation animation) {
|
||||
recyclerViewRefresh();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onAnimationEnd(Animation animation) {
|
||||
calendarContainer.setVisibility(View.GONE);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onAnimationRepeat(Animation animation) {
|
||||
}
|
||||
});
|
||||
} else {
|
||||
Animation slideDown = AnimationUtils.loadAnimation(getContext(), one.nem.kidshift.shared.R.anim.slide_down);
|
||||
calendarContainer.startAnimation(slideDown);
|
||||
slideDown.setAnimationListener(new Animation.AnimationListener() {
|
||||
@Override
|
||||
public void onAnimationStart(Animation animation) {
|
||||
calendarContainer.setVisibility(View.VISIBLE);
|
||||
recyclerViewRefresh();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onAnimationEnd(Animation animation) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onAnimationRepeat(Animation animation) {
|
||||
}
|
||||
});
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}, this.getViewLifecycleOwner(), Lifecycle.State.RESUMED);
|
||||
}
|
||||
|
||||
|
||||
|
@ -347,9 +350,11 @@ public class CommonHomeFragment extends Fragment {
|
|||
}
|
||||
}).thenAccept(taskItemModel -> {
|
||||
requireActivity().runOnUiThread(() -> {
|
||||
taskListItemAdapter.notifyItemRangeRemoved(0, taskListItemAdapter.getItemCount());
|
||||
// taskListItemAdapter.notifyItemRangeRemoved(0, taskListItemAdapter.getItemCount());
|
||||
// taskListItemAdapter.setTaskItemModelList(taskItemModel);
|
||||
// taskListItemAdapter.notifyItemRangeInserted(0, taskItemModel.size());
|
||||
taskListItemAdapter.setTaskItemModelList(taskItemModel);
|
||||
taskListItemAdapter.notifyItemRangeInserted(0, taskItemModel.size());
|
||||
taskListItemAdapter.notifyItemRangeChanged(0, taskItemModel.size());
|
||||
});
|
||||
});
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user