Урок 107. Android 3. ActionBar. Размещение элементов

Обсуждение уроков
Klafe
Сообщения: 16
Зарегистрирован: 28 дек 2012, 10:05

Re: Урок 107. Android 3. ActionBar. Размещение элементов

Сообщение Klafe » 31 дек 2012, 05:32

Я разобрался:
в табах экшбара нужно использовать фрагменты, а устанавливать их нужно используя TabListener, т. е. в зависимости от того какой таб выбрали такой фрагмент и засовываем активити!
Вот.

Аватара пользователя
rezak90
Сообщения: 3422
Зарегистрирован: 26 июн 2012, 13:22
Откуда: UA
Контактная информация:

Re: Урок 107. Android 3. ActionBar. Размещение элементов

Сообщение rezak90 » 31 дек 2012, 10:03

вот по этому я и советовал посмотреть на примеры шерлока, там есть переопределение pageadapter'a а в нём и tablistener'a где в методе меняется вкладка:

Код: Выделить всё

@Override
	public void onTabChanged(String tabId) {
		int position = mTabHost.getCurrentTab();
		mViewPager.setCurrentItem(position);
	}
R.id.team
Политика на форуме запрещена

Klafe
Сообщения: 16
Зарегистрирован: 28 дек 2012, 10:05

Re: Урок 107. Android 3. ActionBar. Размещение элементов

Сообщение Klafe » 10 янв 2013, 13:22

Скажите пожалуйста, вот если в баре у нас не хватило места и появилась только иконка, то при долгом нажатии на нее появится текст. Все ясно.
Но пишу android:showAsAction="never|withText" т. е. хочу что бы при нажатии на кнопку меню у меня появлялось меню, а его пункты были и с текстом и с иконкой. Я соответственно ставлю этому пункту меню и иконку и текст, но иконка ни в какую не появляется!!!

Не могу понять почему! В баре появляется иконка (android:showAsAction="always|withText"), а в меню нет!

Может кто встречался с такой проблемой?

Klafe
Сообщения: 16
Зарегистрирован: 28 дек 2012, 10:05

Re: Урок 107. Android 3. ActionBar. Размещение элементов

Сообщение Klafe » 10 янв 2013, 13:58

Программное создание тоже не помогает!

Может так и нельзя вовсе?

2ndbrezhnev
Сообщения: 1
Зарегистрирован: 17 янв 2013, 21:43

Re: Урок 107. Android 3. ActionBar. Размещение элементов

Сообщение 2ndbrezhnev » 17 янв 2013, 22:27

Появилась необходимость поделить actionbar на 2 части, одну часть оставить в виде иконок сверху, остальные кнопки перенести вниз как при ActivityInfo.UIOPTION_SPLIT_ACTION_BAR_WHEN_NARROW
Сейчас просто нарисовал внизу руками стилизованные кнопки, но было бы здорово если бы этого можно было добиться стандартными средствами (читать средствами actionbarsherlock)

Аватара пользователя
shtil
Сообщения: 27
Зарегистрирован: 04 июл 2013, 10:01

Re: Урок 107. Android 3. ActionBar. Размещение элементов

Сообщение shtil » 24 июл 2013, 14:15

Здравствуйте! Вот сейчас ломаю голову и не могу понять. При использовании android:showAsAction="always|withText" теоретически должны быть картинка и текст. Но на практике, текст появляется только при горизонтальной ориентации... Подскажите, мне необразованному, как правильно сделать, чтобы была и картинка и текст постоянно.
Спасибо

Roger68
Сообщения: 16
Зарегистрирован: 12 фев 2013, 23:43

Re: Урок 107. Android 3. ActionBar. Размещение элементов

Сообщение Roger68 » 21 окт 2013, 13:27

Добрый день!
Мне кажется, что в уроке хорошо было бы упомянуть о некоторых граблях при использовании ActionBar-а. Во-первых, полноценно контролировать меню в onPrepareOptionsMenu уже не получится, так как метод вызывается далеко не всегда. Во-вторых, следует предпринимать специальные меры для отслеживания двойного нажатия на видимые в ActionBar кнопки.
Спасибо!

