improve markers categories design and add clicks on text and categories
This commit is contained in:
parent
1795ddf56c
commit
f957bef897
3 changed files with 37 additions and 23 deletions
|
@ -60,10 +60,11 @@
|
||||||
android:id="@+id/content"
|
android:id="@+id/content"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginLeft="@dimen/content_padding"
|
|
||||||
android:layout_marginStart="@dimen/content_padding"
|
|
||||||
android:layout_marginRight="@dimen/content_padding"
|
|
||||||
android:layout_marginEnd="@dimen/content_padding"
|
android:layout_marginEnd="@dimen/content_padding"
|
||||||
|
android:layout_marginLeft="@dimen/content_padding"
|
||||||
|
android:layout_marginRight="@dimen/content_padding"
|
||||||
|
android:layout_marginStart="@dimen/content_padding"
|
||||||
|
android:background="?attr/selectableItemBackground"
|
||||||
android:ellipsize="end"
|
android:ellipsize="end"
|
||||||
android:maxLines="3"
|
android:maxLines="3"
|
||||||
android:textAppearance="@style/TextAppearance.ContextMenuSubtitle"
|
android:textAppearance="@style/TextAppearance.ContextMenuSubtitle"
|
||||||
|
|
|
@ -29,20 +29,29 @@
|
||||||
<net.osmand.plus.widgets.TextViewEx
|
<net.osmand.plus.widgets.TextViewEx
|
||||||
android:id="@+id/title"
|
android:id="@+id/title"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="wrap_content"
|
||||||
android:layout_gravity="center_vertical"
|
android:layout_gravity="center_vertical"
|
||||||
|
android:layout_marginLeft="@dimen/bottom_sheet_content_padding_small"
|
||||||
|
android:layout_marginStart="@dimen/bottom_sheet_content_padding_small"
|
||||||
|
android:layout_marginBottom="@dimen/context_menu_padding_margin_tiny"
|
||||||
|
android:layout_marginTop="@dimen/context_menu_padding_margin_tiny"
|
||||||
android:layout_weight="2"
|
android:layout_weight="2"
|
||||||
|
android:background="?attr/selectableItemBackground"
|
||||||
android:ellipsize="end"
|
android:ellipsize="end"
|
||||||
android:gravity="center_vertical"
|
android:gravity="center_vertical"
|
||||||
|
android:letterSpacing="@dimen/text_button_letter_spacing"
|
||||||
android:maxLines="1"
|
android:maxLines="1"
|
||||||
|
android:paddingBottom="@dimen/context_menu_padding_margin_tiny"
|
||||||
android:paddingEnd="@dimen/list_content_padding"
|
android:paddingEnd="@dimen/list_content_padding"
|
||||||
android:paddingLeft="@dimen/list_content_padding"
|
android:paddingLeft="@dimen/bottom_sheet_content_padding_small"
|
||||||
android:paddingRight="@dimen/list_content_padding"
|
android:paddingRight="@dimen/bottom_sheet_content_padding_small"
|
||||||
android:paddingStart="@dimen/list_content_padding"
|
android:paddingStart="@dimen/list_content_padding"
|
||||||
|
android:paddingTop="@dimen/context_menu_padding_margin_tiny"
|
||||||
android:textColor="?attr/wikivoyage_active_color"
|
android:textColor="?attr/wikivoyage_active_color"
|
||||||
android:textSize="@dimen/default_desc_text_size"
|
android:textSize="@dimen/default_desc_text_size"
|
||||||
osmand:typeface="@string/font_roboto_medium"
|
osmand:typeface="@string/font_roboto_medium"
|
||||||
tools:text="Van Gogh " />
|
tools:text="Van Gogh "
|
||||||
|
tools:ignore="UnusedAttribute"/>
|
||||||
|
|
||||||
<View
|
<View
|
||||||
android:layout_width="1dp"
|
android:layout_width="1dp"
|
||||||
|
|
|
@ -443,20 +443,23 @@ public class MapMarkersGroupsAdapter extends RecyclerView.Adapter<RecyclerView.V
|
||||||
final TravelArticle article = group.getWikivoyageArticle();
|
final TravelArticle article = group.getWikivoyageArticle();
|
||||||
if (article != null && !groupIsDisabled) {
|
if (article != null && !groupIsDisabled) {
|
||||||
headerViewHolder.articleDescription.setVisibility(View.VISIBLE);
|
headerViewHolder.articleDescription.setVisibility(View.VISIBLE);
|
||||||
if (article.getContent().isEmpty()) {
|
View.OnClickListener openWikiwoyageArticle = new View.OnClickListener() {
|
||||||
headerViewHolder.content.setVisibility(View.GONE);
|
|
||||||
} else {
|
|
||||||
headerViewHolder.content.setText(article.getContent());
|
|
||||||
}
|
|
||||||
headerViewHolder.button.setText(R.string.shared_string_read);
|
|
||||||
headerViewHolder.button.setOnClickListener(new View.OnClickListener() {
|
|
||||||
@Override
|
@Override
|
||||||
public void onClick(View v) {
|
public void onClick(View v) {
|
||||||
if (mapActivity.getSupportFragmentManager() != null) {
|
if (mapActivity.getSupportFragmentManager() != null) {
|
||||||
WikivoyageArticleDialogFragment.showInstance(app, mapActivity.getSupportFragmentManager(), article.getCityId(), article.getLang());
|
WikivoyageArticleDialogFragment.showInstance(app, mapActivity.getSupportFragmentManager(), article.getCityId(), article.getLang());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
};
|
||||||
|
if (article.getContent().isEmpty()) {
|
||||||
|
headerViewHolder.content.setVisibility(View.GONE);
|
||||||
|
} else {
|
||||||
|
headerViewHolder.content.setText(article.getContent());
|
||||||
|
headerViewHolder.content.setOnClickListener(openWikiwoyageArticle);
|
||||||
|
}
|
||||||
|
|
||||||
|
headerViewHolder.button.setText(R.string.shared_string_read);
|
||||||
|
headerViewHolder.button.setOnClickListener(openWikiwoyageArticle);
|
||||||
} else {
|
} else {
|
||||||
headerViewHolder.articleDescription.setVisibility(View.GONE);
|
headerViewHolder.articleDescription.setVisibility(View.GONE);
|
||||||
}
|
}
|
||||||
|
@ -552,13 +555,7 @@ public class MapMarkersGroupsAdapter extends RecyclerView.Adapter<RecyclerView.V
|
||||||
if (header instanceof MapMarkersHelper.CategoriesSubHeader) {
|
if (header instanceof MapMarkersHelper.CategoriesSubHeader) {
|
||||||
final MapMarkersHelper.CategoriesSubHeader categoriesSubHeader = (MapMarkersHelper.CategoriesSubHeader) header;
|
final MapMarkersHelper.CategoriesSubHeader categoriesSubHeader = (MapMarkersHelper.CategoriesSubHeader) header;
|
||||||
final MapMarkersGroup group = categoriesSubHeader.getGroup();
|
final MapMarkersGroup group = categoriesSubHeader.getGroup();
|
||||||
|
View.OnClickListener openChooseCategoriesDialog = new View.OnClickListener() {
|
||||||
categoriesViewHolder.title.setText(getGroupWptCategoriesString(group));
|
|
||||||
categoriesViewHolder.divider.setVisibility(View.VISIBLE);
|
|
||||||
categoriesViewHolder.button.setCompoundDrawablesWithIntrinsicBounds(
|
|
||||||
null, null, app.getIconsCache().getIcon(R.drawable.ic_action_filter,
|
|
||||||
night ? R.color.wikivoyage_active_dark : R.color.wikivoyage_active_light), null);
|
|
||||||
categoriesViewHolder.button.setOnClickListener(new View.OnClickListener() {
|
|
||||||
@Override
|
@Override
|
||||||
public void onClick(View view) {
|
public void onClick(View view) {
|
||||||
if (!group.getWptCategories().isEmpty()) {
|
if (!group.getWptCategories().isEmpty()) {
|
||||||
|
@ -574,7 +571,14 @@ public class MapMarkersGroupsAdapter extends RecyclerView.Adapter<RecyclerView.V
|
||||||
mapActivity.getMyApplication().getMapMarkersHelper().addOrEnableGpxGroup(new File(group.getGpxPath()));
|
mapActivity.getMyApplication().getMapMarkersHelper().addOrEnableGpxGroup(new File(group.getGpxPath()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
};
|
||||||
|
categoriesViewHolder.title.setText(getGroupWptCategoriesString(group));
|
||||||
|
categoriesViewHolder.divider.setVisibility(View.VISIBLE);
|
||||||
|
categoriesViewHolder.button.setCompoundDrawablesWithIntrinsicBounds(
|
||||||
|
null, null, app.getIconsCache().getIcon(R.drawable.ic_action_filter,
|
||||||
|
night ? R.color.wikivoyage_active_dark : R.color.wikivoyage_active_light), null);
|
||||||
|
categoriesViewHolder.button.setOnClickListener(openChooseCategoriesDialog);
|
||||||
|
categoriesViewHolder.title.setOnClickListener(openChooseCategoriesDialog);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue