Articles of 焦点

如果不是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控件中。 任何想法为什么会发生?

Android相机对焦模式

我正在尝试制作一个自定义相机应用程序,我想让用户可以在此应用程序中选择焦点模式。 对焦模式为自动和触摸对焦 如果我们想在相机中使用触摸对焦,怎么可以从头开始?

Android:在ListView打开时将项目设置为选中状态?

一个活动有一个Button和一个ListView。 最初,只有Button可见。 按下按钮时,将显示ListView。 显示时,我是否可以将一个特定项目显示为选中/聚焦? 用例可以是假设它是语言设置列表,当列表打开时,当前选择的语言必须显示为突出显示。 如果我知道项目的索引,如何将其设置为关注显示?

相机焦距

我正在尝试从Android相机读取焦距(照片中的主体距离)。 即使正确自动对焦,我的HTC Desire上的所有焦距仍然保持为0。 这是整个应用程序,仅适用于v2.3.3及更高版本。 ImageCapture.java package test.test; import java.io.IOException; import java.io.OutputStream; import java.text.SimpleDateFormat; import android.app.Activity; import android.content.Intent; import android.graphics.PixelFormat; import android.hardware.Camera; import android.hardware.Camera.AutoFocusCallback; import android.hardware.Camera.PictureCallback; import android.net.Uri; import android.os.Bundle; import android.provider.MediaStore.Images.Media; import android.util.Log; import android.view.KeyEvent; import android.view.MenuItem; import android.view.SurfaceHolder; import android.view.SurfaceView; //THIS CLASS READS THE FOCUS DISTANCES class ImageFocusCallback implements AutoFocusCallback { @Override public void […]

使用Android GridView进行键盘导航不会滚动网格

我正在尝试使用键盘来浏览项目的GridView。 在简短的演示中,它只包含一个GridView(包含带有android:focusable=”true”项目视图),你可以看到没有一个项目获得焦点 – 网格是滚动的东西(项目不会变成橙色) )。 添加android:descendantFocusability=”afterDescendants”允许首先聚焦每个项目,但仍然不会继续滚动GridView以便您可以向下导航: 单击某个项目(使用鼠标或按下Return键,如果项目被聚焦,在后代可聚焦性修复后)将项目变为蓝色 – 表示它处于按下状态。 @布局/ activity_my.xml: @布局/ dummy_item.xml: @绘制/ item_background.xml: MyActivity.java(使用ListAdapter): public class MyActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_my); AbsListView listview = (AbsListView) findViewById(R.id.listview); listview.setAdapter(new DummyAdapter(getLayoutInflater())); } private static class DummyAdapter extends BaseAdapter { private static final int COUNT = 25; private final LayoutInflater […]

Android按钮需要两次单击才能执行操作

我有一张表格。 7垂直布局中的EditText。 在一瞬间屏幕上只能看到3个EditText(forms很大,所以我需要向上和向下滚动以填充所有文件)。 在底部 – 按钮。 当我填充顶部的EditText(或者顶部的一个,当我向下滚动到按钮时它是不可见的),并且在此EditText中聚焦(光标),当我向下滚动并尝试单击按钮一次时 – 没有任何反应。 当我再次点击时 – 发生按钮动作。 当具有焦点和按钮的EditText都可见时 – 按钮需要单击一下。 我认为在第一种情况下,第一次点击只需要关注。 第二次点击是“真实”点击。 我该怎么办呢? 我只需要点击一下Button。 谢谢