actionOverflowButtonStyle和菜单距边缘的距离

时间:2017-07-05 14:33:27

标签: android android-styles overflow-menu

三点溢出菜单图标非常靠近屏幕边缘,难以触摸。我看到溢出按钮的样式可以改变(通过actionOverflowButtonStyle),但我找不到任何文档,除了图标可以改变什么。填充或边距可以调整吗?如果是这样,怎么样? actionOverflowButtonStyle下有哪些选项?我想从屏幕的右边缘按一下按钮,而不必创建一个带内置填充的新drawable。

感谢。

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题,它不仅感觉太靠近边缘,而且看起来比Material设计所显示的要近。我想出了两种解决方案:

  1. 如果对图标使用可绘制的矢量,则可以更改图标的宽度。使用“材质”图标集中的以下标准24dp图标,增加android:viewportWidthandroid:width。它们必须相等,否则图像将被拉伸/压缩。由于矢量是从其边界的左上角绘制的,因此增加宽度会在矢量路径的右侧增加空间。

    <vector xmlns:android="http://schemas.android.com/apk/res/android"
            android:height="24dp" android:tint="#FFFFFF" 
            android:viewportHeight="24.0"
            android:viewportWidth="24.0"
            android:width="24dp">
        <path android:fillColor="#FF000000" android:pathData="M12,8c1.1,0 2,-0.9 2,-2s-0.9,-2 -2,-2 -2,0.9 -2,2 0.9,2 2,2zM12,10c-1.1,0 -2,0.9 -2,2s0.9,2 2,2 2,-0.9 2,-2 -0.9,-2 -2,-2zM12,16c-1.1,0 -2,0.9 -2,2s0.9,2 2,2 2,-0.9 2,-2 -0.9,-2 -2,-2z"/>
    </vector>
    
  2. 或者,假设您的应用主题中包含以下内容:

    <item name="actionOverflowButtonStyle">@style/OverflowButton</item>
    

    您实际上可以以OverflowButton样式应用填充或边距。以下是我正在使用的:

    <style name="OverflowButton">
        <item name="srcCompat">@drawable/ic_more_vert_white_24dp</item>
        <item name="android:tintMode">src_in</item>
        <item name="android:tint">?textColorOnPrimary</item>
        <item name="android:paddingRight">8dp</item>
    </style>
    

    我更喜欢使用填充,因为填充将包含在可触摸区域中