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之类的),当然这只是我的猜测,所以想问问版上的童鞋有没有遇到过类似的场景,并且都是怎么解决的,万分感激~
1
qbeenslee 2015-01-15 23:37:29 +08:00 via iPhone
再添加一个属性值 <item name="background">@color/your_color</item>
|
3
qbeenslee 2015-01-15 23:48:49 +08:00 via iPhone
@jayn1985 属性值改成自己想要的,试一下,我只是提醒。还有看Android 官方文档上的training上有讲
|
4
jayn1985 OP @qbeenslee 其实我就是想问下是不是有哪个属性可以做到消除中间那一小块默认灰色区域的,至少background属性肯定是解决不了这个问题的吧,而且我已经使用了这个属性来定义了我想要的ActionBar的背景色了,明天再找找文档看下~
|
6
allan1st 2015-01-16 00:07:38 +08:00
最好搞个图,要不不太理解 LZ 的意思
我猜想你是不是要设置 activity 的背景?再 Theme 里面设置: <item name="android:windowBackground">@android:color/white</item> |
7
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 |
8
jayn1985 OP |
9
jayn1985 OP nnd,刚才在折腾怎么在v2ex发图,大家可以打开之前的link将就着看吧,貌似还是没成功。。。为了提高对比度,我把ActionBar的背景色设成绿色了,然后可以仔细看下,ActionBar下面是有一小块灰色的区域的,但是奇怪的是含有那段TextView的Layout貌似确实是填充整个区域了,而且背景色为白色,但是为啥那一小块灰色区域还存在呢。。
|
12
jayn1985 OP 额。。。随便找的图片。。。不会PS,然后碰巧找了一个很好的设计icon的网站: http://romannurik.github.io/AndroidAssetStudio/icons-launcher.html,呵呵,现在主要是边学习边练手做个小项目,不要太在意这些细节:)
|
13
jayn1985 OP @allan1st 好吧,我在刚才推荐的网站里找到了三片面包的图标了,明天给换掉~ 但是问题还是没有解决啊,咋越讨论越偏离了呢,哈哈~
|
15
jayn1985 OP @allan1st 感谢回复,我使用了你说的方法,但是发现问题还在,我使用的android测试版本是4.4,刚才在网上找了一下,是android的一个bug?
|
16
jayn1985 OP @allan1st 刚才发现那条设置语句放错地方了,应该放到AppTheme而不是ActionBar的style下面,原来这个东西是ActionBar的默认的shadow: http://stackoverflow.com/questions/12246388/remove-shadow-below-actionbar , 问题得到解决了,非常感谢:)
|