android - 使用 AppCompat 删除操作栏菜单项的填充

标签 android android-actionbar android-appcompat

我通过在 Activity 中使用以下样式来使用覆盖操作栏

样式.xml

    <style name="CustomActionBarTheme" parent="@style/Theme.AppCompat" >
    <item name="windowActionBarOverlay">true</item>
    <item name="android:background">#00f3ead8</item>
    <item name="android:windowBackground">@drawable/logo1024</item>
</style>

我只有一个要始终显示的菜单项

菜单.xml

<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:yourapp="http://schemas.android.com/apk/res-auto">
<item
    android:id="@+id/menusettings"
    android:orderInCategory="100"
    android:icon="@drawable/settings"
    android:title="Menu"
    yourapp:showAsAction="always"
    />
  <menu>

图标(即 settings.png)填充了 8dp 但我希望顶部和底部的填充为 0,以便覆盖整个操作栏

临近项目截止日期,请帮助我摆脱困境 提前致谢

最佳答案

一年后... 删除 v7.Toolbar 操作按钮上的填充仍然具有挑战性。 经过大量实验后,这是一个可行的解决方案,在 API 15 及更高版本上进行了测试(理论上应该可以工作 > API 7)。 首先,工具栏样式(主题)应该像这样应用

<android.support.v7.widget.Toolbar
     app:theme="@style/AppTheme.Toolbar"
     android:layout_width="match_parent"
     android:layout_height="?attr/actionBarSize">
</android.support.v7.widget.Toolbar>

下一步,values/styles.xml

<style name="AppTheme.Toolbar" parent="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
    <item name="actionButtonStyle">@style/AppTheme.Toolbar.ActionButton</item>
</style>
<!-- this will be applied regardless api version -->
<style name="Base.AppTheme.Toolbar.ActionButton" parent="@style/Widget.AppCompat.ActionButton">
    <item name="android:minWidth">0dp</item>
    <item name="android:minHeight">0dp</item>
</style>

<!-- this will be applied on < API 17 -->
<style name="AppTheme.Toolbar.ActionButton" parent="@style/Base.AppTheme.Toolbar.ActionButton">
    <item name="android:padding">0dp</item>
</style>

最后一步,values-v17/styles.xml

<!-- this will be applied on >= API 17 -->
<style name="AppTheme.Toolbar.ActionButton" parent="@style/Base.AppTheme.Toolbar.ActionButton">
    <item name="android:paddingStart">0dp</item>
    <item name="android:paddingEnd">0dp</item>
</style>

关于android - 使用 AppCompat 删除操作栏菜单项的填充,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19109026/

相关文章:

Android - ActionBarSherlock - 设置菜单中文本的文本颜色

android - 找不到 com.android.support :appcompat-v7:24. 2.1

java - 带有 appcompat 库 v7 的 ActionBar(java.lang.IllegalStateException : You need to use a Theme. AppCompat 主题)

java - webView.canGoBack() 始终为 false

android - 怎样才能让ActionBar上的item为左一中右一?

android - 如何遍历 greendao 列表?

java - 无法访问自定义ActionBar的TextView

android - 操作栏 - 菜单按钮 - 丢失

android - 尝试使用 AppCompat v21 实现工具栏

android - 在独特的内存中开始一项新 Activity ?