diff --git a/android/res/layout/tags_category.xml b/android/res/layout/tags_category.xml
index c9c129cfb0..eea608a303 100644
--- a/android/res/layout/tags_category.xml
+++ b/android/res/layout/tags_category.xml
@@ -1,11 +1,14 @@
-
+
diff --git a/android/res/layout/ugc_routes_frag.xml b/android/res/layout/ugc_routes_frag.xml
index 0f3d7cc6b2..7c3569fb8d 100644
--- a/android/res/layout/ugc_routes_frag.xml
+++ b/android/res/layout/ugc_routes_frag.xml
@@ -67,6 +67,7 @@
android:paddingStart="@dimen/margin_base"
android:paddingEnd="@dimen/margin_base"
android:paddingRight="@dimen/margin_base"
+ android:overScrollMode="never"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
diff --git a/android/src/com/mapswithme/maps/editor/MultilanguageAdapter.java b/android/src/com/mapswithme/maps/editor/MultilanguageAdapter.java
index ca76a6aecb..8964bbec2a 100644
--- a/android/src/com/mapswithme/maps/editor/MultilanguageAdapter.java
+++ b/android/src/com/mapswithme/maps/editor/MultilanguageAdapter.java
@@ -117,7 +117,7 @@ public class MultilanguageAdapter extends RecyclerView.Adapter pair = new Pair<>(components.mAdapter, item);
mListener.onItemClick(v, pair);
diff --git a/android/src/com/mapswithme/maps/ugc/routes/UgcRoutesFragment.java b/android/src/com/mapswithme/maps/ugc/routes/UgcRoutesFragment.java
index 1e87319159..d7290fc66f 100644
--- a/android/src/com/mapswithme/maps/ugc/routes/UgcRoutesFragment.java
+++ b/android/src/com/mapswithme/maps/ugc/routes/UgcRoutesFragment.java
@@ -5,6 +5,7 @@ import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
+import android.support.v7.widget.DividerItemDecoration;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.util.Pair;
@@ -24,6 +25,7 @@ import com.mapswithme.maps.bookmarks.OnItemClickListener;
import com.mapswithme.maps.bookmarks.data.BookmarkManager;
import com.mapswithme.maps.bookmarks.data.CatalogTag;
import com.mapswithme.maps.bookmarks.data.CatalogTagsGroup;
+import com.mapswithme.maps.widget.recycler.ItemDecoratorFactory;
import com.mapswithme.util.UiUtils;
import java.util.ArrayList;
@@ -70,7 +72,7 @@ public class UgcRoutesFragment extends BaseMwmFragment implements BookmarkManage
mProgress = root.findViewById(R.id.progress_container);
mTagsContainer = root.findViewById(R.id.tags_container);
mRetryBtnContainer = root.findViewById(R.id.retry_btn_container);
- mRecycler = root.findViewById(R.id.recycler);
+ initRecycler(root);
View retryBtn = mRetryBtnContainer.findViewById(R.id.retry_btn);
retryBtn.setOnClickListener(v -> onRetryClicked());
UiUtils.hide(mTagsContainer, mRetryBtnContainer);
@@ -80,6 +82,16 @@ public class UgcRoutesFragment extends BaseMwmFragment implements BookmarkManage
return root;
}
+ private void initRecycler(@NonNull ViewGroup root)
+ {
+ mRecycler = root.findViewById(R.id.recycler);
+ mRecycler.setItemAnimator(null);
+ RecyclerView.ItemDecoration decor = ItemDecoratorFactory.createRatingRecordDecorator(
+ getContext().getApplicationContext(),
+ DividerItemDecoration.VERTICAL);
+ mRecycler.addItemDecoration(decor);
+ }
+
private void onRetryClicked()
{
UiUtils.hide(mTagsContainer, mRetryBtnContainer);
diff --git a/android/src/com/mapswithme/maps/widget/recycler/UgcRouteTagItemDecorator.java b/android/src/com/mapswithme/maps/widget/recycler/UgcRouteTagItemDecorator.java
index 0a9331ef4c..ed93f12f39 100644
--- a/android/src/com/mapswithme/maps/widget/recycler/UgcRouteTagItemDecorator.java
+++ b/android/src/com/mapswithme/maps/widget/recycler/UgcRouteTagItemDecorator.java
@@ -6,6 +6,11 @@ import android.support.annotation.NonNull;
import android.support.v7.widget.RecyclerView;
import android.view.View;
+import com.google.android.flexbox.FlexLine;
+import com.google.android.flexbox.FlexboxLayoutManager;
+
+import java.util.List;
+
public class UgcRouteTagItemDecorator extends TagItemDecoration
{
private int mCurrentOffset;
@@ -26,6 +31,19 @@ public class UgcRouteTagItemDecorator extends TagItemDecoration
outRect.left = mCurrentOffset == 0 ? 0 : getDivider().getIntrinsicWidth() / 2;
outRect.right = getDivider().getIntrinsicWidth() / 2;
+ FlexboxLayoutManager flexboxLayoutManager = (FlexboxLayoutManager) parent.getLayoutManager();
+ List flexLines = flexboxLayoutManager.getFlexLines();
+ if (flexLines == null || flexLines.isEmpty())
+ {
+ outRect.top = 0;
+ return;
+ }
+
+ FlexLine flexLine = flexLines.get(0);
+ int position = parent.getLayoutManager().getPosition(view);
+ int itemCount = flexLine.getItemCount();
+ if (position < itemCount)
+ outRect.top = 0;
}
private boolean hasSpaceFromRight(Rect outRect, View view, RecyclerView parent)