#android #xamarin #android-actionbar #icons
#Android #xamarin #android-панель действий #Значки
Вопрос:
У меня есть значок настроек на панели действий, и я хотел что-то сделать, когда пользователь нажимает на значок, как показано на рисунке ниже (например, всплывающее окно отображения), мне просто нужен метод, вот и все, заранее спасибо…Вот созданный код, который раздувает значок на моей панели действий
public override bool OnCreateOptionsMenu(IMenu menu)
{
MenuInflater.Inflate(Resource.Menu.settings, menu);
return true;
}
Xml-код для элемента меню
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item android:id="@ id/menu_item1"
android:icon="@drawable/settings"
app:showAsAction="always"/>
</menu>
Метод обработки при нажатии на этот значок очень ценится (показать всплывающее окно)
Комментарии:
1. Вы пробовали переопределить
OnContextItemSelected
и проверить, сработало ли это?2. Нет, я этого не делал, нужны ли методу какие-либо параметры? Это логическое значение? Можете ли вы опубликовать весь метод в качестве комментария?, Спасибо
3. Или компилятор автоматически завершит код?
4. Я нашел метод, это уже для вас, спасибо
5.
public override bool OnContextItemSelected(IMenuItem item) { return base.OnContextItemSelected(item); }
Должен ли я комментировать super?
Ответ №1:
Этот встроенный метод работает для отображения всплывающего окна при нажатии на значок настроек
public override bool OnOptionsItemSelected(IMenuItem item)
{
Toast.MakeText(this, "You tapped on the Settings Icon", ToastLength.Long).Show();
return base.OnOptionsItemSelected(item);
}