我试图在某些布局上显示我的android应用程序的标题栏,但在其他布局上不显示。我在布局之间导航没有问题,我调用getSupportActionBar().hide();
或getSupportActionBar().show();
也没有问题,标题栏确实会在我想要的时候显示或隐藏。然而,有一个动画非常丑陋和烦人,而且它会导致一些奇怪的图形问题(我的应用程序中有黑色背景,但它在动画过程中在标题栏的位置显示白色背景(
有一种方法可以禁用动画,但似乎根本不起作用。我怎么能在一个活动中有一个标题栏,而不是另一个活动,而没有一个烦人的动画来显示/隐藏它?为什么我不能直接调用该方法并让它正常工作呢?
我尝试调用的方法是getSupportActionBar().setShowHideAnimationEnabled(false);
值得注意的是,我的应用程序非常简单,只有两个布局和一个java活动。我只是在我的一个活动中放大两种不同的布局。
目前的情况:https://i.imgur.com/djTWokI.mp4
<activity android:name=".MainActivity"
android:label="@string/app_name"
android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen">
你可以尝试像这样更改AndroidManifest.xml
我自己通过创建一个我完全可以控制的自定义标题栏来解决这个问题。真正让我沮丧的是setShowHideAnimationEnabled(boolean)
似乎不能正常工作,而且我找不到任何关于它的官方文件
谷歌搜索它只给了我2010年关于如何启用动画的结果,但当默认情况下启用动画时,我想删除它们。
无论如何,在整个应用程序/活动中关闭操作栏是可能的,这就是我所做的,然后我创建了自己的自定义操作栏布局,并将其添加到我想要使用的页面中。
如果您的上下文是一个活动,您可以调用overridePendingTransition:
在startActivity(Intent(或完成指定下一步要执行的显式过渡动画。
因此,以编程方式:
startActivity(new Intent(CurrentActivity.this, YourNextActivity.class));
overridePendingTransition(0, 0);