美文网首页
【Android】ActionBar两侧有空白的问题

【Android】ActionBar两侧有空白的问题

作者: littlefogcat | 来源:发表于2022-08-04 15:47 被阅读0次

    应用设置了ActionBarStyle之后,Actionbar两侧出现了一点空白,如图:

    img

    ActionBar风格定义为:

        <style name="ActionBarStyle" parent="Widget.AppCompat.Toolbar">
        </style>
    

    根据网上的方法,添加了contentInsetStart 属性,无果。

        <style name="ActionBarStyle" parent="Widget.AppCompat.Toolbar">
            <item name="android:contentInsetStart">0dp</item><!-- 设置该属性解决左侧空白部分-->
            <item name="android:contentInsetEnd">0dp</item><!-- 设置该属性解决右侧空白部分-->   
        </style>
    

    于是跟踪 Widget.AppCompat.Toolbar 样式,发现其依赖自 Base.V7.Widget.AppCompat.Toolbar,其中有这么两个属性:

        <style name="Base.V7.Widget.AppCompat.Toolbar" parent="android:Widget">
            <item name="android:paddingStart">@dimen/abc_action_bar_default_padding_start_material</item>
            <item name="android:paddingEnd">@dimen/abc_action_bar_default_padding_end_material</item>
        </style>
    

    而这个属性在 values 中为0,而在values-sw600dp-v13中则为8dp,而恰好设备的宽度满足这个条件。

    所以,只需要在自定义的 Style 中加上 <item name="android:paddingStart">0dp</item><item name="android:paddingEnd">0dp</item> 即可。

        <style name="ActionBarStyle" parent="Widget.AppCompat.Toolbar">
            <item name="android:contentInsetStart">0dp</item><!-- 设置该属性解决左侧空白部分-->
            <item name="android:contentInsetEnd">0dp</item><!-- 设置该属性解决右侧空白部分-->   
            <item name="android:paddingStart">0dp</item>
            <item name="android:paddingEnd">0dp</item>
        </style>
    

    相关文章

      网友评论

          本文标题:【Android】ActionBar两侧有空白的问题

          本文链接:https://www.haomeiwen.com/subject/hdwywrtx.html