Аватара пользователя
Nialon
Сообщения: 22
Зарегистрирован: 12 ноя 2013, 19:19

Re: Урок 107. Android 3. ActionBar. Размещение элементов

Сообщение Nialon » 21 ноя 2013, 16:42

Кто-нибудь пробовал это:
https://developer.android.com/intl/ru/g ... ActionView
У меня почему то не работает Поиск.
Чего-то не хватает, по нажатии не открывается поле поиска.

В обработчике клика написал это:

Код: Выделить всё

item.getActionView();
Кстати, что означает суффикс: yourapp: ??
И вообще, на этой строке выдает еррор.
Пришлось убрать ее. Почитал вроде оставлена для совместимости со старыми СДК.

Код: Выделить всё

yourapp:showAsAction="ifRoom|collapseActionView"

Аватара пользователя
Nialon
Сообщения: 22
Зарегистрирован: 12 ноя 2013, 19:19

Re: Урок 107. Android 3. ActionBar. Размещение элементов

Сообщение Nialon » 21 ноя 2013, 18:19

Еще момент. Заметил что при присваивании в коде

Код: Выделить всё

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.main_activity_actions, menu);
    MenuItem searchItem = menu.findItem(R.id.action_search);
    SearchView searchView = (SearchView) MenuItemCompat.getActionView(searchItem);
    // Configure the search info and add any event listeners
    searchView.setIconifiedByDefault(false); // Do not iconify the widget; expand it by default
    ...
    return super.onCreateOptionsMenu(menu);
}
searchView = null. Может косяк с импортом?
При запросе MenuItemCompat тыкал на import android.support.v4.view.MenuItemCompat;
По идее же должен брать "yourapp:actionViewClass="android.support.v7.widget.SearchView" ?

dimich
Сообщения: 14
Зарегистрирован: 17 июл 2013, 16:13

Re: Урок 107. Android 3. ActionBar. Размещение элементов

Сообщение dimich » 29 ноя 2013, 22:13

gloom писал(а):а как сделать 3 вертикальных точки в баре по нажатию на которые выпадают не отображаемые пункты меню? конкретно на телефонах а не на планшетах. видел подобное на планшетных версиях некоторых программ
Так все-таки, как именно так сделать? На телефоне и в эмуляторе пункты, которые не помещаются, всплывают только после нажатии кнопки "меню" и в нижней части экрана

Аватара пользователя
Nialon
Сообщения: 22
Зарегистрирован: 12 ноя 2013, 19:19

Re: Урок 107. Android 3. ActionBar. Размещение элементов

Сообщение Nialon » 01 дек 2013, 21:48

dimich, так и должно быть .. Разве нет?
А пункты с SHOW_AS_ACTION_IF_ROOM работают? Видятся как выводимые кнопки.
Если да, тогда ничего не мешает сделать такую кнопку с фоновыми точками + последний Ордер (позиция).
А при клике выводить это меню. Правда, не в нужной позиции, скорее по системе как есть.

У меня в углу кнопка так работает. А поскольку в actionbar есть такая кнопа, не пробовал городить.
Если заработает, может получится косяк с дублирующей кнопкой. Системная + твоя.
Разве что поискать где есть свойство запрашивающая наличие этой кнопки с точками.

Krack
Сообщения: 1
Зарегистрирован: 28 дек 2013, 19:25

Re: Урок 107. Android 3. ActionBar. Размещение элементов

Сообщение Krack » 28 дек 2013, 19:40

Подскажите пожалуйста, как изменить цвет нажатия на пункт меню в ActionBar Overflow Holo.Light. По дефолту цвет голубой, облазил весь гугл безрезультатно.
Есть генератор ActionBar, но там нет именно этой возможности, да и хочется сделать всё самому.

StanislavKulikov
Сообщения: 8
Зарегистрирован: 05 ноя 2013, 19:48

Re: Урок 107. Android 3. ActionBar. Размещение элементов

