有没有办法判断是否显示软键盘?

2023-12-27

有没有办法判断软键盘是否显示在活动中?

I tried

InputMethodManager manager = (InputMethodManager) 
getSystemService(getApplicationContext().INPUT_METHOD_SERVICE);
manager.isActive(v)

but isActive仅在第一次显示键盘之前返回 false,但如果 kb 出现然后消失,isActive也返回 true。

那么有没有其他方法来检查这个问题。

thanks


根据这个POST http://groups.google.com/group/android-developers/browse_thread/thread/1c3291f15ed9c044/479f6233b27c5e30?pli=1

你无法检测到软键盘是否显示,但你可以通过知道软键盘是否显示来间接知道软键盘是否显示。View您的活动的大小已调整。

想象一下你有一个ListView并在底部EditText,您希望在用户单击 EditText 后显示软键盘时转到列表底部。

你需要实现一个子类ListView,然后在你的ListActivity or Activity or View.

public class ThreadView extends ListView {

    public ThreadView(Context context, AttributeSet attributeSet) {
        super(context, attributeSet);
    }

    @Override
    protected void onSizeChanged(int xNew, int yNew, int xOld, int yOld) {
        super.onSizeChanged(xNew, yNew, xOld, yOld);

        if (yOld > yNew) {
            setSelection(((ListAdapter) getAdapter()).getCount() - 1);
        }
    }
}

希望这可以帮助

附言。 “检查配置更改”仅适用于手键盘。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

