ActionBar 样式求助

2015-01-15 23:21:28 +08:00
 jayn1985

LZ目前在折腾一个小的app,但是遇到一个ActionBar样式的问题,搞了半天没有搞出来,所以特意登录发帖来咨询下各位小伙伴们:
<resources xmlns:android="http://schemas.android.com/apk/res/android">
<style name="AppTheme" parent="android:Theme.Holo.Light.DarkActionBar">
<item name="android:actionBarStyle">@style/MyAppActionBar</item>
</style>
<style name="MyAppActionBar" parent="@android:style/Widget.Holo.Light.ActionBar.Solid.Inverse">
<item name="android:background">@drawable/actionbar_gradient_bg</item>
</style>
</resources>

上面是我的整个App的ActionBar的定义,然后在每个Activity的layout里设置了背景色为白色,layout_width和layout_height均设置为match_parent,我的初步想法是通过以上的设置可以使得app的整个主体内容均以白色为背景,但是在实际的测试中发现,ActionBar和我的Activity的主体内容的最上部之间存在着一个灰色的区域(默认背景色),由于我的Activity的layout设置的宽高均是填充整个区域,并且也没有设置margin top的值,那么我猜测这个应该是Widget.Holo.Light.ActionBar.Solid.Inverse的样式的设置中可能有类似的设置(例如margin bottom之类的),当然这只是我的猜测,所以想问问版上的童鞋有没有遇到过类似的场景,并且都是怎么解决的,万分感激~

9911 次点击
所在节点    Android
16 条回复
qbeenslee
2015-01-15 23:37:29 +08:00
再添加一个属性值 <item name="background">@color/your_color</item>
jayn1985
2015-01-15 23:40:10 +08:00
@qbeenslee 这个不仅没解决问题,岂不是把我前面设置的ActionBar的背景色也给覆盖了?
qbeenslee
2015-01-15 23:48:49 +08:00
@jayn1985 属性值改成自己想要的,试一下,我只是提醒。还有看Android 官方文档上的training上有讲
jayn1985
2015-01-16 00:03:43 +08:00
@qbeenslee 其实我就是想问下是不是有哪个属性可以做到消除中间那一小块默认灰色区域的,至少background属性肯定是解决不了这个问题的吧,而且我已经使用了这个属性来定义了我想要的ActionBar的背景色了,明天再找找文档看下~
qbeenslee
2015-01-16 00:06:27 +08:00
@jayn1985 你上张图片,什么灰条,说得很抽象。。。 大不了你用ToolBar 自定义
allan1st
2015-01-16 00:07:38 +08:00
最好搞个图,要不不太理解 LZ 的意思
我猜想你是不是要设置 activity 的背景?再 Theme 里面设置:
<item name="android:windowBackground">@android:color/white</item>
allan1st
2015-01-16 00:12:17 +08:00
好像有点看懂你说的是什么了:actionbar 的 shadow
Holo:
<item name="android:windowContentOverlay">@null</item>
<item name="windowContentOverlay">@null</item>
Material:
elevation = 0dp
jayn1985
2015-01-16 00:22:19 +08:00
jayn1985
2015-01-16 00:28:29 +08:00
nnd,刚才在折腾怎么在v2ex发图,大家可以打开之前的link将就着看吧,貌似还是没成功。。。为了提高对比度,我把ActionBar的背景色设成绿色了,然后可以仔细看下,ActionBar下面是有一小块灰色的区域的,但是奇怪的是含有那段TextView的Layout貌似确实是填充整个区域了,而且背景色为白色,但是为啥那一小块灰色区域还存在呢。。
jayn1985
2015-01-16 00:30:24 +08:00
@qbeenslee
@allan1st
两位童鞋现在可以看截图了。。。。
allan1st
2015-01-16 00:30:56 +08:00
@jayn1985 话说你的汉堡包怎么有四片面包? :)
jayn1985
2015-01-16 00:35:46 +08:00
jayn1985
2015-01-16 00:41:35 +08:00
@allan1st 好吧,我在刚才推荐的网站里找到了三片面包的图标了,明天给换掉~ 但是问题还是没有解决啊,咋越讨论越偏离了呢,哈哈~
allan1st
2015-01-16 01:49:15 +08:00
@jayn1985 问题答案在7楼啊
jayn1985
2015-01-16 10:55:02 +08:00
@allan1st 感谢回复,我使用了你说的方法,但是发现问题还在,我使用的android测试版本是4.4,刚才在网上找了一下,是android的一个bug?
jayn1985
2015-01-16 11:02:53 +08:00
@allan1st 刚才发现那条设置语句放错地方了,应该放到AppTheme而不是ActionBar的style下面,原来这个东西是ActionBar的默认的shadow: http://stackoverflow.com/questions/12246388/remove-shadow-below-actionbar , 问题得到解决了,非常感谢:)

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/162545

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX