使用自定义键盘中可见的候选视图重新调整 UI

2023-11-24

我正在使用自定义键盘。我在 onCreateCandidatesView() 中设置了 setCandidatesViewShown(true) 函数,问题是 UI 没有正确调整。

任何帮助将不胜感激..以下是我所做的

@Override 
public View onCreateCandidatesView() {      

    LayoutInflater li = (LayoutInflater) getApplicationContext()
            .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    View wordBar = li.inflate(R.layout.wordbar, null);
    LinearLayout ll = (LinearLayout) wordBar.findViewById(R.id.words);
    Button voiceCmd = (Button) wordBar.findViewById(R.id.voiceword);
    LinearLayout ll1 = null;
    Button voiceCmd1 = null;
    //comment this block in the event of showing only one keyboard so that we can only
    //one autocorrect bar
    if (isLargeScreen) {
        ll1 = (LinearLayout) wordBar.findViewById(R.id.words1);
        voiceCmd1 = (Button) wordBar.findViewById(R.id.voiceword1);
    }

    voiceCmd.setOnClickListener(voiceClickListener);

    mCandidateView = new CandidateView(this);
    mCandidateView.setService(this);
    setCandidatesViewShown(true);
    mCandidateView.setLayoutParams(new LayoutParams(
            LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT));

    ll.addView(mCandidateView);             

    return wordBar;

}

我有同样的问题。我在 Ced 的帖子中找到了答案here.

解决方案是将其添加到您的输入法服务中,

@Override public void onComputeInsets(InputMethodService.Insets outInsets) {
    super.onComputeInsets(outInsets);
    if (!isFullscreenMode()) {
        outInsets.contentTopInsets = outInsets.visibleTopInsets;
    }
}

候选视图故意不将应用程序向上推。来自doc,

请注意,由于候选视图往往会经常显示和隐藏,因此它不会像软输入视图那样影响应用程序 UI:它永远不会导致应用程序窗口调整大小,只会在需要时导致它们平移。用户查看当前焦点。

上面的黑客增加了“内容”区域以包括候选视图区域。该文档用于onComputeInsets将帮助您理解这个概念。

计算 UI 中有趣的插图。默认实现使用候选框架的顶部作为可见插图,使用输入框架的顶部作为内容插图。

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