有没有办法判断是否显示软键盘? 的相关文章

  • Android 4.4.2 - java.lang.RuntimeException:执行未恢复的活动停止

    我在 4 4 2 设备上遇到此异常 在 Android 4 3 或更低版本的设备上无法重现 设置是我有一个家庭活动 支持的子类ActionBarActivity 家庭活动检查布尔标志 如果为真 则启动启动画面活动 是的 理想情况下启动画面出
  • 单击弹出菜单时为什么导航栏出现在全屏应用程序中

    我有一个全屏应用程序 MainActivity java public class MainActivity extends AppCompatActivity TargetApi Build VERSION CODES KITKAT pr
  • Android 上有哪些字体可用? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我知道安卓有一个字体集合 http www ascenderfonts com store search
  • Firebase 数据库快速入门处理计数的方式安全吗?

    我想为文章点赞创建一个增量字段 我指的是这个链接 https firebase google com docs database android save data save data as transactions https fireb
  • android webview 函数 onPagefinished 被调用两次

    我的android webview功能onPageFinished被调用两次 我不知道为什么 但它在 android 2 2 上运行良好 但当我将其升级到 4 时 它就不起作用了 代码附在下面 Code Override public vo
  • 如何从 Retrofit2 获取字符串响应?

    我正在做 android 正在寻找一种方法来执行超级基本的 http GET POST 请求 我不断收到错误 java lang IllegalArgumentException Unable to create converter for
  • Android:应用内计费V3超时返回哪个响应码?

    出现网络超时情况时 Google Play 应用内结算服务 ice er V3 将返回哪些响应状态代码 它的所有功能都是统一的吗 我将在这里描述我的发现 我通过拔掉主机插头 在安装了全功能 GP GP Store V3 10 10 GP S
  • 应用内结算错误

    我的 UNMANAGED 应用内购买无法正常工作 在它完美运行之前 我可以使用测试帐户成功购买 但它突然不起作用了 因为我记得我对商家帐户所做的只是添加更多 2 4 个测试帐户 添加后 我的应用内购买将不起作用 所以我更新了公钥并上传了一个
  • Android Studio更新到1.5后Gradle错误

    今天我已将 Android Studio 更新到 v1 5 我的 libgdx 项目在这次更新之前运行良好 现在我收到此错误消息 Error Unable to load class org gradle mvn3 org sonatype
  • 如何防止布局的方向改变,而不是整个屏幕/活动的方向改变

    我需要一个子布局 可以是任何布局 例如FrameLayout or RelativeLayout 忽略方向变化并始终保持横向 但不是它的父级或任何其他兄弟布局 视图 它们应该相应地改变它们的方向 因此 我不能使用setRequestedOr
  • 如何持续更新MPAndroidChart中的Y轴值

    我希望 LineChart 中的轴能够实时调整其最大值和最小值 当新数据的 Y 值增加 正值和负值 时 像 ResetAxisMaxValue 和 ResetAxisMinValue 这样的函数可以很好地工作 但是 一旦信号再次变低 Y 值
  • 以编程方式将 TextView 添加到主屏幕小部件

    我想以编程方式将文本视图控件添加到我的主屏幕小部件 在下面的示例中 我使用 TextView 填充 Linearlayout 但是这里应该如何使用 RemoteView 它只接受 xml 资源布局作为参数 public class MyWi
  • 如何在进入新活动之前终止线程和处理程序

    大家好 在我尝试清理处理程序时 这段代码可能有点混乱 因为我一直在尝试追踪崩溃发生的位置 我有一个对话框活动 显示密码输入 进度条由线程和处理程序动画显示 似乎当我试图查看进度条是否完成并尝试终止线程时 当我尝试进入新活动时 我这样做的方式
  • 无法获取 Facebook 传入请求

    我正在尝试在我的 Facebook android 游戏应用程序中实现发送数据并接受该数据 我正在关注https developers facebook com docs android send requests notification
  • Android Studio 将音乐文件读取为文本文件,如何恢复它?

    gameAlert mp3是我的声音文件 运行应用程序时 它询问我该文件不与任何文件类型关联 请定义关联 我选择TextFile错误地 现在我的音乐文件被读取为文本文件 我如何将其转换回music file protected void o
  • 在Android Studio中更改项目主题?

    我使用浅色主题创建了一些项目 现在我想将其更改为深色 但我不知道该怎么做 顺便说一句 我不是问如何在代码中做到这一点 只是问如何更改项目的默认主题 在 AndroidManifest xml 的 application 标签下 您可以设置您
  • onBackPressed 隐藏 不破坏 Activity

    我知道如何取消后退按键 以便活动 主窗口保持可见 public void onBackPressed return 我的目标是隐藏该活动 但是 在没有完成它的情况下 您如何在 onBackPressed 事件中做到这一点 即我想达到 onP
  • Nexus 7 (2013) 和 Win 7 64 - 尽管检查了许多论坛和在线资源,仍无法安装 USB 驱动程序

    我正在尝试设置 Nexus 7 2013 进行调试 但我在安装 USB 驱动程序的步骤中陷入困境 到目前为止 这是我尝试过的 采取的步骤 在 Nexus 7 2013 上打开调试模式 连接设备至 PC 下载 Google USB 驱动程序于
  • 在 Honeycomb Android 3.0 中显示 Action Bar 菜单项的图标

    我正在使用 Honeycomb android 3 0 开发 Android 应用程序 我正在尝试在 Action Bar 中显示菜单 菜单有一个图标和标题 当我们单击菜单项时 它会以下拉列表的形式显示其项目 它是下拉列表中带有项目名称但不
  • Android ScrollView fillViewport 不工作

    我有一个简单的布局 名称位于顶部 按钮位于屏幕底部 或者超出该按钮 以防我添加更多项目 所以我使用带有 LinearLayout 的 ScrollView 如下所示

