Совместное использование строки меню между действиями - PullRequest
2 голосов
/ 09 января 2012

В моем приложении есть строка меню, которую я хочу разделить между 5 своими действиями.Моя строка меню (= 5 кнопок, позволяющая переключаться между действиями) имеет точно такой же интерфейс и одинаковое поведение для любого действия, поэтому я хотел бы поделиться как кодом представления XML строки меню, так и кодом контроллера.

Я уже нашелспособ поделиться кодом XML с использованием повторно используемых компонентов пользовательского интерфейса , но я не могу найти способ поделиться кодом контроллера, который управляет щелчками кнопок в строке меню.

Примечание: моя строка менюпользовательский, а не Android Меню параметров один.

Заранее спасибо.

Ответы [ 3 ]

2 голосов
/ 17 января 2012

Я думаю, что лучшее решение - использовать Фрагменты , используя библиотеку Android Support v4

1 голос
/ 09 января 2012

Вы можете выполнить одно действие с простой реализацией строки меню, а затем вы можете использовать этот класс для расширения каждого из ваших действий вместо активности

предположим, что ваша базовая активность выглядит следующим образом: BaseActivity расширяет активность

и после этого вы можете расширить все свои пять действий с BaseActivity

0 голосов
/ 09 января 2012

Может быть, вам стоит попробовать создать свой собственный класс View. Скажем, корневой тег вашей строки меню - RelativeLayout.

public class MenubarView extends RelativeLayout {
    public MenubarView(Context context, AttributeSet attrs) {
        super(context, attrs);

        // inflates menubar.xml into this view
        // (note: menubar's root view should probably be a 'merge' tag)
        LayoutInflater.from(context).inflate(R.layout.menubar, this);
    }

    // controller code
}

Затем в xml просто вставьте свой пользовательский вид так:

<LinearLayout
   ... />

    <com.your.package.MenubarView
        ... />

</LinearLayout>
...