使用自定义键盘中可见的候选视图重新调整 UI 的相关文章

  • 如何获取之前的碎片?

    为了在我的应用程序中重用某些片段 我需要知道哪个片段是返回堆栈上的第二个片段 为了做到这一点 我正在使用getFragmentManager getFragments 显示以下错误 但有效 FragmentManager getFragme
  • 如何强制 Eclipse 将 xml 布局和样式显示为文本?

    我最近升级到带有 ADT 20 0 3 的 Eclipse 4 2 Juno 如果我查看旧项目中的布局或样式 Eclipse 只会向我显示其适当的基于控件的编辑器 我想编辑语法突出显示的 xml 文本 我没有找到将插件的编辑器切换到此模式的
  • Android 在打开应用程序时会广播吗?

    例如 如果我想知道Youtube何时打开 是否有与之相关的广播 我当然知道我可以轮询 logcat 消息来检查活动 但我可以通过广播来做到这一点吗 因为它会少得多的耗电 此链接似乎表明这是不可能的 如何跟踪 Android 中的应用程序使用
  • 如何使用Android opencv使图像的白色部分透明

    我无法链接超过 2 个网址 因此我将我的照片发布到此博客 请在这里查看我的问题 http blog naver com mail1001 220650041897 http blog naver com mail1001 220650041
  • ffmpeg视频已压缩但无法在浏览器中播放

    我已经集成了ffmpeg4android lib 视频压缩工作正常 但视频无法在除 safari 浏览器之外的浏览器中播放 上传到服务器后 我使用了以下命令 ffmpeg y i
  • 播放 SoundCloud 曲目

    我可以在 Android 应用程序中播放 SoundCloud 中的曲目吗 我正在尝试这段代码 但它不起作用 String res https api soundcloud com tracks 84973999 stream client
  • 如何在React Native Android中获取响应头?

    您好 我想在获取 POST 请求后获取响应标头 我尝试调试看看里面有什么response with console log response 我可以从以下位置获取响应机构responseData但我不知道如何获取标题 我想同时获得标题和正文
  • Android在排序列表时忽略大小写

    我有一个名为路径的列表 我目前正在使用以下代码对字符串进行排序 java util Collections sort path 这工作正常 它对我的 列表进行排序 但是它以不同的方式处理第一个字母的情况 即它用大写字母对列表进行排序 然后用
  • 如何为发布而不是调试创建密钥库?扑

    我按照使用此网站部署 flutter 的步骤进行操作https flutter io android release https flutter io android release 当我运行 flutter build apk 时出现此错
  • Android 服务是否有办法检测设备何时锁定?

    我有一个 Android 服务 我希望在设备锁定时执行操作 我想澄清一下 我对屏幕开 关状态不感兴趣 我知道如何使用带有 Intent ACTION USER PRESENT 和 KeyguardManager inKeyguardRest
  • 放置在 NavigationDrawer 顶部的片段

    我正在尝试添加一个PreferenceFragment在我的应用程序中 问题是 它自动放置在我的顶部NavigationDrawer public class SetPreferenceActivity extends Activity O
  • 菜单在片段的 onCreateOptionsMenu 处多次膨胀调用

    我使用 Fragments 当我切换到嵌套 Fragment 时 它实现了public void onCreateOptionsMenu Menu menu MenuInflater inflater 当我到达该嵌套片段时 我的菜单会多次膨
  • 将 Firebase 云消息传递与 Windows 应用程序结合使用

    我在 Android 和 iOS 应用程序中使用 Firebase Cloud Messaging 但是我还有此应用程序的 Windows Mac OS 版本 我想保留相同的逻辑 我知道 Firebase Cloud Messaging 可
  • 使用 SQLITE 按最近的纬度和经度坐标排序

    我必须获得一个 SQLite SQL 语句 以便在给定初始位置的情况下按最近的纬度和经度坐标进行排序 这是我在 sqlite 数据库中的表的例句 SELECT id name lat lng FROM items EXAMPLE RESUL
  • HERE 地图:更改路线已行驶部分的颜色

    导航时可以改变路线的颜色吗 具体来说 我希望路线中已行驶的部分的颜色与即将行驶的部分的颜色不同 现在都是同一个颜色 将 MapRoute 对象的 TravelColor 变量设置为透明对我来说很有效 mapRoute color Resou
  • 有关 ListView 自定义行布局项目上的 onClick() 事件的帮助

    我有一个 ListView 其行由我格式化 每行都有 ImageView 和 TextView 的混合 我还实现了自己的适配器 并且能够通过它绘制每一行 现在 我想要这样的东西 用户单击 ImageView 不是行上的其他任何位置 但只有此
  • Android 中循环事件的星期几和时间选择器

    我想创建一个控件 允许用户在我的 Android 活动中选择一周中的某一天 星期一 和一天中的某个时间 下午 1 00 找不到任何关于此的好帖子 好吧 我想我已经明白了 我只是不喜欢这个解决方案 因为我在一周中的某一天使用的微调器与时间选择
  • 尝试将 SQLite DB 从数据复制到 SD 卡

    我正在使用以下代码 该代码发布在 Stack Overflow 上的某个位置 并根据我的目的进行了修改 try File sd Environment getExternalStorageDirectory File data Enviro
  • 单元测试时 Android Studio 2.0 中测试状态终止且没有任何失败消息

    Issue 我昨天在 Ubuntu 上从 1 5 升级到了 Android Studio 2 0 当我在 Android Studio 2 0 中进行单元测试时 即使所有测试都已通过 它也会显示 终止测试 状态 有时它只显示部分测试通过 我
  • Android 中带有组的列表视图

    我有一个列表视图 每行都有一些日期和文本 我可以像 iPhone 中那样将这个 listView 分组 组之间有标题吗 在 android 中是否可能 请帮忙 即 我需要在 Listview 行之间有标题栏 以便如果我使用日期对其进行分组

