Я получил сообщения от некоторых пользователей телефонов HTC One M8, что навигационные кнопки всегда видны, хотя они должны быть в режиме с низким профилем.
Я построил следующее примерное приложение, которое работает так, как вы ожидали бы от эмулятора и моего Nexus 4.
public class MainActivity extends Activity implements View.OnClickListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public void onClick(View view) {
switch (view.getId()) {
case R.id.visible:
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_VISIBLE);
break;
case R.id.lowProfile:
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LOW_PROFILE);
break;
}
}
}
На HTC One M8 флаг SYSTEM_UI_FLAG_LOW_PROFILE
всегда игнорируется, но скрывается строка состояния, например (с SYSTEM_UI_FLAG_FULLSCREEN
).
Я попробовал называть setSystemUiVisibility()
на представлении декора, как показано, и на кнопке без успеха.
Существуют ли какие-либо известные проблемы или обходные пути для этой модели?
Обновление: Пример приложения был протестирован на Android 5.0.1. Я не знаю, работал ли он на предыдущих версиях.