随机推荐

  • 使用表达式树的 Foreach 循环

    我见过这个构建动态表达式树时出现问题 https stackoverflow com questions 3646283 issue while building dynamic expression tree and 表达式 语句树 ht
  • OutOfMemoryException - 没有想法

    我知道我的问题没有简单的答案 但我希望得到一些想法 指南或 某种要看的东西清单 我有一个网络 Windows 服务不断抛出 OutOfMemoryException 该服务有两个针对 x86 和 x64 Windows 的版本 然而在 x6
  • C# 中 Bmp 转 jpg/png

    有没有办法在 C 中将 bmp 图像转换为 jpg png 而不损失质量 使用 Image 类我们可以将 bmp 转换为 jpg 但输出图像的质量很差 我们能否获得与使用最高质量的 Photoshop 转换为 jpg 的图像一样好的质量水平
  • 如何在netbeans中创建gradle多项目?

    我是 gradle 新手 正在尝试在 netbeans 中创建一个目录布局 myproject ear build gradle core build gradle web build gradle include core project
  • 了解 scikit-learn 中的 DictVectorizer?

    我正在探索不同的特征提取类scikit learn提供 正在阅读文档 http scikit learn org stable modules generated sklearn feature extraction DictVectori
  • 发光问题,未解决的外部问题

    我想开始使用 OpenGL 3 和 4 但我在让 Glew 工作时遇到问题 我尝试将 glew32 lib 包含在附加依赖项中 并且已将库和 dll 移动到主文件夹中 因此不应该有任何路径问题 我收到的错误是 Error 5 error L
  • PHP 7.x 使用 MAMP 与 MSSQL 服务器连接

    我正在尝试通过 MAMP 将 mssql 服务器连接到 PHP 7 0 8 我尝试过使用 freetds 在一些博客上人们说使用pdo dblib so扩展 但它不起作用 请指导我完成连接过程 对于仍然遇到此问题的人 Application
  • 使 sympy 表达式中的所有符号可交换

    假设 sympy 表达式中有许多非交换符号 例如 a c sympy symbols a c commutative False b sympy Symbol b expr a c b c 使表达式中的所有符号可交换的首选方式是什么 例如
  • 使用 lambda 作为函数指针时,模板参数推导/替换失败

    我想知道为什么在下面的代码中编译器无法使用 lambda 作为函数 foo 的参数 模板参数推导 替换失败 而一个简单的函数却可以工作 template
  • Datomic 中的 SQL LIKE 运算符

    我想运行一个 sql 查询 给定一个搜索关键字 将找到所有用户 其中他们的名字与该模式匹配 即在原始 SQL 中类似WHERE users name LIKE foo 我该怎么做呢 查询的当前结构 gt defn find users db
  • 传单用户触发事件

    有什么方法可以确定事件是通过编程方式触发还是由用户触发 我们希望在地图移动或缩放时重新加载标记列表 但我们最初使用以下命令设置地图的边界setBounds http leafletjs com reference html rectangl
  • 使用 plyr 将参数传递给 R 函数

    我无法解决一个问题 想写一个这样的函数 f describe lt function data var by require plyr res lt ddply data by summarize N sum is na var Mean
  • 如何在react-native android应用程序中显示GIF?

    我想通过我的 android 反应本机应用程序中的图像标签中的 URL 显示一个简单的 gif 但是当我启动它时 没有显示图像 中提供的代码docs https facebook github io react native docs im
  • 在屏障实现中将代码从顺序一致性更改为不太严格的排序

    我遇到了这段代码 用于简单地实现屏障 对于无法使用的代码std experimental barrier在 C 17 中或std barrier在 C 20 中 在 C Concurrency in Action 一书中 编辑 屏障是一种同
  • 我们如何在azure应用程序洞察中显示数据库查询

    我们的应用程序正在使用天蓝色的应用程序见解 我读到的是 使用应用程序洞察端到端跟踪 我们甚至可以获得在数据库中执行的查询以及该查询花费了多少时间 但如屏幕截图所示 Azure App Insights 显示有 3 个对数据库的调用 但不是这
  • 将每个分隔符的值拆分为单独的行 - 批处理

    我正在尝试使用 delimiter 将 csv 文件的值拆分为单独的行 作为拆分点 IE csv file video1 video2 video3 video4 video5 video6 Preferred output video1
  • 获取 Twitter 请求令牌失败

    我按照以下说明进行操作http dev twitter com pages auth request token http dev twitter com pages auth request token 并开发了一个c 类来进行OAuth
  • 如何取消Java 8的完整未来?

    我正在玩 Java 8 completable futures 我有以下代码 CountDownLatch waitLatch new CountDownLatch 1 CompletableFuture
  • redshift - 如何插入表生成的时间序列

    我正在尝试在 Redshift 中生成时间序列并插入表中 但没有成功 到目前为止我已经尝试过 insert into date dateid date SELECT to char datum YYYYMMDD int AS dateid
  • 有没有办法判断是否显示软键盘?

    有没有办法判断软键盘是否显示在活动中 I tried InputMethodManager manager InputMethodManager getSystemService getApplicationContext INPUT ME