0

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

谢谢。

4

1 回答 1

0

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

  1. 如果您使用矢量可绘制图标,则可以更改图标的宽度。使用 Material 图标集中的以下标准 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>
    

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

于 2018-11-27T05:28:20.183 回答