android新版本support包V7后自定义actionbar左边有一块空白无法填充

1. 问题描述

最近我自定义actionbar时发现自定义actionbar左边有一块空白无法填充.一开始我是发现支持包V7的../res/values/styles_base.xml文件内的

<style name="Base.Widget.AppCompat.ActionBar" parent="">
    <item name="displayOptions">showTitle</item>
    <item name="divider">?attr/dividerVertical</item>
    <item name="height">?attr/actionBarSize</item>

    <item name="titleTextStyle">@style/TextAppearance.AppCompat.Widget.ActionBar.Title</item>
    <item name="subtitleTextStyle">@style/TextAppearance.AppCompat.Widget.ActionBar.Subtitle</item>

    <item name="background">@null</item>
    <item name="backgroundStacked">@null</item>
    <item name="backgroundSplit">@null</item>

    <item name="actionButtonStyle">@style/Widget.AppCompat.ActionButton</item>
    <item name="actionOverflowButtonStyle">@style/Widget.AppCompat.ActionButton.Overflow</item>

    <item name="android:gravity">center_vertical</item>
    <item name="contentInsetStart">@dimen/abc_action_bar_content_inset_material</item>
    <item name="contentInsetEnd">@dimen/abc_action_bar_content_inset_material</item>
    <item name="elevation">8dp</item>
    <item name="popupTheme">?attr/actionBarPopupTheme</item>
</style>

<item name="contentInsetStart"><item name="contentInsetEnd"> 引起的, 于是我将其注释掉, 结果发现并不起效, 问题仍然存在。

2. 解决方法

经过网上搜索得出答案, 原来需要重写

<item name="contentInsetStart"><item name="contentInsetEnd"> 为0dp即可解决。

下面是我在style.xml文件中自定义actionbarstyle的示例代码

<style name="ActionBarBaseStyle" parent="@style/Widget.AppCompat.Light.ActionBar">
    <item name="background">@color/actionbar_background</item>
    <item name="titleTextStyle">@style/TitleStyle</item>
    <item name="android:icon">@android:color/transparent</item>
    <item name="subtitleTextStyle">@style/SubTitle</item>
    <item name="contentInsetStart">0dp</item>
    <item name="contentInsetEnd">0dp</item>
</style>

问题解决!!! OK, Enjoy it!!!

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-09-30 14:35:48

android新版本support包V7后自定义actionbar左边有一块空白无法填充的相关文章

告别ActionBarSherlock——Android.support包也能打造兼容2.x的ActionBar(1)

http://www.bdqn.cn/news/201308/10625.shtml 摘要: 告别ActionBarSherlock——android.support包也能打造兼容2.x的ActionBar(1) ActionBar是Android 3.0的产物 一直延伸到现在最新的4.3 就个人而言 ActionBar相比传统的弹出式菜单 更加简洁 但是ActionBar只有API 10以上(包括API 10)才能尝到 于是有些大神便打造出了ActionBarSherlock,为2.x带来了一

Android -- Support包特性

干货 每一个 Support 包版本后缀 vX 所代表的含义是他能够被使用的最低版本等级.之所以无法在更低版本进行使用的原因,是因为随着版本的升级,在新版本中有很多之前不支持的特性或者 API,因此如果你在老版本中使用了这些支持包,就可能会导致应用崩溃. support-v4 support-v4包算是 Android 最低等级的支持包.所谓的 v4,代表着它最低支持 Android1.6(API Level4).在 support-v4包中,它所拥有的类还是很多的,主要包含了对应用组件的支持,

Android Support 包的作用、用法

1, Android Support V4, V7, V13是什么?本质上就是三个java library. 2,  为什么要有support库?如果在低版本Android平台上开发一个应用程序,而应用程序又想使用高版本才拥有的功能,就需要使用Support库. 3, 三个Support 库的区别和作用是什么?Android Support v4 是最早(2011年4月份)实现的库.用在Android1.6 (API lever 4)或者更高版本之上.它包含了相对V4, V13大的多的功能. 

Android Support 包里究竟有什么

大家如果喜欢我的博客,请关注一下我的微博,请点击这里(http://weibo.com/kifile),谢谢 转载请标明出处(http://blog.csdn.net/kifile),再次感谢 随着 Android 5.0 Lollipop 的发布,Android 又为我们提供了更多的支持包,但是我相信大部分开发者都同我之前一样不知道这些包里究竟有些什么东西,我们应该在什么时候使用它.现在,我们就来逐个看看每一个版本的 Support 包中所拥有的东西,让用到他的时候不再迷茫. 首先,你需要了解

[Android Pro] Android Support 包里究竟有什么

reference to : http://www.2cto.com/kf/201411/350928.html 随着 Android 5.0 Lollipop 的发布,Android 又为我们提供了更多的支持包,但是我相信大部分开发者都同我之前一样不知道这些包里究竟有些什么东西,我们应该在什么时候使用它.现在,我们就来逐个看看 每一个版本的 Support 包中所拥有的东西,让用到他的时候不再迷茫. 首先,你需要了解每一个 Support 包版本后缀 vX 所代表的含义.当然我相信来看博客的诸

Android 自定义ActionBar

Android 3.0及以上已经有了ActionBar的API,可以通过引入support package在3.0以下的平台引用这些API,但这儿呢,完全自定义一个ActionBar,不用引入额外jar包,参照的是开源的UI组件 GreeenDroid,项目主页:https://github.com/cyrilmottier/GreenDroid .提取出关于ActionBar的相关文件,你可以放在自己的项目中,最后会附下载地址.下面说下在程序中的用法. 新建一个TestActionBar项目,

拥抱Android Design Support Library新变化(导航视图、悬浮ActionBar..)

转载 请注明 明桑Android Android 5.0 Loollipop作为Android最重要的版本之一,为我们带来了全新的界面风格和设计语言.看起来很受欢迎,可它的普及似乎不那么顺利,刚过去不久的Google I/O 2015都已经推出了新的Android M预览版.即使是这样,原生版本的Android推广似乎一直没取得google预期的结果-不管怎样,作为开发者我们关心的无非是这个平台是否好用,能否开发出精致而又有趣的应用.好在Material Design我认为是成功的,官方在And

Android Support 包知识

Android Support Library包是一组代码库, 它提供了向后版本的framework API的兼容, 这些代码库实现的效果和只能在指定版本中使用的API一样好. 每个Support Library都是指定版本的兼容库,每一个 Support 包版本后缀 vX 所代表的含义.Android 对于每一个版本都有一个版本号,例如2.1是7,4.0是14,5.0是21.而这里,v 之后的数字,就代表着他能够被使用的最低版本等级,之所以无法在更低版本进行使用的原因,是因为随着版本的升级,在

Android自定义ActionBar

Android 3.0及以上已经有了ActionBar的API,可以通过引入support package在3.0以下的平台引用这些API,但这儿呢,完全自定义一个ActionBar,不用引入额外jar包,参照的是开源的UI组件 GreeenDroid,项目主页:https://github.com/cyrilmottier/GreenDroid .提取出关于ActionBar的相关文件,你可以放在自己的项目中,最后会附下载地址.下面说下在程序中的用法. 新建一个TestActionBar项目,