Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
KillAndEat
63 / 63 / 8
Регистрация: 17.05.2013
Сообщений: 286
#1

Sliding Menu обработка нажатий

20.03.2014, 16:20. Просмотров 1260. Ответов 8
Метки нет (Все метки)

Кто нибудь использовал данную библиотеку?
Кликните здесь для просмотра всего текста
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
menu = new SlidingMenu(this);
        menu.setMode(SlidingMenu.LEFT);
        menu.setTouchModeBehind(SlidingMenu.TOUCHMODE_FULLSCREEN);
        menu.setShadowDrawable(R.drawable.slidemenu_shadowgradient);
        menu.setShadowWidth(10);// ширина кромки между меню и вктивити
        menu.setFadeDegree(0.0f);// затемнение при закрытии
        menu.attachToActivity(this, SlidingMenu.SLIDING_CONTENT);
        menu.setBehindWidth(300);
        menu.setMenu(R.layout.sliding_menu);
        ExpandableListView expandableListView = (ExpandableListView) menu
                .findViewById(R.id.lvExp);
        ExpListAdapterSlideMenu adapterSlideMenu = new
        ExpListAdapterSlideMenu(getApplicationContext());
        expandableListView.setAdapter(adapterSlideMenu);
        expandableListView.setOnGroupClickListener(new OnGroupClickListener() {
 
            @Override
            public boolean onGroupClick(ExpandableListView parent, View v,
                    int groupPosition, long id) {
                Toast.makeText(getApplicationContext(), "item" + groupPosition,
                        Toast.LENGTH_SHORT).show();
                return false;
            }
        });


создаю меню запихиваю в него древовидный список, назначаю списку обработчик, но в меню никакой реакции на касания. В чем проблема?

З.Ы. Navigation Drawer не предлагать.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.03.2014, 16:20
Ответы с готовыми решениями:

actionbar-sherlock и sliding-menu
Всем привет. Потребовалось боковое меню, делаю по туториалу...

Обработка нажатий
Господа подскажите как определить что пользователь провел пальцем влево или в...

Обработка нажатий в TabLayout
Друзья, привет, вопрос следующий, я разобрался с TabLayout, но только при...

Fragment обработка нажатий
Здравствуйте. Есть 9 Layout-ов. Каждый выступает в роли контейнера для...

Обработка нажатий на виджет
Подскажите пожалуйста. Из уроков так и не понял. 1 Как сделать чтобы при...

8
KillAndEat
63 / 63 / 8
Регистрация: 17.05.2013
Сообщений: 286
26.03.2014, 16:01  [ТС] #2
up
0
Ybrjk
26 / 26 / 6
Регистрация: 06.11.2010
Сообщений: 77
26.03.2014, 17:50 #3
Цитата Сообщение от KillAndEat Посмотреть сообщение
З.Ы. Navigation Drawer не предлагать.
А чем не угодил?
0
KillAndEat
63 / 63 / 8
Регистрация: 17.05.2013
Сообщений: 286
26.03.2014, 23:19  [ТС] #4
Ybrjk, там меню поверх активити вылезает, а я хочу чтоб оно его сдвигало.
0
Ybrjk
26 / 26 / 6
Регистрация: 06.11.2010
Сообщений: 77
27.03.2014, 09:30 #5
Цитата Сообщение от KillAndEat Посмотреть сообщение
Ybrjk, там меню поверх активити вылезает, а я хочу чтоб оно его сдвигало.
Это же не соответствует официальным гайдам по дизайнам Старайся им следовать - легче будет
0
KillAndEat
63 / 63 / 8
Регистрация: 17.05.2013
Сообщений: 286
27.03.2014, 11:41  [ТС] #6
Ybrjk, это же всего лишь рекомендации, а не табу)
0
YuraAAA
1578 / 1319 / 282
Регистрация: 25.10.2009
Сообщений: 3,436
Записей в блоге: 2
27.03.2014, 12:36 #7
Лучший ответ Сообщение было отмечено KillAndEat как решение

Решение

KillAndEat, всё просто. Самый удобный вариант - скормить ей свою View:

Java
1
2
3
4
5
6
7
8
9
public class SideMenu extends LinearLayout {
    public SideMenu(final Activity activity) {
        super(activity);
         LayoutInflater inflater = (LayoutInflater) activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        inflater.inflate(R.layout.activity_main_side_menu, this, true);
        View your_button_1 = findViewById(R.id.slide_btn_1);
        View your_button_2 = findViewById(R.id.slide_btn_2);
 
}
и отдаём

Java
1
2
SideMenu sideMenuLayout = new SideMenu(this);
menu.setMenu(sideMenuLayout);
1
KillAndEat
63 / 63 / 8
Регистрация: 17.05.2013
Сообщений: 286
27.03.2014, 14:49  [ТС] #8
YuraAAA, спасибо уважаемый ни в жизнь бы не догадался.

З.Ы. может быть еще кто знает почему при первом нажатии на ActionBar для открытия Sliding Menu происходит задержка, а потом все нормально.
0
YuraAAA
1578 / 1319 / 282
Регистрация: 25.10.2009
Сообщений: 3,436
Записей в блоге: 2
27.03.2014, 15:46 #9
KillAndEat, это скорее всего связанно с долгой операцией inflate, не за что
1
27.03.2014, 15:46
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.03.2014, 15:46

Обработка нажатий на виджет
Почему не работает при нажатии на виджет? @Override public void...

Обработка нажатий клавиш программной клавиатуры
Не знаю, была ли эта тема. Но столкнулся с такой проблемой: допустим есть макет...

Обработка нажатий внутри класса адаптера
Можно ли обрабатывать нажатия в классе адаптера expandablelistview? Если нет,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru