为什么属性 maxWidth 不适用于 EditText?

Why does attribute maxWidth not work for EditText?

看来maxWidth对EditText没有影响。任何人都可以对此有所了解吗?

<EditText
    android:id="@+id/editTextFoo"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:autofillHints="port"
    android:ems="10"
    android:maxWidth="100dp"
    tools:targetApi="o" />

以上代码产生以下结果:

如果我设置 layout_width="100dp" 如下:

<EditText
    android:id="@+id/editTextFoo"
    android:layout_width="100dp"
    android:layout_height="wrap_content"
    android:autofillHints="port"
    android:ems="10"
    android:maxWidth="100dp"
    tools:targetApi="o" />

宽度正确:

是的,我刚刚检查了 IDE,这是因为 ems="10" 阻止视图保持最大宽度 100dp。显然 10 的 em 需要更大的宽度,因此它覆盖了 maxWidth 属性。

使用 minWidth 代替 ems 以防止视图缩小。

或者,您可以使用 maxEmsminEms