Android – Раздвижное меню с подменю

Я хотел, чтобы в моем приложении была книга с картинками, например, скользящее меню. Я google'd о проблеме и нашел много сообщений там, что только помогло мне создать одно скользящее меню. Но мне нужно, 2-х уровневое скользящее меню, т. Е. Когда я нажимаю на какую-то опцию в скользящем меню, он должен открыть другое скользящее меню поверх него (первое скользящее меню должно размываться в этот момент), как приложение zomato, как показано ниже. Я пробовал с библиотекой скользящих меню JFeinstein, но я мог бы создать 2-х уровневое меню, используя его. Есть ли какие-нибудь другие библиотеки для достижения этого или я должен построить один самостоятельно?

Ниже показано скользящее меню из приложения Zomato:

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

Когда я нажимаю на опцию «location» в приведенном выше меню, он откроет дополнительное меню, как показано ниже. Мне нужна такая же функция.

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

Solutions Collecting From Web of "Android – Раздвижное меню с подменю"

Проверьте компонент « Раздвижная панель» на виджет, позволяющий использовать несколько наложенных представлений с помощью скользящего взаимодействия для отображения нескольких данных глубины на одном экране.

Он также предоставляет демонстрацию ссылочной реализации, которую вы также можете проверить.

Благодарю.

Вы можете легко добавить столько уровней меню, сколько хотите, используя скользящее меню JFeinstein. Идея состоит в том, чтобы использовать скользящее меню в виде левого или правого скользящего вида основного скользящего меню и так далее. Полный код меню уровня 2 с комментариями и выводами добавлен, чтобы сделать вещи более ясными.

public class MainActivity extends SlidingFragmentActivity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // dummy views - content view TextView content = new TextView(this); content.setBackgroundColor(Color.WHITE); content.setText("content"); // Menu view TextView menu = new TextView(this); menu.setBackgroundColor(Color.GREEN); menu.setText("menu"); // 2nd level menu view TextView subMenu = new TextView(this); subMenu.setBackgroundColor(Color.LTGRAY); subMenu.setText("submenu"); //configure sliding menu SlidingMenu sm = getSlidingMenu(); sm.setMode(SlidingMenu.SLIDING_WINDOW); sm.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN); sm.setBehindOffset(80); sm.setBehindScrollScale(0.25f); sm.setFadeDegree(0.25f); //Another sliding menu - for 2nd level or sub menu SlidingMenu leftSlidingView = new SlidingMenu(this); leftSlidingView.setMode(SlidingMenu.SLIDING_WINDOW); leftSlidingView.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN); leftSlidingView.setBehindOffset(80); leftSlidingView.setBehindScrollScale(0.25f); leftSlidingView.setFadeDegree(0.25f); //==== Required instruments has been created ;) lets put them at right places // setting menu and sub-menu view leftSlidingView.setContent(menu); // at center of left sliding view leftSlidingView.setMenu(subMenu); // at left of left sliding view //set content view setContentView(content); // at center of main sliding view // finally, set leftSlidingView as behind content view of main view setBehindContentView(leftSlidingView); // at left of main sliding view } } 

Вот результат:

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

Примечание. Вам нужно импортировать скользящее меню JFeinstein в качестве библиотеки и расширить свою активность с помощью функции SlidingFragmentActivity.