在此处查看问题,灰色复选框从操作栏的顶部和底部留出空间:
styles.xml
<resources xmlns:android="http://schemas.android.com/apk/res/android">
<style name="CustomActionBarTheme" parent="Theme.Base.AppCompat.Light">
<item name="android:windowContentOverlay">@null</item>
<item name="android:actionButtonStyle">@style/ActionButtonStyle</item>
</style>
<!--<style name="ActionButtonStyle" parent="@android:style/Widget.Holo.Light.ActionButton">-->
<style name="ActionButtonStyle" >
<item name="android:height">@dimen/abc_action_bar_default_height</item>
<item name="android:layout_height">@dimen/abc_action_bar_default_height</item>
</style>
我像这样设置项目:
getMenuInflater().inflate(R.menu.submit_action, menu);
submit_action看起来像:
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item android:id="@+id/action_submit"
android:icon="@drawable/check"
app:showAsAction="always" />
</menu>
最后,附件是正在使用的@ drawable / check。
任何想法如何让支票填满操作栏?
答案 0 :(得分:4)
您的图标未填充ActionBar
的原因是ActionMenuItemView
测量图标的方式。
ActionMenuItemView
在maximum size of 32dp
因此,它使图像的大小有所不同,系统将始终调整它的大小。
任何想法如何让支票填满操作栏?
您应该使用MenuItem
的操作布局,没有背景的复选标记图标,并根据需要更改操作布局父级的背景颜色。这是一个例子:
<强>布局强>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
style="?android:attr/actionButtonStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#e8e8e8"
android:clickable="true"
android:contentDescription="@string/cd" >
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:contentDescription="@null"
android:scaleType="centerInside"
android:src="@drawable/ic_action_tick" />
</RelativeLayout>
<强>菜单项强>
<item
android:id="@+id/action_submit"
android:actionLayout="@layout/your_action_layout"
android:showAsAction="always"/>
<强>辅助强>
确保您的MenuItem
可访问非常重要。通常情况下,当您长按ActionBar
中的项目时,短Toast
会显示内容说明,但是当您使用自定义MenuItem
时,它会显示你要实现这种模式。一种简单的方法是使用Roman Nurik's CheatSheet。如果您不确定如何使用它,请参阅my answer here,其中详细介绍了如何创建自定义MenuItem
布局。
<强>替代地强>
如果要为每个MenuItem
使用该背景颜色,可以创建自定义样式并使用android:actionButtonStyle
属性应用它。这是一个例子:
您的风格
<style name="Your.ActionButton" parent="@android:style/Widget.Holo.Light.ActionButton">
<item name="android:background">#e8e8e8</item>
</style>
您的主题
<style name="Your.Theme" parent="@android:style/Theme.Holo.Light">
<item name="android:actionButtonStyle">@style/Your.ActionButton</item>
</style>
<强>结果
答案 1 :(得分:-1)
以下是我在Android中使用图标的方法,以确保大小正确。您有一个res / drawable-文件夹的现有项目。您必须将正确的Icon放入正确的文件夹中。
启动新项目向导,当您到达要在现有项目中使用的图标中的启动器图标时。完成向导。该向导将为您制作各种尺寸的图标。然后我手动将res / drawable-xdpi res / drawable-ldpi等中的图标复制到现有项目的相应文件夹中。删除不再需要的新项目。