Я разработал свое приложение, используя Mono для Android.У меня последняя версия 4.0.3.Мой AndroidManifest.xml указывает:
<uses-sdk android:targetSdkVersion="11" android:minSdkVersion="8" />
Приложение работает на планшетах, поэтому в Honeycomb мне нужно скрыть строку состояния внизу экрана.Вот как я это делаю (с простым методом расширения):
internal static void LightsOut(this View view)
{
try
{
IntPtr view_setSystemUiVisibility = JNIEnv.GetMethodID(view.Class.Handle, "setSystemUiVisibility", "(I)V");
JNIEnv.CallVoidMethod(view.Handle, view_setSystemUiVisibility, new JValue(1));
}
catch
{ }
}
Я вызываю это при каждом представлении, которое я создаю.На моем Motorola Xoom под управлением 3.0.1 это работает отлично .
На моем Samsung Galaxy Tab под управлением 3.1 это работает;но строка состояния возвращается через некоторое короткое время.В журнале Android я вижу, что вызывается LightsOn () ...
Как я могу предотвратить возвращение строки состояния в версии 3.1?Я видел это событие:
http://developer.android.com/reference/android/view/View.OnSystemUiVisibilityChangeListener.html
И подумал, что смогу использовать его, чтобы скрыть строку состояния, если она вернется.Но я не вижу, как я могу подписаться на него (это не отображается в Intellisense).