Как добавить элементы значка переполнения на карте в Android

Привет, Я пытаюсь создать макет, как это, используя библиотеку поддержки https://developer.android.com/reference/android/support/v7/widget/CardView.html, но я не нашел способ добавить значок переполнения в карта.

Я не хочу использовать эту библиотеку https://github.com/gabrielemariotti/cardslib/blob/master/doc/CARDGRID.md . Я хочу сделать то же самое с помощью библиотеки поддержки, которую недавно представил Google.

Не существует способа добиться использования библиотеки поддержки, или я должен использовать библиотеку gabrielemariotti для добавления элементов переполнения в виде карты.

Введите описание изображения здесь

Обновить

Ребята, я редактировал вопрос, теперь яснее, что я хочу.

Solutions Collecting From Web of "Как добавить элементы значка переполнения на карте в Android"

Прежде всего, вы не должны использовать эту библиотеку только для того, чтобы создать меню переполнения внутри карты.

Сказано, что CardView в библиотеке поддержки – это FrameLayout с любой моделью. Лучший способ добиться этого – теперь использовать новую Toolbar внутри макета CardView.

Также вы можете добавить ImageView внутри макета CardView и сделать что-то вроде этого:

 PopupMenu popup = new PopupMenu(getContext(), mImageButton); MenuInflater inflater = popup.getMenuInflater(); inflater.inflate(R.menu.your_menu, popup.getMenu()); 

Наконец (но это не так важно), если этого недостаточно, новая картаlibb (скоро) будет использовать CardView в библиотеке поддержки.

Вот как это сделать правильно в android.support.v7.widget.CardView . В моем примере это внешний вид внутри RecyclerView, поэтому я установил его в адаптере внутри метода onBindViewHolder:

 public class DashboardItemAdapter extends RecyclerView.Adapter<DashboardItemAdapter.ViewHolder> { ArrayList<Item> mItems = new ArrayList<>(); private Context mContext; @Override public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { mContext = parent.getContext(); View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.card_dashboard, parent, false); return new ViewHolder(v); } @Override public void onBindViewHolder(ViewHolder vh, int position) { final Item item = mItems.get(position); ... PopupMenu popup = new PopupMenu(mContext, vh.btnMenu); popup.inflate(R.menu.dashboard_card_waiting); popup.setOnMenuItemClickListener(item -> { switch (item.getItemId()) { case R.id.action_cancel: cancelItem(); return true; default: return true; } }); vh.btnMenu.setOnClickListener(btn -> popup.show()); } ... }