Navigation Drawer
- avshelestov
- Сообщения: 61
- Зарегистрирован: 31 окт 2012, 18:51
Navigation Drawer
Всем привет.
Собственно встала задача подключить к уже готовому приложению Navigation Drawer.
Собственно как я понял план работы получается следующий:
1. Сделать одну уктивити с drawer.
2. Все активити, у которых будет drawer переписать в фрагменты.
3. При навигации через drawer подгружать нужный фрагмент в фрейм главной активити.
И еще. Drawer поддерживает костомизацию или там может быть только один ListView?
Собственно встала задача подключить к уже готовому приложению Navigation Drawer.
Собственно как я понял план работы получается следующий:
1. Сделать одну уктивити с drawer.
2. Все активити, у которых будет drawer переписать в фрагменты.
3. При навигации через drawer подгружать нужный фрагмент в фрейм главной активити.
И еще. Drawer поддерживает костомизацию или там может быть только один ListView?
Re: Navigation Drawer
Почитала. Хорошая штука. Только нигде там не увидела, что теперь все приложение должно состоять из фрагментов. Обычная навигация, обычное меню - делай там что хочешь (есть некоторые правила, описанные тут http://developer.android.com/design/pat ... rawer.html в картинках, но не более). Не рекомендуют делать там экшены, а навигацию пожалуйста, любую..
Все что туда можно помещать описано по ссылке. Это список команд, плюс подпункты тоже поддерживаются, и можно картиночку сделать. Все.
Все что туда можно помещать описано по ссылке. Это список команд, плюс подпункты тоже поддерживаются, и можно картиночку сделать. Все.
R.id.team
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
- avshelestov
- Сообщения: 61
- Зарегистрирован: 31 окт 2012, 18:51
Re: Navigation Drawer
Ну как же по ссылке:Foenix писал(а):Почитала. Хорошая штука. Только нигде там не увидела, что теперь все приложение должно состоять из фрагментов.
http://developer.android.com/training/i ... rawer.html
Сразу создается лайоут с фреймом для контента и списком для навигации.
Не создавать же такой для каждого активити. Дублирование кода получится.
Re: Navigation Drawer
ничего ен понимаю, ну и что, это лэйаут для Drawer
у активити свой инфлейтится setContentView(R.layout.activity_main);
у активити свой инфлейтится setContentView(R.layout.activity_main);
R.id.team
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
- avshelestov
- Сообщения: 61
- Зарегистрирован: 31 окт 2012, 18:51
Re: Navigation Drawer
Неа.
R.layout.activity_main это и есть:
R.layout.activity_main это и есть:
Код: Выделить всё
<android.support.v4.widget.DrawerLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent">
<!-- The main content view -->
<FrameLayout
android:id="@+id/content_frame"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<!-- The navigation drawer -->
<ListView android:id="@+id/left_drawer"
android:layout_width="240dp"
android:layout_height="match_parent"
android:layout_gravity="start"
android:choiceMode="singleChoice"
android:divider="@android:color/transparent"
android:dividerHeight="0dp"
android:background="#111"/>
</android.support.v4.widget.DrawerLayout>
Re: Navigation Drawer
Это у них в примере так
What you do in the onItemClick() method depends on how you've implemented your app structure.
т.е. в onItemClick() можно писать любой, какой угодно код, а не подставлять только лишь фрагменты.
What you do in the onItemClick() method depends on how you've implemented your app structure.
т.е. в onItemClick() можно писать любой, какой угодно код, а не подставлять только лишь фрагменты.
R.id.team
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
- avshelestov
- Сообщения: 61
- Зарегистрирован: 31 окт 2012, 18:51
Re: Navigation Drawer
Я не говорил, что в onclick можно только фрагменты подставлять.
Просто они так же рекомендуют делать главный лейаут с drawer и framelayout, в который впендюривать фрагменты.
Просто они так же рекомендуют делать главный лейаут с drawer и framelayout, в который впендюривать фрагменты.
Re: Navigation Drawer
они не рекомендуют, у них пример такой.
R.id.team
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
- avshelestov
- Сообщения: 61
- Зарегистрирован: 31 окт 2012, 18:51
Re: Navigation Drawer
Ок. Тогда в каждый лейоут активити прийдется копировать drawer?Foenix писал(а):они не рекомендуют, у них пример такой.
- avshelestov
- Сообщения: 61
- Зарегистрирован: 31 окт 2012, 18:51
Re: Navigation Drawer
Ладно всем спасибо.
Пока решил все же не переписывать все на фрагменты, а проинклудить drawer в layout каждой активити с помощью <include />.
Пока решил все же не переписывать все на фрагменты, а проинклудить drawer в layout каждой активити с помощью <include />.
Re: Navigation Drawer
разобраться нужно в этом, может я себе тоже тако йреализую, штука интересная.
и ничего плохого в том, чтоб делать эту штуку в каждом лэйауте, у мен яво всяком случае много активити, и они зависимые друг от друга (типа такого только сложнее http://developer.android.com/design/med ... n_hubs.png отсюда http://developer.android.com/design/pat ... rawer.html) поэтому если делать навигацию в нем (что очень удобно) нужно содержимое этой штуки менять.
и ничего плохого в том, чтоб делать эту штуку в каждом лэйауте, у мен яво всяком случае много активити, и они зависимые друг от друга (типа такого только сложнее http://developer.android.com/design/med ... n_hubs.png отсюда http://developer.android.com/design/pat ... rawer.html) поэтому если делать навигацию в нем (что очень удобно) нужно содержимое этой штуки менять.
R.id.team
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
Re: Navigation Drawer
я этот include пробовала, хорошая штука, но мне так и не удалось побороть парочку глюков, из-за которых невозможно было ею пользоваться (в моем случае некоторые настройки, типа выравнивания по правому краю, не хотели устанавливаться).avshelestov писал(а):Ладно всем спасибо.
Пока решил все же не переписывать все на фрагменты, а проинклудить drawer в layout каждой активити с помощью <include />.
R.id.team
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
- avshelestov
- Сообщения: 61
- Зарегистрирован: 31 окт 2012, 18:51
Re: Navigation Drawer
Сегодня попробую.
У меня обратная ситуация. Меню навешивается примерно на 8 activities и везде оно будет идентично, кроме выделения текущего пункта.
А я, как ярый противник любого дублирования кода, не люблю его дублировать )))
У меня обратная ситуация. Меню навешивается примерно на 8 activities и везде оно будет идентично, кроме выделения текущего пункта.
А я, как ярый противник любого дублирования кода, не люблю его дублировать )))
Re: Navigation Drawer
покажи потом как получилось
у тебя активити получаются - равноправные, верхнего уровня?
у тебя активити получаются - равноправные, верхнего уровня?
R.id.team
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
- avshelestov
- Сообщения: 61
- Зарегистрирован: 31 окт 2012, 18:51
Re: Navigation Drawer
Те, что будут с меню да.Foenix писал(а):покажи потом как получилось
у тебя активити получаются - равноправные, верхнего уровня?
- avshelestov
- Сообщения: 61
- Зарегистрирован: 31 окт 2012, 18:51
Re: Navigation Drawer
Решил двигаться в сторону фрагментов.
Иначе вырисовывается жуткий говнокод.
Да и попытка вставить drawer в обычных layout натыкается на ошибку невозможности совмещения DrawerLayout с RelativeLayout в одном layout-е.
Так, что оценив все за и против, решил остановится на фрагментах, да и давно пора на фрагменты переходить.
Если я в чем то не прав, буду рад выслушать замечания.
Иначе вырисовывается жуткий говнокод.
Да и попытка вставить drawer в обычных layout натыкается на ошибку невозможности совмещения DrawerLayout с RelativeLayout в одном layout-е.
Так, что оценив все за и против, решил остановится на фрагментах, да и давно пора на фрагменты переходить.
Если я в чем то не прав, буду рад выслушать замечания.
Re: Navigation Drawer
Я так понимаю его нельзя включить в обычный layout, он должен быть верхним уровнем, а все layout-ы внутри. Т.е. как в примере с фрагментами у них, но вместо framelayout нужно вставить свой бывший любой layout activity.
R.id.team
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
- avshelestov
- Сообщения: 61
- Зарегистрирован: 31 окт 2012, 18:51
Re: Navigation Drawer
Пробовал. Ругается на несовместимость с relativelayout.Foenix писал(а):Я так понимаю его нельзя включить в обычный layout, он должен быть верхним уровнем, а все layout-ы внутри. Т.е. как в примере с фрагментами у них, но вместо framelayout нужно вставить свой бывший любой layout activity.
Отложил на будущее. Т.к. ради этого меню прийдется всю структуру приложения пересмотреть.