触摸目标尺寸太小

问题描述 投票:0回答:1

我目前面临一个问题,Android Studio 建议增加按钮的触摸目标大小,因为它太小。大多数在线建议建议将 minHeight 设置为“48dp”,但这样做会影响我布局的视觉设计

        <androidx.appcompat.widget.AppCompatButton
            android:id="@+id/Dinning"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_marginEnd="7dp"
            android:layout_weight="1"
            android:background="@drawable/selected_button_color"
            android:minHeight="34dp"
            android:text="Dinning"
            android:textAllCaps="false"
            android:textColor="@drawable/selected_text_color"
            android:textSize="13sp" />

我想根据我的 UI 设计将按钮的视觉高度保持在 34dp,但我还需要解决“触摸目标尺寸太小”警告。将 minHeight 增加到 48dp 对我来说不是一个选择。

有没有办法通过将 minHeight 保持在 34dp 来解决此警告而不影响视觉设计?任何建议或替代方法将不胜感激。谢谢!

更新: 我将 AppCompatButton 更改为 TextView,警告消失了。

android android-layout android-xml
1个回答
0
投票

由于它是警告,您可以忽略它,但如果您想改进它,您可以遵循此解决方案,这不会影响您的 UI,并且还删除了此警告。

如果您在此按钮上设置了

setOnClickListener
,有时会很难点击,因为触摸区域太小,可能会导致
setOnClickListener
无法触发。

要解决此问题,您可以设置

48dp
的大小并设置填充。就像如果您使用任何可绘制图像,然后将填充设置为主图像,这样您的 UI 就不会混乱,并且您可以摆脱 触摸目标尺寸太小警告

对于

Button
,我们使用
android:background
,因此填充在这里不起作用,但您可以将此解决方案用于
ImageView
TextView
和其他视图。它对您项目中的其他可点击视图是否有帮助。

<ImageView
    android:id="@+id/imgBack"
    android:layout_width="@dimen/toolbar_height"
    android:layout_height="@dimen/toolbar_height"
    android:padding="17dp"
    android:src="@drawable/ic_arrow_left" />

with padding

如果我删除填充,它会显示

without padding

因此,您也可以维护 UI 和 Touch 区域。

© www.soinside.com 2019 - 2024. All rights reserved.