forked from organicmaps/organicmaps
[android] Added scroll reset for main menu bottom sheet when it's closed
This commit is contained in:
parent
17577b105f
commit
d1f74a9b83
4 changed files with 15 additions and 5 deletions
android/src/com/mapswithme/maps
|
@ -2670,7 +2670,6 @@ public class MwmActivity extends BaseMwmFragmentActivity
|
|||
if (getActivity().closeSidePanel())
|
||||
return;
|
||||
|
||||
Toast.makeText(getActivity(), "Open bottom sheet menu!", Toast.LENGTH_SHORT).show();
|
||||
getActivity().mMainMenuController.open();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -41,6 +41,7 @@ public class BottomSheetMenuController implements MenuController
|
|||
|
||||
if (BottomSheetMenuUtils.isHiddenState(state))
|
||||
{
|
||||
mMenuRenderer.onHide();
|
||||
mStateObserver.onMenuClosed();
|
||||
return;
|
||||
}
|
||||
|
@ -90,8 +91,6 @@ public class BottomSheetMenuController implements MenuController
|
|||
View sheet = view.findViewById(mSheetResId);
|
||||
Objects.requireNonNull(sheet);
|
||||
mSheetBehavior = BottomSheetBehavior.from(sheet);
|
||||
// FIXME: bottom sheet should be hidden by default without this call.
|
||||
mSheetBehavior.setState(BottomSheetBehavior.STATE_HIDDEN);
|
||||
mSheetBehavior.setBottomSheetCallback(mSheetCallback);
|
||||
GestureDetectorCompat gestureDetector = new GestureDetectorCompat(
|
||||
view.getContext(), new BottomSheetMenuGestureListener(mSheetBehavior));
|
||||
|
|
|
@ -5,6 +5,7 @@ import android.widget.TextView;
|
|||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.core.widget.NestedScrollView;
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
import com.mapswithme.maps.R;
|
||||
|
@ -30,6 +31,9 @@ public class MainMenuRenderer implements MenuRenderer
|
|||
@SuppressWarnings("NullableProblems")
|
||||
@NonNull
|
||||
private TextView mDownloadMapsCounter;
|
||||
@SuppressWarnings("NullableProblems")
|
||||
@NonNull
|
||||
private NestedScrollView mScrollView;
|
||||
|
||||
MainMenuRenderer(@NonNull MainMenuOptionListener listener)
|
||||
{
|
||||
|
@ -55,6 +59,7 @@ public class MainMenuRenderer implements MenuRenderer
|
|||
public void initialize(@Nullable View view)
|
||||
{
|
||||
Objects.requireNonNull(view);
|
||||
mScrollView = (NestedScrollView) view;
|
||||
initLayersRecycler(view);
|
||||
TextView addPlace = view.findViewById(R.id.add_place);
|
||||
addPlace.setOnClickListener(v -> mListener.onAddPlaceOptionSelected());
|
||||
|
@ -95,7 +100,13 @@ public class MainMenuRenderer implements MenuRenderer
|
|||
@Override
|
||||
public void destroy()
|
||||
{
|
||||
// TODO: Implement.
|
||||
// Do nothing by default.
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onHide()
|
||||
{
|
||||
mScrollView.scrollTo(0, 0);
|
||||
}
|
||||
|
||||
private abstract class DefaultClickListener implements OnItemClickListener<BottomSheetItem>
|
||||
|
|
|
@ -2,9 +2,10 @@ package com.mapswithme.maps.widget.menu;
|
|||
|
||||
import android.view.View;
|
||||
|
||||
import com.mapswithme.maps.base.Hideable;
|
||||
import com.mapswithme.maps.base.Initializable;
|
||||
|
||||
public interface MenuRenderer extends Initializable<View>
|
||||
public interface MenuRenderer extends Initializable<View>, Hideable
|
||||
{
|
||||
void render();
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue