我一直在寻找为我的应用程序创建自定义键盘。起初,我开始查看 SDK 示例的 SoftKeyboard,但阅读 Android 开发人员组后,我看到了这篇文章:
This is really not how the input method framework is supposed to work. An IME should be a generic input facility, not for a particular application. If you need some app-specific input, you should build it into your UI rather than pushing it out to a generic IME.
如何在 UI 中构建特定于应用的输入?我的意思是,有没有办法扩展 Keyboard 应用程序或其他东西并仅在我的应用程序中使用它?
PS:例如,一个丑陋的解决方案可能是制作一个 ImageButton 表格,但我想制作一些干净的东西。
最佳答案
我不确定是否有直接的解决方案(在某种程度上,甚至可以理解原始问题背后的真正原因)。
正如原始问题中引用的那样:
If you need some app-specific input, you should build it into your UI rather than pushing it out to a generic IME.
这是什么意思,不您应该在您的应用程序中尝试通过扩展或修改手机上的软键盘来构建此类输入功能。 so 有很多不同的软键盘(基本上,软键盘只是另一个应用程序),因为大多数手机制造商都会创建自己的版本,并且人们会下载 3rd 方键盘(例如 Swype 或 SwiftKey 等)。 ),而且我无法想象有一种方法可以让您“破解”这些按钮以添加一些按钮或您想要的任何东西(这也可能是一个主要的安全漏洞,这可能是不可能的另一个原因)。
上面引用的建议是,除了键盘之外,您还必须创建一些其他形式的输入。 RealCalc Scientific Calculator 的外观就是这样一个例子,如果我可以补充的话,也是一个非常好的例子:
现在这不是开源的,所以我只能猜测代码的样子(但也不应该太难猜测):在最简单的形式中,这只是一个包含大量 buttons 的网格。每个按钮都处理 onClick 事件,这意味着执行某种操作(更改其他按钮上的标签、显示菜单、在上部标签中显示一些文本或其他),这可能就是它的意义所在。当然,手机的软键盘永远不会显示(因为您不需要带有所有这些按钮的键盘(而且也没有任何输入字段可以输入任何内容)。 这一切都归结为已经提到的报价:如果您需要一些特定于应用程序的输入,您应该将其构建到您的 UI 中。或者换句话说:创建按钮(如果你不需要它,不要显示软键盘)并在你点击它们时让事情发生。 顺便提一下:如果您确实想要创建自己的输入法(我坚信不是这里的情况),您应该看看在以下资源:
关于android - 自定义 'Keyboard' 内置在 Android 上的应用程序中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1858950/
我正在尝试设置一个puppet节点,但rubygems似乎不正常。如果我通过它自己的二进制文件(/usr/lib/ruby/gems/1.8/gems/facter-1.5.8/bin/facter)在cli上运行facter,它工作正常,但如果我通过由rubygems(/usr/bin/facter)安装的二进制文件,它抛出:/usr/lib/ruby/1.8/facter/uptime.rb:11:undefinedmethod`get_uptime'forFacter::Util::Uptime:Module(NoMethodError)from/usr/lib/ruby
我正在尝试测试是否存在表单。我是Rails新手。我的new.html.erb_spec.rb文件的内容是:require'spec_helper'describe"messages/new.html.erb"doit"shouldrendertheform"dorender'/messages/new.html.erb'reponse.shouldhave_form_putting_to(@message)with_submit_buttonendendView本身,new.html.erb,有代码:当我运行rspec时,它失败了:1)messages/new.html.erbshou
我在我的项目目录中完成了compasscreate.和compassinitrails。几个问题:我已将我的.sass文件放在public/stylesheets中。这是放置它们的正确位置吗?当我运行compasswatch时,它不会自动编译这些.sass文件。我必须手动指定文件:compasswatchpublic/stylesheets/myfile.sass等。如何让它自动运行?文件ie.css、print.css和screen.css已放在stylesheets/compiled。如何在编译后不让它们重新出现的情况下删除它们?我自己编译的.sass文件编译成compiled/t
我在我的项目中添加了一个系统来重置用户密码并通过电子邮件将密码发送给他,以防他忘记密码。昨天它运行良好(当我实现它时)。当我今天尝试启动服务器时,出现以下错误。=>BootingWEBrick=>Rails3.2.1applicationstartingindevelopmentonhttp://0.0.0.0:3000=>Callwith-dtodetach=>Ctrl-CtoshutdownserverExiting/Users/vinayshenoy/.rvm/gems/ruby-1.9.3-p0/gems/actionmailer-3.2.1/lib/action_mailer
我构建了两个需要相互通信和发送文件的Rails应用程序。例如,一个Rails应用程序会发送请求以查看其他应用程序数据库中的表。然后另一个应用程序将呈现该表的json并将其发回。我还希望一个应用程序将存储在其公共(public)目录中的文本文件发送到另一个应用程序的公共(public)目录。我从来没有做过这样的事情,所以我什至不知道从哪里开始。任何帮助,将不胜感激。谢谢! 最佳答案 无论Rails是什么,几乎所有Web应用程序都有您的要求,大多数现代Web应用程序都需要相互通信。但是有一个小小的理解需要你坚持下去,网站不应直接访问彼此
我尝试运行2.x应用程序。我使用rvm并为此应用程序设置其他版本的ruby:$rvmuseree-1.8.7-head我尝试运行服务器,然后出现很多错误:$script/serverNOTE:Gem.source_indexisdeprecated,useSpecification.Itwillberemovedonorafter2011-11-01.Gem.source_indexcalledfrom/Users/serg/rails_projects_terminal/work_proj/spohelp/config/../vendor/rails/railties/lib/r
在MRIRuby中我可以这样做:deftransferinternal_server=self.init_serverpid=forkdointernal_server.runend#Maketheserverprocessrunindependently.Process.detach(pid)internal_client=self.init_client#Dootherstuffwithconnectingtointernal_server...internal_client.post('somedata')ensure#KillserverProcess.kill('KILL',
刚入门rails,开始慢慢理解。有人可以解释或给我一些关于在application_controller中编码的好处或时间和原因的想法吗?有哪些用例。您如何为Rails应用程序使用应用程序Controller?我不想在那里放太多代码,因为据我了解,每个请求都会调用此Controller。这是真的? 最佳答案 ApplicationController实际上是您应用程序中的每个其他Controller都将从中继承的类(尽管这不是强制性的)。我同意不要用太多代码弄乱它并保持干净整洁的态度,尽管在某些情况下ApplicationContr
我想向我的Controller传递一个参数,它是一个简单的复选框,但我不知道如何在模型的form_for中引入它,这是我的观点:{:id=>'go_finance'}do|f|%>Transferirde:para:Entrada:"input",:placeholder=>"Quantofoiganho?"%>Saída:"output",:placeholder=>"Quantofoigasto?"%>Nota:我想做一个额外的复选框,但我该怎么做,模型中没有一个对象,而是一个要检查的对象,以便在Controller中创建一个ifelse,如果没有检查,请帮助我,非常感谢,谢谢
我已经从我的命令行中获得了一切,所以我可以运行rubymyfile并且它可以正常工作。但是当我尝试从sublime中运行它时,我得到了undefinedmethod`require_relative'formain:Object有人知道我的sublime设置中缺少什么吗?我正在使用OSX并安装了rvm。 最佳答案 或者,您可以只使用“require”,它应该可以正常工作。我认为“require_relative”仅适用于ruby1.9+ 关于ruby-主要:Objectwhenrun