2013-08-06 3 views
0

Я пытаюсь создать функцию, в которой есть кнопка на нижней панели действий, и как только я нажимаю на нее, над кнопкой появляется индикатор выполнения и делает кнопку слегка прозрачной (не исчезают).Нижняя панель ActionBar Progress Bar Over Button

Я использовал пользовательский макет для верхней панели действий, поэтому на нижней панели действий я написал ее через menu.xml, так как я тяжело, у меня не было второго настраиваемого макета. Мне было интересно, возможна ли эта функция только из свойств элемента меню.

Возможно ли сделать какую-либо форму как рамку-макет только из menu.xml?

ответ

0

Я предполагаю, что вы используете панель действий split (uiOptions = "splitActionBarWhenNarrow"), так что пользовательский макет, который вы используете, находится сверху с иконкой приложения? Нижняя строка - это пункты меню, содержащиеся в XML?

Если это так, вы можете указать собственный макет для элемента меню, используя атрибут макета для элемента. Вы можете сделать макет, который имеет оба элемента друг над другом (изначально кнопка VISIBLE без альфы, а прогресс - GONE), а затем настройте обработчик кликов на элементе в onPrepareOptionMenu, чтобы установить альфа на кнопку, чтобы сделайте его полупрозрачным и измените видимость индикатора выполнения до VISIBLE.

Я верю в то, что вы используете пользовательский макет, вы не можете использовать идентификатор элемента меню для обработки кликов (onMenuItemClicked), поэтому вам придется регистрировать прослушиватель кликов либо программно, либо через XML onClick.

Приносим извинения, если какой-либо из вызовов API не соответствует 100%. Я делаю это в основном из памяти.