【问题标题】:Override EditText hint when ime is in fullscreen?ime全屏时覆盖EditText提示?
【发布时间】:2026-01-14 11:25:01
【问题描述】:

当应用处于横向模式且 EditText 处于全屏模式时,我可以覆盖提示并显示不同的提示吗?

例如,我有一个 TextView(标签,比如“用户名”)和一个 EditText(输入用户名,提示“强制”)。但是,当应用程序处于横向模式并且 EditText 处于全屏模式时,提供更好的提示将是更好的用户体验 - 例如“用户名是强制性的”,以便用户知道 EditText 的用途。

EditText 中是否有检查 ime 是否全屏的方法?

[我尝试查看各种应用程序,例如 Twitter——它们要么不覆盖提示,要么只是有重复其 TextView/标签的提示。我不想做这些]

谢谢。

【问题讨论】:

    标签: android android-edittext ime


    【解决方案1】:

    我从未见过 EditText 在没有硬件键盘的设备上实现的“全屏模式”。但总的来说,我认为您可以检查焦点并相应地更改提示。缺点是如果用户使用滚轮突出显示 EditText,提示将会改变

    【讨论】:

      【解决方案2】:

      我会查看显示尺寸并确定自己是横向还是纵向。

      Display defaultDisplay = getWindowManager().getDefaultDisplay(); 
      int w = defaultDisplay.getWidth();
      int h = defaultDisplay.getHeight();
      
      if(w > h) {
          //landscape
      } else {
          //portrait
      }
      

      Display 对象上有一个方法 getRotation(),但它是从其自然方向旋转的值,根据设备,可能是横向或纵向。

      否则我不确定你所说的EditText 的全屏模式是什么意思。

      【讨论】: