从Fragment添加/删除ActionBar阴影

时间:2017-03-08 17:35:09

标签: android android-fragments android-actionbar

我有一个活动,我在片段之间切换。

我想让动作栏显示完整的一些片段,其他我希望它是透明的。

我使用了this question答案中找到的技巧,其中我基本上有一个主题:

<item name="windowActionBarOverlay">true</item>

在我需要静态/完整操作栏的布局中,我将添加:

`layout_marginTop:"?android:attr/actionBarSize"`

在我需要透明操作栏的片段中,我会这样做:

getActivity().getSupportActionBar().setBackgroundDrawable(new ColorDrawable(Color.argb(0, 0, 0, 0)));

问题:在后一种情况下,操作栏阴影仍会显示。如果我添加,我可以禁用它:

<item name="android:windowContentOverlay">@null</item>

但是现在我希望动作栏以完整/不透明的方式显示呢?我希望阴影也随之显示出来。那么有没有办法触发和关闭阴影?

或者,我可以放弃整个造型协议而只是做:

getActivity().getSupportActionBar().show(); // or hide

然后在我的布局中,我可以从操作栏手动添加我想要的后退按钮。在这种情况下的问题是动作栏滑入和滑出,看起来很草率。我不能打电话:

getActivity().getSupportActionBar().setShowHideAnimationEnabled(false);

因为它告诉我:

  

ActionBar.setShowHideAnimationEnabled只能在同一个库组中调用(groupId = com.android.support)

那么如何根据显示的片段添加/删除操作栏阴影?或者,如何在没有动画的情况下隐藏动作栏?

谢谢!

0 个答案:

没有答案