`
韩悠悠
  • 浏览: 839973 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

android默认焦点设置的方法

 
阅读更多

在使用到文本框(EditText)来进行数据录入的时候,有时默认焦点会聚集到不想聚集的控件上,也就会需要对输入法进行一些控制。先看下LAYOUT定义文件中的和输入法有关的属性:

属性名说明

android:inputType指定输入法的类型,int类型,可以用|选择多个。取值可以参考:android.text.InputType类。取值包括:text, textUri, phonenumber,等。android:imeOptions指定输入法窗口中的回车键的功能,可选值为normal, actionNextactionDoneactionSearch等。部分输入法对此的支持可能不够好。

下面的LAYOUT定义文件举了一些例子说明inputTypeimeOptions的使用。<EditText android:id="@+id/textNormal"android:layout_width="fill_parent" android:layout_height="wrap_content"android:hint="Normal text"android:inputType="text"android:imeOptions="actionNext"/><EditText android:id="@+id/textInteger"android:layout_width="fill_parent" android:layout_height="wrap_content"android:hint="Integer only"android:inputType="number"android:imeOptions="actionNext"/><EditText android:id="@+id/textPhone"android:layout_width="fill_parent" android:layout_height="wrap_content"android:hint="Phone number"android:inputType="phone"android:imeOptions="actionNext"/><EditText android:id="@+id/textEmail"android:layout_width="fill_parent" android:layout_height="wrap_content"android:hint="Email"android:imeOptions="actionSend"android:inputType="textEmailAddress"/><EditText android:id="@+id/textSite"android:layout_width="fill_parent" android:layout_height="wrap_content"android:hint="Web Site"android:imeOptions="actionDone"android:inputType="textUri"/>

有时候也要对intent的默认焦点进行设置,不至于在intent跳转的时候默认焦点(光标)在EditText上,导致进入intent就打开输入法,影响界面美观。

默认焦点的顺序是:从上倒下 从左到右第一个可以输入的控件作为焦点可以使用:button.setFocusable(true);button.requestFocus();button.setFocusableInTouchMode(true);

另外,andorid布局上,可以设置这类看不到的布局控件来设置距离

<LinearLayout android:focusable="true" android:focusableInTouchMode="true" android:layout_width="0px" android:layout_height="0px"/>

在使用到文本框(EditText)来进行数据录入的时候,有时默认焦点会聚集到不想聚集的控件上,也就会需要对输入法进行一些控制。先看下LAYOUT定义文件中的和输入法有关的属性:

属性名说明

android:inputType指定输入法的类型,int类型,可以用|选择多个。取值可以参考:android.text.InputType类。取值包括:text, textUri, phonenumber,等。android:imeOptions指定输入法窗口中的回车键的功能,可选值为normal, actionNextactionDoneactionSearch等。部分输入法对此的支持可能不够好。

下面的LAYOUT定义文件举了一些例子说明inputTypeimeOptions的使用。<EditText android:id="@+id/textNormal"android:layout_width="fill_parent" android:layout_height="wrap_content"android:hint="Normal text"android:inputType="text"android:imeOptions="actionNext"/><EditText android:id="@+id/textInteger"android:layout_width="fill_parent" android:layout_height="wrap_content"android:hint="Integer only"android:inputType="number"android:imeOptions="actionNext"/><EditText android:id="@+id/textPhone"android:layout_width="fill_parent" android:layout_height="wrap_content"android:hint="Phone number"android:inputType="phone"android:imeOptions="actionNext"/><EditText android:id="@+id/textEmail"android:layout_width="fill_parent" android:layout_height="wrap_content"android:hint="Email"android:imeOptions="actionSend"android:inputType="textEmailAddress"/><EditText android:id="@+id/textSite"android:layout_width="fill_parent" android:layout_height="wrap_content"android:hint="Web Site"android:imeOptions="actionDone"android:inputType="textUri"/>

有时候也要对intent的默认焦点进行设置,不至于在intent跳转的时候默认焦点(光标)在EditText上,导致进入intent就打开输入法,影响界面美观。

默认焦点的顺序是:从上倒下 从左到右第一个可以输入的控件作为焦点可以使用:button.setFocusable(true);button.requestFocus();button.setFocusableInTouchMode(true);

另外,andorid布局上,可以设置这类看不到的布局控件来设置距离

<LinearLayout android:focusable="true" android:focusableInTouchMode="true" android:layout_width="0px" android:layout_height="0px"/>

分享到:
评论

相关推荐

    android软键盘上移动焦点

    在这个方法里,可以获取当前焦点的键子,然后使用`Paint`对象设置边框颜色、样式和宽度,绘制出焦点的边框。 以下是一个简单的代码示例,展示了如何在`LatinKeyboardView`中重写`onDraw()`来画出焦点: ```java @...

    android获取焦点后按钮变大

    默认情况下,当一个元素获得焦点时,系统会应用一些视觉变化,如改变边框颜色或显示下划线,但并不一定会改变大小。 为了使按钮在获取焦点时变大,我们需要自定义按钮的样式。在`res/values/styles.xml`文件中,...

    Android焦点控制原理及源码

    然而,Android默认的焦点转移策略并不总是满足所有应用场景。例如,当控件分布在一个圆环形布局中时,按照默认顺序,用户无法通过上/下键在顶部和底部的控件之间顺畅切换。在这种情况下,我们需要自定义焦点顺序。 ...

    android中模拟焦点移动

    - `ViewGroup`可以控制其子View的焦点遍历顺序,通过设置`android:descendantFocusability`属性,例如`FOCUS_BEFORE_DESCENDANTS`、`FOCUS_AFTER_DESCENDANTS`或`FOCUS_BLOCK_DESCENDANTS`。 - `ViewGroup`还可以...

    Android 焦点事件

    3. 保留焦点:在配置更改(如屏幕旋转)时,Android默认会丢失焦点。但通过设置`android:saveEnabled="true"`和`android:restoreState="true"`,可以保存和恢复视图的状态,包括焦点。 四、焦点与触摸事件 1. 触摸...

    Android通过textview设置状态

    在布局XML文件中,将TextView的`android:background`属性设置为刚刚创建的Selector资源。例如: ```xml android:id="@+id/myTextView" android:layout_width="wrap_content" android:layout_height="wrap_...

    Android取消EditText自动获取默认焦点

    Android 取消EditText自动获取默认焦点 在 Android 开发中,EditText 是一个常用的控件,用来输入文字信息。但是,在某些情况下,EditText 会自动获取焦点,这可能会带来不必要的麻烦。那么,如何取消 EditText 的...

    Android TV 上使用的RecyclerView和焦点框架,焦点框移动效果,完胜androidTvwidget的MainUpView

    在`RecyclerView`中,我们可以通过`Adapter`的`onBindViewHolder`方法设置焦点状态监听,并根据焦点状态更新视图。 为了实现“一两行代码搞定获取得焦点效果”,可以创建一个自定义的`ViewHolder`,并在其中处理...

    Android TV 焦点框移动的实现方法

    Android TV 焦点框移动的实现方法 Android TV 焦点框移动是 TV 开发中的一项重要技术,焦点框的移动可以帮助用户更好地浏览和选择菜单项、本篇文章主要介绍了 Android TV 焦点框移动的实现方法。 焦点框移动的...

    android跑马灯效果,失去焦点也可以实现

    总的来说,实现Android的跑马灯效果并不复杂,关键在于正确设置XML属性和处理焦点变化。这个效果可以增加用户界面的动态性,提升用户体验。通过理解上述知识点并结合实际代码,你应该能够创建一个无论是否获得焦点都...

    AndroidTV焦点控制实例

    3. **自定义焦点处理**:有时,系统默认的焦点行为可能不符合应用的需求,这时可以重写`onFocusChange()`方法来自定义焦点变化的响应。例如,当某个组件获得焦点时,可以播放提示音或者动画。 4. **使用`ViewGroup`...

    RecyclerView中item焦点问题

    例如,如果item中包含一个EditText,那么在ViewHolder的onCreateViewHolder方法中,应设置EditText的`android:focusableInTouchMode="true"`和`android:focusable="true"`。 3. 重写onTouchEvent RecyclerView需要...

    android textview 无焦点 跑马灯 水平滚动

    实现Android TextView无焦点的跑马灯和水平滚动效果,主要涉及以下几个步骤:设置`singleLine`(或`maxLines`)、`ellipsize`、`scrollHorizontally`属性,以及在代码中调用`setMovementMethod`和`setSelected`方法...

    android TV 焦点自动换行

    可以通过设置`setSpanSizeLookup`方法来自定义每个item占据的列宽,从而实现焦点在不同列之间的跳转。 3. **Focus Handling**: 自定义ViewGroup或者使用现有的ViewGroup(如HorizontalScrollView)时,需要重写`...

    android按钮被选点击得到焦点失去焦点切换图片

    按钮的状态变化通常包括默认状态、被选中(按下)、获得焦点以及失去焦点等。为了提升用户体验,开发者经常需要根据按钮的不同状态来展示不同的视觉效果,例如切换图片。本篇将详细介绍如何在Android中实现这个功能...

    VerticalGridView第一行获取焦点后,再次按向上键,上方的控件获取不到焦点解决方案

    **设置Focusable和FocusChangeListener**:确保VerticalGridView的每个子View都正确设置了`android:focusable="true"`和`android:focusableInTouchMode="true"`属性,同时添加FocusChangeListener,以便在焦点改变时...

    Android取消EditText自动获取焦点默认行为

    这是因为在Android的默认配置中,如果一个布局中存在EditText,系统会尝试在布局加载完成后将焦点分配给它,以便用户能够直接开始输入。如果用户需要手动触发输入,这种自动获取焦点的行为就显得不合适。 解决这个...

    android 具有背景图片的按钮 ImageButton的焦点事件以及事件处理

    在Android开发中,`ImageButton`是一个特殊的`Button`视图,它允许我们为按钮设置一个图像作为背景,而不是默认的文字。这个控件广泛用于UI设计,因为它提供了视觉上的多样性,可以增强用户界面的美观性。在本文中,...

    Android中默认系统的声音/大小修改和配置详解

    Android系统中声音管理系统主要负责声音的输入和输出、声音的控制和路由等功能,包括主音量调节、声音焦点控制、声音外设的检测和状态管理、声音源输入和输出的策略管理、音效的播放、音轨设置和播放、录音设置和...

Global site tag (gtag.js) - Google Analytics