SYSTEM_UI_FLAG_LOW_PROFILE не работает
У меня есть такой Activity
который имеет представление контента, имеющее свой корневой вид как FrameLayout
Я хочу скрыть программные клавиши нижней панели, для которых я добавил следующий код в onCreate of myActivity, но это ничего не влияет.
FrameLayout frameLayout = (FrameLayout)this.findViewById(R.id.myframe);
frameLayout.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LOW_PROFILE);
Есть ли разрешение или дополнительный код, который мне нужно добавить?
Заранее спасибо:)
Примечание: я пытаюсь сделать это на Android HoneyComb (API 13)
4 ответа
Я предполагаю, что все, что вам нужно, это установить targetSdkVersion в AndroidManifest на правильный, скажем 11 или 13 для 3.0 или 3.2 соответственно.
SYSTEM_UI_FLAG_LOW_PROFILE был добавлен в Api Level 14 (сэндвич с мороженым). Это не будет работать до этого, например, на сотовой.
Попробуй это:
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LOW_PROFILE);
SYSTEM_UI_FLAG_LOW_PROFILE Добавлен на уровне API 14 и тот, который был до того, как был STATUS_BAR_HIDDEN, и это начиная с API 11, но теперь это устарело
источник http://developer.android.com/reference/android/view/View.html
Я сделал эту простую проверку,
поставить этот код перед setContentView
if (Build.VERSION.SDK_INT > 14){
View decorView = this.getWindow().getDecorView();
int uiOptions = View.SYSTEM_UI_FLAG_LOW_PROFILE;
decorView.setSystemUiVisibility(uiOptions);
}else {
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
}
В зависимости от того, какой Api вы используете, пытается скрыть панель навигации.
Надеюсь это поможет.