随机推荐

  • 将包含多个数字的字符串转换为整数

    我意识到这个问题过去可能已经被问过好几次了 但无论如何我都会继续 我有一个程序将从键盘输入中获取一串数字 数字将始终采用 66 33 9 的形式 本质上 每个数字都用空格分隔 并且用户输入将始终包含不同数量的数字 我知道如果每个用户输入的字
  • 在 Firefox 中将焦点设置为 iframe 主体/内容?

    我有一个 iram 它具有隐藏的可见性 我单击按钮 iframe 将可见 我想关注其正文 内容 因为现在我必须单击按钮 然后进入 iframe 所以只需单击两次 我想一键完成 但不知道如何在 Firefox 中聚焦 在资源管理器中就可以了
  • iOS7新更新V 7.1(11D167)不兼容Xcode 5进行开发

    我收到IOS7新版本V7 1的通知 我已经安装在我的 iPhone 4S 上 由于我是开发人员 所以在 Xcode 5 SDK 的开发模式下未检测到我的 iPhone 4S 当我在 Xcode 中打开管理器时 表明 此 iOS SDK 安装
  • 神秘的 Rails 错误几乎没有痕迹

    我们的一个爬虫遇到了一个奇怪的问题 有时它会抛出一个Rails FATAL某些请求出错 但跟踪非常有限 看起来像这样 2014 07 01 18 16 37 FATAL Rails ArgumentError invalid encodin
  • python 字典中长(str)键的效率

    我正在解析一些 xml 使用一些 python 3 4 代码 并希望检索节点中的文本及其 id 属性 例子 li Some text here li 我当前的代码仅围绕文本构建 我现在添加 id 但之前不需要 我正在循环浏览文本 句子列表
  • 为什么 Apache 在 XAMPP 安装中无法启动?

    我已经迈出了学习 PHP 的第一步 认为这将是朝着正确方向迈出的良好一步 不过 我需要一些有关安装 XAMPP 的帮助 我已经通过 Apache Friends 站点下载了该文件和所有内容 但是当我前往控制面板时 我收到了许多错误 这就是它
  • Python scapy 导入错误

    如果我在 python 源文件中包含以下行 from scapy all import 我收到这个错误 from scapy all import ImportError No module named all 这在 Console 和 I
  • 使用点路径键字符串访问 Ruby 哈希

    Rails I18n 库将 YAML 文件转换为可使用 t 函数通过点路径调用访问的数据结构 t one two three four 有谁知道如何使用 Ruby Hash 来做到这一点 或者只能直接通过 YAML 对象实现 只需在路径中的
  • MOV AX,CS 和 MOV DS,AX 的概念

    谁能解释一下这三个指令的功能吗 ORG 1000H MOV AX CS MOV DS AX 理论上我知道代码 数据和额外的段是什么 但是 它们在这个程序中是如何实现的 为什么整个段被移到另一个段中 MOV AX CS and MOV DS
  • 为什么识别 XOR 运算符的反向传播神经网络需要偏置神经元?

    我发布了一个question昨天关于我的 XOR 运算符的反向传播神经网络遇到的问题 我做了更多的工作 意识到这可能与没有偏置神经元有关 我的问题是 偏置神经元的一般作用是什么 它在识别 XOR 运算符的反向传播神经网络中的作用是什么 是否
  • nginx 上游代理的后备

    我在图像服务器集群前面有一个 nginx 实例 upstream img farm 1 server 10 0 1 1 server 10 0 1 2 server 10 0 1 3 server 10 0 1 4 etc location
  • 模块模式-如何将一个模块的代码拆分到不同的js文件中?

    对于模块模式 我正在做类似的事情 function namespace tons of code blabla window myGlobalNamespace 如何拆分代码 我可以想到几种方法 例如使用命名空间的层次结构 或者通过以下方式
  • 对数据帧的成对行进行操作

    我在 R 中有一个数据框 我想对所有行对执行计算 有没有比使用嵌套 for 循环更简单的方法 为了使这一点具体化 考虑一个包含十行的数据框 我想计算所有 45 个可能的对之间的分数差 gt data frame ID 1 10 Score
  • Visual Studio 是否可以默认折叠摘要部分

    Visual Studio 是否可以默认折叠方法和类的摘要部分 或者是否有一个命令可以折叠所有摘要部分而不折叠方法本身 我在下面提供了一个摘要部分的示例 Collapsed example Expanded Example 您将必须使用宏
  • Android 蓝牙 - 无法连接

    我正在开发一个使用蓝牙连接到设备并发送 接收数据的应用程序 我正在使用 Nexus One 手机进行所有测试 我从未能够建立从我的手机到任何设备的 SPP 串行端口 连接 但是 我have能够使用相当于 PuTTY 的 Mac 从设备 我的
  • 如何获得有关 antlr4-maven-plugin 的帮助

    antlr4 maven plugin 似乎不是 Antlr4 网站上的文档 这可能不会给你带来任何好处 就像对我一样 尝试这个 mvn org antlr antlr4 maven plugin help Ddetail true 生产
  • 跨 Java 和 Javascript 模板语言?

    似乎有很多 Java 模板语言 例如 JSP JSTL Freemarker Velocity 等 和 Javascript 模板语言 例如 Mustache Ext 的 XTemplate Jquery 模板等 但是是否有一种模板语言具有
  • 绘制圆锥时断开的曲面

    我想用 python 绘制曲面 z 1 x y 和 4z x y 我写了这段代码 from mpl toolkits mplot3d import axes3d import matplotlib pyplot as plt import
  • 如何在打印从文件读取的行时跳过额外的换行符?

    我正在从 stdin 读取 python 程序的输入 我已将一个文件对象分配给 stdin 输入的行数事先是未知的 有时程序可能只有 1 行 100 行 甚至根本没有行 import sys sys stdin open Input txt
  • 使用自定义键盘中可见的候选视图重新调整 UI

    我正在使用自定义键盘 我在 onCreateCandidatesView 中设置了 setCandidatesViewShown true 函数 问题是 UI 没有正确调整 任何帮助将不胜感激 以下是我所做的 Override public