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 вы используете, пытается скрыть панель навигации.

Надеюсь это поможет.

Другие вопросы по тегам