Articles of 焦点

Android EditText在maxlength时自动聚焦到下一个EditText

我有一个用户名和密码XML段 我希望当用户名字段到达第9个字符时,光标焦点会自动跳转到密码字段 我正在自动查看Focus next textview并尝试: final EditText usr = (EditText) findViewById (R.id.username); final EditText pswd = (EditText) findViewById (R.id.pswd); usr.addTextChangedListener(new TextWatcher() { public void onTextChanged(CharSequence s, int start, int before, int count) { if (s.length() == 9) { pswd.requestFocus(); } } @Override public void afterTextChanged(Editable arg0) { } @Override public void beforeTextChanged(CharSequence s, int start, […]

Android WebKit专注于textarea不会绘制背景图像

Android WebKit在textareas上绘制白色背景+边框,并在有焦点时输入。 我如何阻止它这样做? 我试过改变-webkit-tap-highlight-color,-webkit-appearance,-webkit-backface-visibility,outline和一些其他的东西,似乎没什么用。 帮帮我!

requestFocus对EditText无法正常工作

花了很多时间来解决问题,看起来很容易,但我真的很累,找不到解决方案。 我有一个Activity,活动有4个EditText组件,其中2个有popup菜单(AlertDialog),其中包含列表,下一个 – 被禁用进行编辑,最后一个 – 是可编辑的,应该显示软键盘,当用户是点击它。 另外,我的根LinearLayout有LinearLayout,里面包含RelativeLayout。 最后一个需要AdvBanner。 最后的LinearLayout(RelativeLayout)与根布局的底部对齐。 描述它的XML部分: 活动开始时,可​​编辑的EditText具有绿色边框,光标闪烁。 几秒钟后,加载并显示AdvBanner。 当它发生时,可编辑的EditText失去了焦点..从这一刻起,我的生活就像一场噩梦。 让我们一步一步看。 问题1.如果在这个时刻(当加载和出现Adv时)用户正在通过软键盘编辑EditText字段,焦点丢失,边框呈现灰色 ,如果用户继续键入文本则没有结果 – 符号是没有打印(EditText中的CURSOR太丢失了)。 我认为任何用户都会生气 – 当你输入文字时,光标处于非活动状态,因为在后台会加载一些adv并且它会自动关注。 为了解决这个问题,在加载Adv(显示)的方法中,我尝试通过requestFocus方法手动将焦点重新聚焦到EditText。 public void onAdLoaded() { // TODO Auto-generated method stub // add app specific code for this event here… // called when an ad is successfully displayed on device CountEdit1.requestFocus(); } 是的,光标返回到EditText字段,如果软键盘处于活动状态,用户仍然可以键入文本,但EditText字段的边框保持GRAY … 注意:实际上我不确定焦点EditText的GREEN和GRAY边界之间的区别.Green通常是当用户点击它时,可能是灰色,当我们想要手动请求焦点时(使用requestFocus()等) […]

将焦点更改为EditText Android

我的Activity上有2个EditText,并将maxLength设置为5。 现在我想将焦点设置为editText2 ,如果在editView1达到5的长度… 我尝试过: editView1.setOnKeyListener(new OnKeyListener() { @Override public boolean onKey(View v, int keyCode, KeyEvent event) { if(editView1.getText().length() == 5) editView2.requestFocus(); return false; } }); 但它不会起作用..

setFocusable和setFocusableInTouchMode有什么区别?

Android视图的setFocusable和setFocusableInTouchMode什么区别? 尝试阅读文档后的其他问题 : 这些与isFocusable和isFocusableInTouchMode有何不同?

如果不是body元素,Android无法正确滚动输入焦点

当移动浏览器调出键盘时,它会尝试移动滚动条,以便输入仍在视图中。 在iOS Safari上,它似乎通过查找最近的滚动父级来正确执行此操作。 在Android原生或Chrome移动浏览器上,它似乎只是尝试body元素然后放弃,因此焦点输入隐藏在键盘下方。 如何打破它 设置overflow-y: hidden在body元素上。 创建一个可滚动的容器并在其中放置一个表单。 当您选择靠近屏幕底部的元素时,它将被键盘遮挡。 演示 http://dominictobias.com/android-scroll-bug/ Android scroll/focus bug html, body { margin: 0; padding: 0; height: 100%; overflow: hidden; } .scroll { position: absolute; top: 0; right: 0; bottom: 0; left: 0; overflow-y: scroll; } input { margin-bottom: 20px; width: 100%; } 任何想法如何解决这一问题? 它需要一些浏览器检测和乱糟糟的黑客攻击吗?

如何防止ListView页脚被选中?

我有一个可以用dpad导航的ListView。 它有一个页脚。 我想阻止使用dpad导航到页脚。 我已将页脚视图本身的focusable和focusableInTouchMode设置为false; 这没有区别(所以我推断它实际上并不是我所关注的焦点 ,而是选择 )。 如何防止页脚被选中?

自定义ViewGroup焦点处理

假设我有一个可自由聚焦的自定义ViewGroup,并且有一些可以集中注意力的子视图(Android机顶盒的自定义垂直菜单应该在远程控制器上作出反应)。 每当自定义ViewGroup获得焦点时,我都需要将焦点传递给一些子视图。 我将descendantFocusability设置为OnFocusChangeListener并将OnFocusChangeListener设置为自定义ViewGroup,但从不调用OnFocusChangeListener.onFocusChanged() 。 它看起来像beforeDescendants没有像我预期的那样工作。 实际设置afterDescendants与设置afterDescendants工作方式相同 – 焦点由最近的子视图进行,自定义ViewGroup没有机会决定应该关注哪个子视图。 我怎样才能达到理想的行为? 在ViewGroup处理焦点的最佳实践是什么?

SearchView删除蓝色焦点线并在某个位置显示光标

我一直在尝试删除SearchView中的蓝色焦点线。我将它投射到AutoCompleteTextView,以便我可以为searchView使用自定义图标。 int id = searchView.getContext().getResources().getIdentifier(“android:id/search_src_text”, null, null); searchtextView = (AutoCompleteTextView) searchView.findViewById(id); 我试过用 searchtextView.setBackGroundColor(0) 并在我的xml中手动将背景设置为#0000000,但我仍然可以看到底部的蓝线。 我面临的第二个问题是光标最初没有显示在文本上。我想在searchview中输入任何内容时显示光标。我尝试使用编程方式进行操作 if (searchtextView.getText().toString().length() >= 0) { searchtextView.setSelection(searchtextView.getText().toString().length()); } 即使在searchView内部没有文本也应该显示光标。我认为它与焦点有关,因为当我输入2-3个字符时,光标会自动显示。

多个EditTexts的焦点问题

我有两个EditText的活动。 我在第二个EditText字段上调用requestFocus ,因为默认情况下焦点转到第一个。 焦点似乎在第二个字段中(第二个字段获得突出显示的边框),但如果我们尝试使用硬件键盘输入任何字符,则文本将出现在第一个EditText控件中。 任何想法为什么会发生?