我目前正在为MenuItem使用自定义布局:
代码是基本的:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/menu_custom"
android:actionLayout="@layout/menu_layout"
android:showAsAction="always"/>
</menu>
虽然Android设计和指南中描述了像素中的图标大小,但我不知道我应该为此图标使用的边距,填充,宽度和高度,因此它在所有设备上看起来都是合法的。
我目前的布局:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/searchProgressWrapper"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<ImageButton
android:id="@+id/ivfolder"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_gravity="center"
android:scaleType="fitCenter"
android:background="@drawable/abs__item_background_holo_dark"
android:src="@drawable/ic_menu_archive" />
</RelativeLayout>
最大的问题是,正如您所看到的,图标的宽度完全错误,并且与其他MenuItem完全不相似。
答案 0 :(得分:16)
android:minWidth
应为56dip
,android:paddingBottom
,android:paddingTop
应为8dip
。找到<sdk>/platforms/android-17/data/res/values/dimens.xml
:
<!-- Minimum width for an action button in the menu area of an action bar -->
<dimen name="action_button_min_width">56dip</dimen>
<!-- Vertical padding around action bar icons. -->
<dimen name="action_bar_icon_vertical_padding">8dip</dimen>
答案 1 :(得分:-1)
View view = mToolbar.getMenu().findItem(R.id.spinner).getActionView();
view.setPadding(0,0,0,0);
这适合我。