Сообщение StanislavKulikov » 28 янв 2014, 15:07

Подскажите пожалуйста, как изменить кнопку Home с треугольника (обрезанной стрелки) на стандартный значок меню (три горизонтальные полоски) ?

Аватара пользователя
klblk
Сообщения: 1097
Зарегистрирован: 18 окт 2012, 11:17
Откуда: г. Красноярск

Re: Урок 107. Android 3. ActionBar. Размещение элементов

Сообщение klblk » 29 янв 2014, 05:32

StanislavKulikov писал(а):Подскажите пожалуйста, как изменить кнопку Home с треугольника (обрезанной стрелки) на стандартный значок меню (три горизонтальные полоски) ?
вероятно как-то так: http://stackoverflow.com/questions/9252 ... -actionbar
правда как я понимаю это работает только на api>11

SevenXP
Сообщения: 113
Зарегистрирован: 21 июл 2013, 18:20

Re: Урок 107. Android 3. ActionBar. Размещение элементов

Сообщение SevenXP » 13 мар 2014, 11:49

не могу въехать как сделать ActionBar, Хочу как в Google Play.
1) Как сделать слева от иконки приложения, типа кнопки, которая выдвигает панельку с боку. Как на Google Play?

Аватара пользователя
altwin
Сообщения: 1951
Зарегистрирован: 13 ноя 2013, 14:46

Re: Урок 107. Android 3. ActionBar. Размещение элементов

Сообщение altwin » 13 мар 2014, 12:23

SevenXP писал(а):не могу въехать как сделать ActionBar, Хочу как в Google Play.
1) Как сделать слева от иконки приложения, типа кнопки, которая выдвигает панельку с боку. Как на Google Play?
Navigation Drawer
Изображение

SevenXP
Сообщения: 113
Зарегистрирован: 21 июл 2013, 18:20

Re: Урок 107. Android 3. ActionBar. Размещение элементов

Сообщение SevenXP » 13 мар 2014, 13:13

Спасибо altwin, а можешь еще подсказать, как с ActionBar убрать иконку приложения. Я подкидывал просто color вроде бы убралась.
Но я боюсь того, что мне нужно сделать ActionBar прозрачным задний фон. И думаю будет видна.

Аватара пользователя
altwin
Сообщения: 1951
Зарегистрирован: 13 ноя 2013, 14:46

Re: Урок 107. Android 3. ActionBar. Размещение элементов

Сообщение altwin » 13 мар 2014, 13:33

SevenXP писал(а):Спасибо altwin, а можешь еще подсказать, как с ActionBar убрать иконку приложения. Я подкидывал просто color вроде бы убралась.
Но я боюсь того, что мне нужно сделать ActionBar прозрачным задний фон. И думаю будет видна.
варриантов много: http://stackoverflow.com/questions/1460 ... on-android
Изображение

bonny
Сообщения: 3
Зарегистрирован: 05 май 2014, 18:21

Re: Урок 107. Android 3. ActionBar. Размещение элементов

Сообщение bonny » 05 май 2014, 18:24

Как принудительно убрать кнопку меню?

Аватара пользователя
Atetc
Сообщения: 45
Зарегистрирован: 02 май 2014, 13:13
Откуда: Уфа
Контактная информация:

Re: Урок 107. Android 3. ActionBar. Размещение элементов

Сообщение Atetc » 29 май 2014, 22:44

bonny писал(а):Как принудительно убрать кнопку меню?
Можно тем же костылем, который принудительно заставляет появляться
После setContentView(R.layout.activity_main);
вставляй

Код: Выделить всё

 try {
            ViewConfiguration config = ViewConfiguration.get(this);
            Field menuKeyField = ViewConfiguration.class.getDeclaredField("sHasPermanentMenuKey");
            if(menuKeyField != null) {
                menuKeyField.setAccessible(false);
                menuKeyField.setBoolean(config, false);
            }
        } catch (Exception ex) {
            // Ignore
        }
Русскоязычный чат Android разработчиков https://gitter.im/rus-speaking/android

Ответить