如何在没有水平滚动的情况下获得适合 editText 的符号数?

How to get count of symbols which can fit editText without horizontal scrolling?

[]

我有水平滚动的 editText。如果文本在不滚动的情况下不适合 editText,我想减小文本大小。我尝试使用以下条件:

var textSize = edtResult.textSize / resources.displayMetrics.scaledDensity

    if (edtResult.width >= cardView.width && textSize > 22.0)

但 edtResult.width returns 没有滚动的宽度

所以我的问题是:

  1. 如何在不滚动当前 textSize 的情况下获取适合 editText 的符号数?
  2. 或者如何使用不适合的符号获取 editText 的宽度?

您可以尝试使用 autosize TextView 功能(如果使用 TextView,则仅适用于 API >= 26。对于较低版本,请使用 AppCompatTextView)。