Как отключить анимацию слайдов навигационной панели при переходе в полноэкранный режим?
у меня есть активность, которая переходит к другой полноэкранной активности. Однако при переходе от этой активности к моей полноэкранной активности панель навигации скользит вниз, а не исчезает мгновенно. Я раздул полноэкранное окно во втором действии, но из-за медленной скользящей анимации оно изменяется через 1 секунду после завершения анимации, а не сразу раздувается до полноэкранного режима. Поэтому мне нужно, чтобы анимация исчезла мгновенно. Я пробовал
<item name="android:windowAnimationStyle">@null</item>
и
overridePendingTransition(0, 0);
и
Transition fade = new Fade();
fade.excludeTarget(android.R.id.navigationBarBackground, true);
getWindow().setEnterTransition(fade);
не повезло.
со стороны окон я пробовал
WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS
WindowManager.LayoutParams.FLAG_FULLSCREEN
WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN
как я скрываю navbar:View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
1 ответов
Я думаю, я сделал это:
FullscreenActivity
класс:
public class FullscreenActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
View decorView = getWindow().getDecorView();
int uiOptions = View.SYSTEM_UI_FLAG_LAYOUT_STABLE
| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION;
decorView.setSystemUiVisibility(uiOptions);
ActionBar actionBar = getSupportActionBar();
if (actionBar != null) {
actionBar.hide();
}
setContentView(R.layout.activity_fullscreen);
}
}
Манифест:
<activity
android:name=".FullscreenActivity"
android:configChanges="orientation|keyboardHidden|screenSize"
android:label="@string/title_activity_fullscreen"
android:theme="@style/FullscreenTheme"/>
стили:
<style name="FullscreenTheme" parent="AppTheme">
<item name="android:statusBarColor">@android:color/transparent</item>
<item name="android:actionBarStyle">@style/FullscreenActionBarStyle</item>
<item name="android:windowActionBarOverlay">true</item>
<item name="android:windowBackground">@null</item>
<item name="metaButtonBarStyle">?android:attr/buttonBarStyle</item>
<item name="metaButtonBarButtonStyle">?android:attr/buttonBarButtonStyle</item>
</style>
NB! задание StatusBar
цвета требуется API-интерфейс 21. для более старых версий, чтобы "скрыть" строку состояния, вам нужно использовать:
int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_FULLSCREEN;
как uiOptions в коде выше. (это вызовет довольно быстрое изменение размера, хотя).
Я надеюсь, это помогает