Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Jonny123
1 / 1 / 0
Регистрация: 07.09.2014
Сообщений: 88
#1

Toolbar лого которое возвращает на главное активити - Программирование Android

28.12.2015, 16:18. Просмотров 324. Ответов 4
Метки нет (Все метки)

Здравствуйте, я использую Toolbar с помощью AppCompat v7:21 , и мне нужно сделать что то наподобие этого (рис с Gmail) чтобы по клике на лого возвращало на главную активность. Вот мой код:
Java
1
2
3
4
5
6
 toolbar = (Toolbar) findViewById(R.id.my_toolbar);
        setSupportActionBar(toolbar);
        getSupportActionBar().setDisplayShowTitleEnabled(false);
 
        toolbar.setLogo(R.drawable.logo);
        getSupportActionBar().setDisplayHomeAsUpEnabled(true);
Но результат получается такой (смотрите картинку гриба со стрелочкой на зеленом фоне), что только по стрелочке можно кликнуть чтобы назад возвратиться. Я пробовал и такой код:
Java
1
2
getSupportActionBar().setIcon(R.drawable.ic_app_icon);
getSupportActionBar().setDisplayShowHomeEnabled(true);
Но тогда стрелочка пропадает, а самое лого стает вообще не кликабельным. Подскажите пожалуйста , как тут правильно сделать наподобие кликабельного лого. (как на картинке с Gmail) Спасибо.
0
Миниатюры
Toolbar лого которое возвращает на главное активити  
Изображения
 
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.12.2015, 16:18
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Toolbar лого которое возвращает на главное активити (Программирование Android):

После запуска приложения запускать не главное активити, а сервис - Программирование Android
как сделать чтобы после запуска приложения запускалось не главное активити а сервис может как то прописать метод onStart в классе...

Как очистить память которую использовало Активити, которое уже закрыли? - Программирование Android
Есть приложение состоящие из 12 активити. На 10 активити располагаются по 4 ImageView, на 12(Gallery) активити расположен ListView, в...

На телефоне highscreen 3 на всех активити происходит быстрый самовозврат к главной активити - Программирование Android
Сделал меню в виде ListView. При клике на меню запускаются активити. На эмуляторе работает, на телефоне моем LG все работает. На телефоне...

Как вызвать метод в активити классе из обычного не активити класса? - Программирование Android
Есть активити в котором вводятся логин и пароль. При нажатии кнопки "войти" в отдельном классе "сокетсервер"(+в отдельном потоке)...

Изменение параметров активити из другого активити - Программирование Android
Как сделать так чтобы из первого активити поменять final ImageView img=(ImageView)findViewById(R.id.image1); ...

Отображение активити поверх другого активити - Программирование Android
Ребят подскажите пожалуйста как такое сделать. Есть активити с картой, по нажатию кнопки настройки, нужно открыть активити с настройками,...

4
Pablito
2505 / 1989 / 619
Регистрация: 12.05.2014
Сообщений: 6,943
Завершенные тесты: 1
28.12.2015, 21:12 #2
это старое приложение gmail
на новом нет лого
в принципе лого можно достать из тулбара через getChildAt или getChilds но это будет не по феншую

по гайдам material design возврат на пред.активити делается как раз той стрелочкой, а не лого
0
Jonny123
1 / 1 / 0
Регистрация: 07.09.2014
Сообщений: 88
28.12.2015, 21:20  [ТС] #3
Цитата Сообщение от Паблито Посмотреть сообщение
по гайдам material design возврат на пред.активити делается как раз той стрелочкой, а не лого
да вы правы, но вот если взять приложение твиттер для Android, видите в Тулбаре? я хочу так же сделать
0
Миниатюры
Toolbar лого которое возвращает на главное активити  
Pablito
2505 / 1989 / 619
Регистрация: 12.05.2014
Сообщений: 6,943
Завершенные тесты: 1
28.12.2015, 21:28 #4
у твиттера свой тулбар, это не тулбар из appcompat

Добавлено через 5 минут
если страдать фигней то можно сделать так
Java
1
2
3
4
5
6
7
8
9
        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);
        toolbar.setLogo(R.drawable.logo);
        toolbar.getChildAt(1).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                finish();
            }
        });
вместо finish() написать что-то свое, а так будет закрываться текущая активити (или приложение, если это первая активити)
и вызывать getChildAt(1) надо уже после setLogo, иначе у тулбара всего 1 дочернее вью - его заголовок
1
Jonny123
1 / 1 / 0
Регистрация: 07.09.2014
Сообщений: 88
28.12.2015, 21:30  [ТС] #5
понял, спасбибо, буду пробовать
0
28.12.2015, 21:30
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.12.2015, 21:30
Привет! Вот еще темы с ответами:

Вызов новой активити не из класса активити - Программирование Android
Есть 4 класса: 1) WelcomeActivity; 2) MainActivity; 3) PopUpActivity; 4) Client. Программа работает с сервером и получает...

В конце программы условие, которое возвращает в начало - C++
В конце основной части кода программы нужно проверить условие, если условие верно - нужно проделать ещё один цикл всего кода, если не верно...

GetSysColor: как вывести значение, которое она возвращает - Assembler
Привет всем! Проблема вот в чем: Функция GetSysColor возвращает значение цвета элементов Windows: окна, фона, тейбла... и тд Ну так...

Есть ли в компоненте chart свойство, которое возвращает текущую позицию - C++ Builder
Привет. Подскажите есть ли в компоненте chart свойство, которое возвращает текущую позицию, которую мы каким-то способом выделили. К...


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

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

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