You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android Studio中EditText报Touch target size too small错误的解决方法

修复EditText触摸目标过小的问题

这个错误提示是因为Android无障碍设计规范要求所有可交互组件的触摸目标尺寸至少为48x48dp,你的titletxt EditText当前使用wrap_content作为宽高,导致实际可触摸区域达不到标准,触发了这个警告/错误。

修复方案:

方案1:直接调整EditText的尺寸

修改EditText的宽高属性,确保触摸区域达标,同时优化布局合理性:

<EditText
    android:id="@+id/titletxt"
    android:layout_width="match_parent"
    android:layout_height="48dp"
    android:minWidth="48dp"
    android:layout_marginTop="24dp"
    android:hint="Enter Information"
    android:paddingHorizontal="16dp"
    android:paddingVertical="8dp" />
  • 把layout_width设为match_parent让输入框铺满屏幕宽度,更符合用户使用习惯
  • 固定layout_height为48dp,直接满足触摸目标高度要求
  • 添加内边距避免文字贴边,提升视觉体验

方案2:通过父容器扩展触摸区域(不改变EditText本身尺寸)

如果不想调整EditText的显示尺寸,可以给它套一个父布局,让父布局承担触摸目标的尺寸要求:

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="48dp"
    android:layout_marginTop="24dp"
    android:gravity="center_vertical">
    <EditText
        android:id="@+id/titletxt"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:hint="Enter Information"
        android:paddingHorizontal="16dp" />
</LinearLayout>

父布局的48dp高度会作为触摸区域,EditText居中显示,既保留原有尺寸,又满足触摸目标要求。

额外优化提示:

你的布局存在无效属性:LinearLayout是ConstraintLayout的子View,但EditText和Button里的app:layout_constraintXXX属性只对ConstraintLayout的直接子View生效,在LinearLayout内部这些属性毫无作用,建议删除这些无效约束,改用LinearLayout的布局属性(比如layout_gravity、layout_weight等)来控制组件位置。

内容的提问来源于stack exchange,提问作者Malo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 09:22:02