我有一个移动网站,它通过位置固定在屏幕底部的div.一切都在iOS 5中正常工作(我在iPod Touch上测试),直到我在一个带有表单的页面上.当我点击输入字段并出现虚拟键盘时,我的div的固定位置突然丢失.只要键盘可见,div就会随页面滚动.单击完成以关闭键盘后,div将恢复到屏幕底部的位置并遵循位置:固定规则.
有没有其他人经历过这种行为?这是预期的吗?谢谢.
我有一个Activity带EditText,一个按钮和一个ListView.目的是在中键入搜索屏幕EditText,按下按钮并使搜索结果填充此列表.
这一切都很完美,但虚拟键盘表现得很奇怪.
如果我点击EditText,我会得到虚拟键盘.如果我单击虚拟键盘上的"完成"按钮,它就会消失.但是,如果在单击虚拟键盘上的"完成"之前单击我的搜索按钮,则虚拟键盘会停留,我无法摆脱它.单击"完成"按钮不会关闭键盘.它将"完成"按钮从"完成"更改为箭头并保持可见.
谢谢你的帮助
我有一个ListView地方,我在一个单独的XML文件中定义了每个项目的布局.在这个文件中,我包含了一个RatingBar和一个EditText.
我已经以编程方式创建了7-8个项目ListView.当我滚动它们时,它似乎是非常错误的.这里有些例子:
如果我将焦点设置到EditText第一行然后向下滚动,则其他行中的ListView随机EditTexts将具有焦点.似乎是EditText在焦点消失后的下一个消失得到了焦点.也许这是故意的,但是,作为一个用户,它似乎很奇怪.
如果我将焦点设置为a EditText,接收虚拟键盘,键入内容,然后单击虚拟键盘上的"完成"按钮,EditText一旦虚拟键盘消失,它将清空.
有时,当我点击一个EditText,接收一个虚拟键盘并开始输入字母时,一旦我输入它们,这些字母就会消失.
当我点击一个EditText,虚拟键盘显示自己,但EditText失去焦点,我必须EditText再次点击.
尽管我已经设置了RatingBar到focusable="false",如果我将我的滚轮,它仍然抓住重点.
我的一个问题是,当我在虚拟键盘中键入一个字符时,所有可见的列表项都会重新绘制(并且由于文本EditText被设置为某些数据,这是空的,它会被清除.我不明白为什么Android会每次键入一个字符时都决定重新绘制列表.
这是我用来绘制它们的XML.它们是白色气泡,带有灰色边框,还有一些文字,一个RatingBar和一个EditText内部:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:paddingTop="10dip"
android:paddingBottom="10dip"
android:paddingLeft="15dip"
android:paddingRight="15dip"
>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:padding="2dip"
android:background="@drawable/shape_outer">
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:padding="2dip"
android:background="@drawable/shape_inner">
<TextView
android:id="@+id/rating_category"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/dark_gray"
android:textStyle="bold"
android:layout_marginBottom="10dip" />
<RatingBar …Run Code Online (Sandbox Code Playgroud) 我不明白为什么这段代码不起作用.仅检测到退格键和返回键.监听器不会触发任何其他密钥.我的设备是Nexus One.
我试图覆盖活动的OnKeyDown方法,这更糟糕.唯一检测到的按钮是硬件后退按钮.
我看到有关使用TextWatcher和onTextChanged的建议,虽然这可能在某些情况下有用,但这不是真正的解决方法.例如,如果文本框为空,则不会检测用户是否按BackSpace(删除)按钮.那么任何想法?
TextView txtInput = (TextView)findViewById(R.id.txtInput);
txtInput.setOnKeyListener(new View.OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
makeToast(keyCode + " key pressed");
return true;
}
});
Run Code Online (Sandbox Code Playgroud) 我正在尝试为iOS 7重新编译一个应用程序,因为到目前为止还没有任何旧的应用程序.许多问题之一是我在UIWebViews中使用了一些输入.文字输入,拣货员等
现在,当iOS 7闪亮的白色键盘出现时,网页中的所有底部固定元素(例如,确认按钮)都向上滚动,就像虚拟键盘的"顶部"是我的UIWebView的新底部一样.这与iOS6.x有很大不同
是否有任何神奇的技巧可以使虚拟键盘行为像以前一样工作,而无需将JS/CSS注入webView?
我想通过使用WebDriver with Java在键盘上按Ctrl+ 来选择所有内容a.我写了以下代码:
Actions actionObj = new Actions(driver);
actionObj.keyDown(Keys.CONTROL)
.sendKeys(Keys.chord("A"))
.keyUp(Keys.CONTROL)
.perform();
Run Code Online (Sandbox Code Playgroud)
不幸的是,它没有用.我的WebDriver Java代码有什么问题?
我最近为客户开发了一个虚拟键盘应用程序.该程序几乎适用于所有程序,但某些命令与Citrix一起使用{ENTER}或未{DEL}使用Citrix.有解决方法还是替代方案SendKeys?
编辑1:我尝试了SendInput方法(Windows输入模拟器使用SendInput),DEL键和箭头键仍然无法正常工作.然而,ENTER键有效.
编辑2:解决了它.测试了两个不同版本的Citrix.这个问题给了我很多帮助.:
Citrix瘦客户机使用keybd_event的扫描码参数,即使MS表示它未使用且应为0.您还需要提供物理扫描码以供Citrix客户端使用.Citrix客户端也存在使用SendInput API生成的键盘输入的主要问题.
我修补了Windows输入模拟器中的代码:
// Function used to get the scan code
[DllImport("user32.dll")]
static extern uint MapVirtualKey(uint uCode, uint uMapType);
/// <summary>
/// Calls the Win32 SendInput method ...
/// </summary>
/// <param name="keyCode">The VirtualKeyCode to press</param>
public static void SimulateKeyPress(VirtualKeyCode keyCode)
{
var down = new INPUT();
down.Type = (UInt32)InputType.KEYBOARD;
down.Data.Keyboard = new KEYBDINPUT();
down.Data.Keyboard.Vk = (UInt16)keyCode;
// Scan Code here, was 0
down.Data.Keyboard.Scan = (ushort) MapVirtualKey((UInt16)keyCode, …Run Code Online (Sandbox Code Playgroud) 当我点击Firefox OS中的输入字段时,会出现屏幕键盘.我正在开发一个信使应用程序,并有一个工具栏,使用"发送"按钮与屏幕键盘相邻.
当我点击发送按钮时,键盘自动关闭,我不想要(用户可能需要输入更多消息).
检测到外部触摸时如何防止键盘关闭?我在网上搜索并找不到答案(虽然看起来Marketplace应用程序有这种行为).
我有一个在Windows 8.1平板电脑上运行的WPF应用程序.应用程序使用以下方法显示虚拟键盘:
public static void OpenKeyboard()
{
ProcessStartInfo startInfo =
new ProcessStartInfo(@"C:\Program Files\Common Files\Microsoft Shared\ink\TabTip.exe")
{
WindowStyle = ProcessWindowStyle.Hidden
};
Process.Start(startInfo);
}
Run Code Online (Sandbox Code Playgroud)
但是,键盘显示在顶部的活动窗口的大小不会相应地改变,这意味着如果我有一个ScrollViewer围绕我的窗口的所有元素,它不会响应键盘.
有没有办法让我的窗户知道键盘的存在?
更新
尝试注册SizeChanged窗口事件但键盘弹出时不会引发.
我正在尝试创建一个像khanacademy.org或mathspace.co或类似网站中的虚拟数学键盘,在那里你可以插入数学符号并写下来回答问题,如果你是学生,我怎样才能实现这样的事情?在khanacademy.org,他们使用MathJax,我试着通过文档阅读没有运气.
virtual-keyboard ×10
android ×3
c# ×2
.net ×1
citrix ×1
css-position ×1
firefox-os ×1
html5 ×1
input ×1
ios ×1
ios5 ×1
ios7 ×1
java ×1
javascript ×1
khan-academy ×1
latex ×1
listview ×1
listviewitem ×1
mathjax ×1
mathquill ×1
onkeydown ×1
onkeypress ×1
selectall ×1
sendkeys ×1
uiwebview ×1
windows-8.1 ×1
wpf ×1