我通过在 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/