2012-01-13 4 views
2

Вот моя проблема: можно ли скрыть панель уведомлений Android, не используя флаг fullscreen? Мне нужно adjustResize мое приложение, когда отображается мягкая клавиатура, но fullscreen приложения игнорируют изменение размера (насколько я знаю).Скрыть панель уведомлений без использования полноэкранного режима

Есть ли у кого-нибудь идея о том, как заставить приложение выглядеть полноэкранным без этого флага?

Вот проблема с полноэкранным флагом: он только пытается показать все важно, но мне нужно, чтобы изменить мое приложение:

enter image description here

enter image description here

и XML:

<RelativeLayout 
xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="match_parent" > 

<EditText 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentTop="true" 
    android:layout_alignParentLeft="true" 
    android:text="EditText1"/> 

<EditText 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentBottom="true" 
    android:layout_alignParentLeft="true" 
    android:text="EditText2" /> 

</RelativeLayout> 

Реферат: Я ожидал увидеть как EditTexts после изменения моего приложения, так и новых измерений a повторно перерисованы

+0

Я думаю, что вы только можете сделать это с полноэкранным флагом, как здесь: http://stackoverflow.com/questions/4222713/hide-notification-bar – frayab

+0

хммм. так что это закончится множеством уродливых обходных решений, чтобы изменить размер моего приложения на внешний вид клавиатуры. слишком плохо :(но thx anyway – Sprigg

+0

какое значение 'adjustResize' вы используете? – Phil

ответ

0

Это известная и не исправлена ​​ошибка Android, попробуйте обходное решение here

Все кредиты на НОО

+0

thx для поиска. К сожалению, "tog gleing "не является приемлемым решением в моей утилите – Sprigg

+0

Почему бы и нет? Это ошибка ОС, вы не найдете хороших ответов. – Guykun

+0

Я знаю, что там (возможно) не будет «идеальным решением». Но тоггеринг показывает и скрывает панель статусов, что, к сожалению, является неприемлемым для моего клиента.Ofc это лучшее решение (и самое быстрое), поэтому я думаю, что вы станете моим победителем. (за исключением того, что кто-то еще опубликует лучшее решение) – Sprigg

0

Ммм, я думаю, полноэкранный режим также поддерживает изменение размера,

вы можете сделать это, как это в манифесте

<activity 
     android:name=".MainActivity" 
     android:label="@string/title_activity_main" 
    android:theme="@android:style/Theme.Light.NoTitleBar.Fullscreen" 
    android:windowSoftInputMode="stateHidden|adjustResize" 
    android:screenOrientation="portrait" > 

     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 

enter image description here

enter image description here

+0

' NoTitleBar'! = 'Fullscreen'. Мне нужно скрыть панель уведомлений, а' NoTitleBar' не будет этого делать. – Sprigg

+0

@ Sprigg, как вы делали свою деятельность в полноэкранном режиме? – landry

+0

Извините, исправьте мой ответ Я все еще подтверждаю это. полноэкранный режим может изменять размер. –

0

Это может помочь:

getWindow().addFlags(WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN); 
getWindow().addFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS); 

Вы можете добавить это в начале вашего onCreate().

Дополнительные комментарии можно найти в этом ответе: https://stackoverflow.com/a/10952394/1065190

+0

thx. К сожалению, «toggleing» не является приемлемым решением в моей утилите – Sprigg

+0

Не могли бы вы объяснить, почему? –

+0

Я знаю, что там (возможно) не будет «идеальным решением», но тоггелинг показывает и скрывает панель состояния, что, к сожалению, является неприемлемым для моего клиента. – Sprigg