2013-04-19 2 views
1

Я реализую приложение, которое работает всегда в полноэкранном режиме и без заголовка. Существует ситуация, когда пользователь нажимает кнопку и использует API распознавания голоса. Андроидное родное окно вызывается для анализа голоса пользователя. Но тогда строка заголовка снова становится видимой. Проблема в том, что я не могу скрыть ее снова, так как метод ее скрытия работает только в методе onCreate.Невозможно скрыть строку заголовка Android вне метода onCreate

Вот метод, в котором я называю API-интерфейс голоса, и панель заголовка становится видимой снова.

public void VoiceCaptureButtonClick(View v) { 

     //- The title bar is properly hidden at this point. 

     //Code for calling the voice recognition API: 
     Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH); 
     intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_FREE_FORM); 
     intent.putExtra(RecognizerIntent.EXTRA_PROMPT, "Voice recognition Demo..."); 
     startActivityForResult(intent, REQUEST_CODE); 


     //- Now the title bar is visible again, and I don't manage to hide it anymore. 
     // if I use the method requestWindowFeature(Window.FEATURE_NO_TITLE); 
     // I run into a exception : "requestFeature() must be called before adding content" 

    } 

Отредактировано:

Вот код, я использую для скрытия строки заголовка и сделать заявку на полный экран, , который работает отлично, до того момента, я не вызвать метод выше.

<application 
... 
android:theme="@android:style/Theme.NoTitleBar.Fullscreen" 
... 
</application> 

Я использую android 2.3.3 и Eclipse.

ответ

3

Добавить android:theme="@android:style/Theme.NoTitleBar." в ваш <activity> в манифесте, чтобы полностью удалить панель заголовка. Что-то вроде:

<activity 
     android:name=".Foo" 
     android:label="@string/foo" 
     android:theme="@android:style/Theme.NoTitleBar."> 

EDIT:

теперь я вижу. Когда вы вызываете startActivityForResult(), ваше приложение больше не контролируется, так как вы начали работу по распознаванию голоса. Из-за этого ваш стиль (скрытие заголовка и т. Д.) Больше не воспроизводится, и Android отображает все это снова.

Здесь вы не можете использовать requestFeature(), так как Android может внести только эти изменения, прежде чем он раздует ваш макет.

Решение похоже на это, так как ваше приложение не контролируется при вызове startActivityForResult().

 Смежные вопросы

  • Нет связанных вопросов^_^