Урок 14. Меню, группы, порядок. MenuInflater и xml-меню.
Re: Урок 14. Меню, группы, порядок. MenuInflater и xml-меню.
Добрый день!
Скажите пожалуйста, а как то можно задать в файле меню xml фоновый цвет меню, текст пунктов меню и подсветки при нажатии.
[syntax=xml]
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/action_settings"
android:orderInCategory="100"
android:title="@string/action_settings"/>
</menu>
[/syntax]
По умолчанию фон меню черный, текст белы, подсветка при нажатии синяя.
Скажите пожалуйста, а как то можно задать в файле меню xml фоновый цвет меню, текст пунктов меню и подсветки при нажатии.
[syntax=xml]
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/action_settings"
android:orderInCategory="100"
android:title="@string/action_settings"/>
</menu>
[/syntax]
По умолчанию фон меню черный, текст белы, подсветка при нажатии синяя.
Re: Урок 14. Меню, группы, порядок. MenuInflater и xml-меню.
Неожиданно столкнулся с проблемой "зоопарка" с дефаултным APK: (некоторые звери не хотят показывать меню (три точки) в правом углу ActionBar)
Запускаем Android Studio и создаем дефаултный HelloWorld
Запускаем на Samsung S4 c офиц. прошивкой
и наблюдаем, что зверь не хочет дружить ( разве только дает увидеть меню после нажатия кнопки Menu )
Другой же зверь Samsung Ace с прошивкой Cyanogen
наоборот готов дружить и работать
Это дефаултный main.xml
[syntax=xml]<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
tools:context="ru.teaching.myapplication4.app.MainActivity" >
<item android:id="@+id/action_settings"
android:title="@string/action_settings"
android:orderInCategory="100"
app:showAsAction="never" />
</menu>[/syntax]
Это дефаултный код
У кого какие мысли ?
П.с. Если у кого не стоит последняя студия - могу прислать APK, чтобы вы потестили на своих зверях.
Запускаем Android Studio и создаем дефаултный HelloWorld
Запускаем на Samsung S4 c офиц. прошивкой
и наблюдаем, что зверь не хочет дружить ( разве только дает увидеть меню после нажатия кнопки Menu )
Другой же зверь Samsung Ace с прошивкой Cyanogen
наоборот готов дружить и работать
Это дефаултный main.xml
[syntax=xml]<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
tools:context="ru.teaching.myapplication4.app.MainActivity" >
<item android:id="@+id/action_settings"
android:title="@string/action_settings"
android:orderInCategory="100"
app:showAsAction="never" />
</menu>[/syntax]
Это дефаултный код
Код: Выделить всё
package ru.teaching.myapplication4.app;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}
П.с. Если у кого не стоит последняя студия - могу прислать APK, чтобы вы потестили на своих зверях.
Последний раз редактировалось Atetc 27 май 2014, 10:34, всего редактировалось 4 раза.
Русскоязычный чат Android разработчиков https://gitter.im/rus-speaking/android
Re: Урок 14. Меню, группы, порядок. MenuInflater и xml-меню.
я конечно не особо в курсе по версиям, но встречала такие приложения. Для себя вывод сделала, что там где предполагается хард-клавиша "меню" (а есть она или нет - не важно) - там не показываются меню три точки.
Вообще таких приложений много, я часто пробую нажать на софтовую "меню" и часто вылазит меню, хотя никаких "признаков" существования меню не было. И часто это очень популярные приложения. Поэтому - смириться, так полагаю.
Возможно еще стоит поиграться с таргет-версиями в манифесте, или минимум-версией..
Вообще таких приложений много, я часто пробую нажать на софтовую "меню" и часто вылазит меню, хотя никаких "признаков" существования меню не было. И часто это очень популярные приложения. Поэтому - смириться, так полагаю.
Возможно еще стоит поиграться с таргет-версиями в манифесте, или минимум-версией..
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: Урок 14. Меню, группы, порядок. MenuInflater и xml-меню.
ИМХО это не гуд - очень малый % юзеров догадается про то, что вообще есть меню в приложении ( пока очень очень не нужно будет )
Русскоязычный чат Android разработчиков https://gitter.im/rus-speaking/android
Re: Урок 14. Меню, группы, порядок. MenuInflater и xml-меню.
кстати о софтверной клавише меню на планшетах....
у меня на Galaxy Tab 7.7 она скрыта на домашнем экране к примеру по умолчанию... и в моем приложении эта клавиша тоже скрыта, а вот если запускаешь Navitel, то он каким то образом активирует эту клавишу и она становится видимой и по ней получаешь доступ в меню программы.
Подскажите пожалуйста как можно программно активировать и сделать видимой софтварную клавишу меню?
у меня на Galaxy Tab 7.7 она скрыта на домашнем экране к примеру по умолчанию... и в моем приложении эта клавиша тоже скрыта, а вот если запускаешь Navitel, то он каким то образом активирует эту клавишу и она становится видимой и по ней получаешь доступ в меню программы.
Подскажите пожалуйста как можно программно активировать и сделать видимой софтварную клавишу меню?
Re: Урок 14. Меню, группы, порядок. MenuInflater и xml-меню.
зверь Philips W6500
также не хочет дружить и показывать свои "три точки"
Подскажите как сделать видимым меню в ActionBar на этих (и видимо многих) устройствах?
также не хочет дружить и показывать свои "три точки"
Подскажите как сделать видимым меню в ActionBar на этих (и видимо многих) устройствах?
Русскоязычный чат Android разработчиков https://gitter.im/rus-speaking/android
Re: Урок 14. Меню, группы, порядок. MenuInflater и xml-меню.
а загуглить данный вопрос, не?
http://stackoverflow.com/questions/1974 ... -displayed
http://stackoverflow.com/questions/1549 ... in-android
http://stackoverflow.com/questions/9739 ... g-overflow
http://stackoverflow.com/questions/1974 ... -displayed
http://stackoverflow.com/questions/1549 ... in-android
http://stackoverflow.com/questions/9739 ... g-overflow
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: Урок 14. Меню, группы, порядок. MenuInflater и xml-меню.
Тогда для чего форум? Чтобы гуглить? )))
Проблемка-то по теме урока и отнюдь не узкоспецифична )
Проблемка-то по теме урока и отнюдь не узкоспецифична )
Русскоязычный чат Android разработчиков https://gitter.im/rus-speaking/android
Re: Урок 14. Меню, группы, порядок. MenuInflater и xml-меню.
да, ты прав. Форум для того, чтоб кто-нибудь вместо тебя загуглил.
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: Урок 14. Меню, группы, порядок. MenuInflater и xml-меню.
Я думаю, для того, чтобы мы с вами писали о проблеме, гуглили и выкладывали решение проблемы ( тогда новички будут быстрее проходить первые грабли, учась на чужом опыте )
А гуглить и молчать про то, что касается всех - не по-отечески )
И наоборот узкоспецифичные проблемы лучше гуглить/решать молча и не зашлаковывать форум - такие посты нет интереса читать.
А гуглить и молчать про то, что касается всех - не по-отечески )
И наоборот узкоспецифичные проблемы лучше гуглить/решать молча и не зашлаковывать форум - такие посты нет интереса читать.
Русскоязычный чат Android разработчиков https://gitter.im/rus-speaking/android
Re: Урок 14. Меню, группы, порядок. MenuInflater и xml-меню.
Проблема в том что, тот кто может найти найдет в гугле, не создавая тему на форуме... а тот кто не может, не будет искать тему с ответом на свой вопрос, а просто создаст новую.
но в данном случае проблема может быть в незнании английской терминологии и гугление немного затрудняется.
"Трёхточечное меню" называется "menu overflow", зная это все ищется мгновенно.
Хотя лично мое мнение если есть hardware кнопка меню, то пользователь должен уметь ей пользоваться.
но в данном случае проблема может быть в незнании английской терминологии и гугление немного затрудняется.
"Трёхточечное меню" называется "menu overflow", зная это все ищется мгновенно.
Хотя лично мое мнение если есть hardware кнопка меню, то пользователь должен уметь ей пользоваться.
Re: Урок 14. Меню, группы, порядок. MenuInflater и xml-меню.
Итак проблема решается следующим костылем, который нужно вставить после строкиAtetc писал(а):Неожиданно столкнулся с проблемой "зоопарка" с дефаултным APK: (некоторые звери не хотят показывать меню (три точки) в правом углу ActionBar)
Запускаем на Samsung S4 c офиц. прошивкой
и наблюдаем, что зверь не хочет дружить ( разве только дает увидеть меню после нажатия кнопки Menu )
setContentView(R.layout.activity_main);
Код: Выделить всё
try {
ViewConfiguration config = ViewConfiguration.get(this);
Field menuKeyField = ViewConfiguration.class.getDeclaredField("sHasPermanentMenuKey");
if(menuKeyField != null) {
menuKeyField.setAccessible(true);
menuKeyField.setBoolean(config, false);
}
} catch (Exception ex) {
// Ignore
}
Код: Выделить всё
import android.view.ViewConfiguration;
import java.lang.reflect.Field;
Позже нашел статью еще http://blog.vogella.com/2013/08/06/andr ... as-a-menu/
П.с. осталось загадкой: почему на прошивке с Cyanogen эти три точки и без костыля прекрасно работают?
Последний раз редактировалось Atetc 29 май 2014, 07:28, всего редактировалось 2 раза.
Русскоязычный чат Android разработчиков https://gitter.im/rus-speaking/android
Re: Урок 14. Меню, группы, порядок. MenuInflater и xml-меню.
не задумывалась как называется, а нашла по "three dots". Первые три ссылки гугла - выложила Но оттуда же и узнала что это "menu overflow"klblk писал(а): "Трёхточечное меню" называется "menu overflow", зная это все ищется мгновенно.
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: Урок 14. Меню, группы, порядок. MenuInflater и xml-меню.
мне интересно то, что ты вообще что-то тут читаешь)) многие если не большая часть - совсем не читают, а задают одни и те же вопросы снова и снова, создавая новые и одинаковые темы.Atetc писал(а):такие посты нет интереса читать.
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: Урок 14. Меню, группы, порядок. MenuInflater и xml-меню.
Читая от и до все комментарии к видеоурокам и тут на форуме, получаешь в разы больше информации и опыта, нежели чем просто прочтение книг или статей - скилл растет неимоверно - рекомендую такой подход в любой сфере )))Foenix писал(а):мне интересно то, что ты вообще что-то тут читаешь)) многие если не большая часть - совсем не читают, а задают одни и те же вопросы снова и снова, создавая новые и одинаковые темы.Atetc писал(а):такие посты нет интереса читать.
Русскоязычный чат Android разработчиков https://gitter.im/rus-speaking/android
Re: Урок 14. Меню, группы, порядок. MenuInflater и xml-меню.
Та ладно.. читать надо, конечно, но не преувеличивай значение написанного тут)
Системные знания важнее.
Системные знания важнее.
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: Урок 14. Меню, группы, порядок. MenuInflater и xml-меню.
Господа, подскажите!
А как на счет кастомизации меню из xml?
Это будет описано в следующих уроках или дальше уже сами учимся?
А как на счет кастомизации меню из xml?
Это будет описано в следующих уроках или дальше уже сами учимся?
Русскоязычный чат Android разработчиков https://gitter.im/rus-speaking/android
Re: Урок 14. Меню, группы, порядок. MenuInflater и xml-меню.
Кстати, вот какая мысль.
Не советую делать такое меню, и гугл со мной согласен. Нужно придерживаться стандартов андроида, а не тащить туда с десктопа всякую фигню.
Не советую делать такое меню, и гугл со мной согласен. Нужно придерживаться стандартов андроида, а не тащить туда с десктопа всякую фигню.
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: Урок 14. Меню, группы, порядок. MenuInflater и xml-меню.
На самом деле интересует вот такое меню - вторая строка серая ( на содержимое не смотрите - это я пример формата привел )
Можно ли стандартными средствами реализовать ? или полюбому кастомизация ?
Можно ли стандартными средствами реализовать ? или полюбому кастомизация ?
Последний раз редактировалось Atetc 27 май 2014, 22:15, всего редактировалось 1 раз.
Русскоязычный чат Android разработчиков https://gitter.im/rus-speaking/android
Re: Урок 14. Меню, группы, порядок. MenuInflater и xml-меню.
где тут меню?
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