Ответ, который вы получаете, правильно выведен из-за строки состояния.Все, что вам нужно сделать, это избавиться от строки состояния, прежде чем начнется отображение окна.И затем вы можете сбросить строку состояния, прежде чем установить представление содержимого деятельности.
Причина, по которой вы делаете это таким образом, заключается в том, что избавление от строки состояния влияет на ваш чертеж вида, если вы не обрабатываете все измерения, макет и рисование динамически.Выполнение этого в середине вашей среды выполнения приведет к тому, что строка состояния исчезнет, а затем снова появится, если вы этого хотите, что приведет к путанице у пользователей.
Чтобы скрыть строку состояния:
В вашем onCreate ():
final WindowManager.LayoutParams attrs = getWindow().getAttributes();
//Add the flag to the Window Attributes
attrs.flags |= WindowManager.LayoutParams.FLAG_FULLSCREEN;
getWindow().setAttributes(attrs);
//Disassociate Display from the Activity
getWindow().addFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);
Теперь ваш дисплей по умолчанию должен работать правильно
Все еще в вашем onCreate ():
Display display = getWindowManager().getDefaultDisplay();
int w = display.getWidth();
int h = display.getHeight();
Теперь перед тем, как установить Content
Опять же, в вашем onCreate ():
final WindowManager.LayoutParams attrs = getWindow().getAttributes();
//Show the statubar
attrs.flags &= (~WindowManager.LayoutParams.FLAG_FULLSCREEN);
getWindow().setAttributes(attrs);
// Reassociate.
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);
Наконец:
setContentView(r.layout.myView);
Предыдущие сегменты кода будут работать практически везде.Я просто думаю о вашем опыте пользователя.Не стесняйтесь размещать их везде, конечно.Это функциональные сегменты, взятые из одного из моих проектов.Я видел похожие методы в некоторых домашних пусковых установках.Примечание: в зависимости от версии Android вам может потребоваться выполнить строку состояния в onWindowAttached ().Если вы это сделаете, убедитесь, что вы по-прежнему вызываете super.onWindowAttached ().
Другая техника: Конечно, если вы все равно хотите это сделать, вы всегда можете установить атрибут действиятаким образом в вашем манифесте.
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"