【发布时间】:2014-04-16 17:58:23
【问题描述】:
在我的应用程序中,我想覆盖ActionBar 的颜色并使其半透明。 (颜色十六进制 #40000000)
我还在我的 Activity 中使用背景图片。
问题是 ActionBar 没有将背景图像作为它的一部分。那就是图像在操作栏下方开始。 (你可以在下面的截图中看到)
ActionBar 的背景颜色好像是白色的,上面渲染了半透明的颜色。
另一个问题是,我还在操作栏下方显示了一个视图。 (见下图)
此视图的高度与操作栏的高度相同。为此,我在onCreate()中使用以下代码
private void setTopPanelHeight() {
// Calculating ActionBar height
TypedValue tv = new TypedValue();
if (getTheme().resolveAttribute(android.R.attr.actionBarSize, tv, true)) {
// Height in pixels.
Integer actionBarHeight = TypedValue.complexToDimensionPixelSize(tv.data, getResources().getDisplayMetrics());
// Changing panel height.
View panelView = findViewById(R.id.view_panel_below_action_bar);
FrameLayout.LayoutParams params = (FrameLayout.LayoutParams) panelView.getLayoutParams();
params.height = (int) actionBarHeight;
panelView.setLayoutParams(params);
}
}
正如许多answers 和android docs 中所建议的,我尝试使用:
<item name="android:windowActionBarOverlay">true</item>
然后按照here的建议增加我的布局上边距
`android:layout_marginTop="?android:attr/actionBarSize"`
但是,没有用。
如何使我的背景图片包含在 ActionBar 中,并且不要打扰我的 view_below_actionbar 和navigation drawer。
谢谢
【问题讨论】:
-
我的回答对你有帮助吗?