gpt4 book ai didi

android - 使用ActionBarSherlock时ActionBar下的阴影

转载 作者:行者123 更新时间:2023-11-29 02:01:43 25 4
gpt4 key购买 nike

我正在使用 ActionBarSherlock。在 Android 3.0+ 上,ActionBar 下有一个微妙的阴影。但不适用于较旧的 Android。

问题是,android:windowContentOverlay 中设置的阴影出现在 Activity 窗口的顶部。在旧的 Android 上,ActionBar 是 Window 的一部分。所以阴影覆盖在ActionBar的顶部,而不是覆盖在ActionBar下面的内容。

有没有办法解决这个问题,而无需手动将阴影插入到每个 Activity 的布局中?

最佳答案

正如@wingman 在评论中暗示的那样,我在我的基础 Activity 中重写了 setContentView(...),如下所示:

@Override
public void setContentView(int layoutResId) {
View view = getLayoutInflater().inflate(layoutResId, null);
setContentView(view);
}

@Override
public void setContentView(View view) {
int wrapContent = ViewGroup.LayoutParams.WRAP_CONTENT;
int matchParent = ViewGroup.LayoutParams.MATCH_PARENT;
view.setLayoutParams(new ViewGroup.LayoutParams(matchParent, matchParent));

View shadow = new View(this);
shadow.setBackgroundResource(R.drawable.action_bar_shadow);
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(matchParent,
wrapContent);
shadow.setLayoutParams(params);

RelativeLayout container = new RelativeLayout(this);
container.addView(view);
container.addView(shadow);

super.setContentView(container);
}

关于android - 使用ActionBarSherlock时ActionBar下的阴影,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12341776/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com