Android - икони за бърз достъп в персонализиран адаптер за списък (google play music)

Опитвам се да възпроизведа изгледа на списък в Google Play Music като

списъчен изглед на снимка

но не съм сигурен кой е най-добрият начин за зареждане на опции като „Стартиране на незабавен микс“ или „Отиди на изпълнител“ при щракване върху бутона, който изглежда като препълване на действие в изгледа на списъка. Третирате ли ги като елементи от менюто? Ако е така, какъв метод за обратно извикване бихте използвали?

Причината, поради която искам да използвам прекия път в списъчния изглед, е защото искам потребителят да може да вижда свързани албуми, в които е песента, което не може да се побере в малък изглед на списък, защото може да има общо 8 снимки. Те също са свързани с песните в изгледа на списъка, така че предполагам, че това би бил най-добрият ми избор за дизайн.


person John61590    schedule 06.04.2014    source източник


Отговори (2)


Мисля, че го разбрах. Възпроизвеждах го, като направих ImageView с onClickListener, което зарежда ListPopupWindow в ListAdapter. ImageView src, който използвах, е само стандартното препълване на менюто, което може да бъде изтеглено.

person John61590    schedule 07.04.2014

Това може да се създаде с помощта на PopupMenu

PopupMenu popup = new PopupMenu(context, viewToAttach);

и раздуйте xml файла на менюто с

popup.inflate(R.menu.your_menu_options_file);

поставете файл с опции на менюто

меню/вашето_меню_опции_файл.xml

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        android:id="@+id/action_item_mix"
        android:title="Start instant mix" />
</menu>

Получавате щракване слушател от

popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
                    @Override
                    public boolean onMenuItemClick(MenuItem item) {
                        switch (item.getItemId()) {
                            case R.id.action_item_mix:
                                //do the action here
                                break;
                        }
                        return false;
                    }
                });
                popup.show();
person rafa    schedule 26.06.2017