减少菜单项的宽度、高度和文本视图大小

Reduce Menu items width,height and textview size

我做了一个菜单溢出 items.I 需要减少菜单项的宽度、高度和文本视图大小。

我提到了这个 post。但它不适用于 me.I 我发布了与此相关的代码和屏幕截图:

<menu xmlns:android="http://schemas.android.com/apk/res/android"
    >

    <item
        android:id="@+id/add"
        android:icon="@drawable/down"
        android:title="Read"
        android:showAsAction="never"
        />
    <item
        android:id="@+id/add2"
        android:icon="@drawable/down"
        android:title="write"
        android:showAsAction="never"
        />

    <item
        android:id="@+id/add3"
        android:icon="@drawable/down"
        android:title="bold"
        android:showAsAction="never"
        />
</menu>

菜单项截图:

styles.xml:

   <style name="AppBaseTheme" parent="android:Theme.Light">

    </style>

    <!-- Application theme. -->
    <style name="AppTheme" parent="AppBaseTheme">
        <item name="android:actionOverflowButtonStyle">@style/MyActionButtonOverflow</item>
    </style>

    <style name="MyActionButtonOverflow" parent="android:style/Widget.Holo.ActionButton.Overflow">
        <item name="android:src">@drawable/down</item>

    </style>

我唯一的问题是,我需要减小菜单项的宽度、高度和文本视图大小。

我可以借助以下代码减小菜单项的高度和文字大小:

res/values/styles.xml:

    <style name="AppBaseTheme" parent="android:Theme.Holo.Light.DarkActionBar">
 
        <item name="android:dropDownListViewStyle">@style/PopupMenuListView</item>
        <item name="android:actionBarWidgetTheme">@style/PopupMenuTextView</item>
        <item name="android:popupMenuStyle">@style/PopupMenu</item>
 
        <!-- Change Overflow Menu ListView Item Height & Property -->
        <item name="android:listPreferredItemHeightSmall">10dp</item>
        <item name="android:listPreferredItemPaddingLeft">5dp</item>
        <item name="android:listPreferredItemPaddingRight">5dp</item>
    </style>
 
    <!-- Change Overflow Menu ListView Divider Property -->
    <style name="PopupMenuListView" parent="@android:style/Widget.Holo.ListView.DropDown">
        <item name="android:divider">#FF0000</item>
        <item name="android:dividerHeight">2dp</item>
    </style>
 
    <!-- Change Overflow Menu ListView Text Size and Text Size -->
     <style name="PopupMenuTextView" parent="@style/android:Theme.Holo.Light">
        <item name="android:textColor">#00FF00</item>
        <item name="android:textSize">5sp</item>
    </style>
 
     <!-- Change Overflow Menu Background -->
     <style name="PopupMenu" parent="android:Widget.Holo.Light.ListPopupWindow">
        <item name="android:popupBackground">#888888</item>
    </style>
 
</resources>

在styles.xml(v11)和styles.xml(v14)中添加以上代码。

更多详情:

参考Action Bar Overflow Menu Customization

使用这个:

<item name="android:listPreferredItemHeightSmall">72dp</item>

示例:

 <style name="popupMenuStyle" parent="@android:style/Widget.PopupMenu">
        <item name="android:popupBackground">@drawable/dropdown_bg</item>
       <item name="android:itemPadding">25dp</item>
       <item name="android:listPreferredItemHeightSmall">70dp</item>


    </style>

在style.xml中添加这个

<item name="android:listPreferredItemHeightSmall">35dp</item>
        <item name="android:listPreferredItemPaddingLeft">5dp</item>
        <item name="android:listPreferredItemPaddingRight">5dp</item>

我认为最好的选择是使用 meny item action layout。

app:actionLayout="@layout/my_custom_layout"

然后渗透进去