三点溢出菜单图标非常靠近屏幕边缘,难以触摸。我看到溢出按钮的样式可以改变(通过actionOverflowButtonStyle),但我找不到任何文档,除了图标可以改变什么。填充或边距可以调整吗?如果是这样,怎么样? actionOverflowButtonStyle下有哪些选项?我想从屏幕的右边缘按一下按钮,而不必创建一个带内置填充的新drawable。
感谢。
答案 0 :(得分:0)
我遇到了同样的问题,它不仅感觉太靠近边缘,而且看起来比Material设计所显示的要近。我想出了两种解决方案:
如果对图标使用可绘制的矢量,则可以更改图标的宽度。使用“材质”图标集中的以下标准24dp图标,增加android:viewportWidth
和android: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>
或者,假设您的应用主题中包含以下内容:
<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>
我更喜欢使用填充,因为填充将包含在可触摸区域中