fso*_*ety 5 android android-fragments android-actionbar
我有一个在片段之间切换的活动。
我希望操作栏完整显示一些片段,而另一些片段我希望它是透明的。
我使用了在这个问题的答案中找到的技巧,其中我基本上有一个主题:
<item name="windowActionBarOverlay">true</item>
Run Code Online (Sandbox Code Playgroud)
在我的布局中,我想要一个静态/完整的操作栏,我将添加:
`layout_marginTop:"?android:attr/actionBarSize"`
Run Code Online (Sandbox Code Playgroud)
在我想要透明操作栏的片段中,我会这样做:
getActivity().getSupportActionBar().setBackgroundDrawable(new ColorDrawable(Color.argb(0, 0, 0, 0)));
Run Code Online (Sandbox Code Playgroud)
问题:在后一种情况下,操作栏阴影仍然显示。如果我添加以下内容,我可以禁用它:
<item name="android:windowContentOverlay">@null</item>
Run Code Online (Sandbox Code Playgroud)
但现在当我希望操作栏完全/不透明显示时该怎么办?我希望阴影也随之显示。那么有没有办法触发阴影的开启和关闭呢?
或者,我可以放弃整个造型交易,只做:
getActivity().getSupportActionBar().show(); // or hide
Run Code Online (Sandbox Code Playgroud)
然后在我的布局中,我可以从操作栏中手动添加我想要的后退按钮。在这种情况下的问题是操作栏滑入和滑出并且看起来很草率。我无法打电话:
getActivity().getSupportActionBar().setShowHideAnimationEnabled(false);
Run Code Online (Sandbox Code Playgroud)
因为它告诉我:
ActionBar.setShowHideAnimationEnabled 只能从同一库组内调用 (groupId=com.android.support)
那么我如何根据显示的片段添加/删除操作栏阴影?否则,如何隐藏没有动画的操作栏?
谢谢!
| 归档时间: |
|
| 查看次数: |
376 次 |
| 最近记录: |