`
abc20899
  • 浏览: 937299 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Android focus处理

阅读更多
Handling Focus

       系统框架将处理日常的焦点移动来响应用户的输入,它包刮改变焦点(当界面是被移除,隐藏,或者作为一个新的View变为可用状态),通过isFocusable()这个方法我们可以知道view是否具有接受焦点的资格,也可以通过setFocusable().来设置view接受焦点的资格,对应在触摸模式下,你可以调用isFocusableInTouchMode().来获知是否有焦点来响应点触,也可以通过setFocusableInTouchMode().来设置是否有焦点来响应点触的资格.
系统框架控制焦点移动到另一个组件的算法是在某一方向上邻近的组件,在极个别情况下,默认的算法可能不符合开发者的预想要求,在这种情况下,你可以覆写下列XML属性的布局文件:nextFocusDown ,nextFocusLeft ,nextFocusRight ,和nextFocusUp 设置他们的值来明确

        焦点从当前界面移动下个界面的Id。例如:


<LinearLayout
android:orientation="vertical"
... >
<Button android:id="@+id/top"
android:nextFocusUp="@+id/bottom"
... />
<Button android:id="@+id/bottom"
android:nextFocusDown="@+id/top"
... />
</LinearLayout>

一般来说,在这个垂直布局,浏览的焦点会从第一个按钮开始,不会是从第二个或者其他的,现在topButtont已经通过nextFocusUp (反之亦然)确定了bottom.

      通常如果你想宣布用户界面具有焦点的资格 (如果这个界面在传统上是没有的),可以在xml布局里去加上的android:focusable的属性,并设置它的值,您也可以宣布在触摸模式下具有焦点的资格,同样也只在xml里添android:focusableInTouchMode.的属性,并设置它的值. 当用户请求在某个界面聚集焦点时,会调用requestFocus().这个方法。监听到焦点活动(获得焦点或失去焦点都会被通知),会调用onFocusChange(),这个方法。虽然帖子比较短,但是我感觉这个例子还是非常有用的,希望对开发者有一些帮助。想继续交流的可以回帖。
分享到:
评论

相关推荐

    Android 蓝牙 音频焦点(Audio Focus)——卡音,多年安卓开发经验,从实际项目中获取到的经验,对安卓开发者非常有

    在Android平台上,音频焦点(Audio Focus)是一个至关重要的概念,它涉及到多应用音频播放的协调,尤其是在涉及蓝牙设备如蓝牙耳机或扬声器时。当多个应用试图同时播放音频时,音频焦点机制确保了音频流之间的和谐共存...

    android 焦点事件

    在Android系统中,焦点事件是用户交互的重要组成部分,它涉及到View和ViewGroup之间的焦点转移,以及与之相关的触摸事件处理。本文将深入探讨Android中的焦点事件及其源码,旨在帮助开发者更好地理解和应用这一核心...

    Android 处理按键的响应方式

    在Android系统中,处理按键的响应方式是开发者必须掌握的关键技能之一。这涉及到用户与设备交互的核心机制,尤其是在创建自定义用户体验时。Android为开发者提供了多种处理按键事件的方法,包括硬键和软键(虚拟键)...

    详细介绍Android中的视图焦点Focus的使用

    Android 中的视图焦点(Focus)是一个重要的概念,它决定了在非触摸屏设备中哪个控件可以接收事件和处理响应。在 Android 系统中,只有一个控件可以拥有焦点,其他控件都不能拥有焦点。这个机制可以确保在某个时间点...

    Android基本控件事件总结

    以上就是Android中Button、EditText、TextView、RadioGroup/RadioButton以及Spinner等基本控件的事件处理方法的简要介绍。了解并熟练掌握这些控件的事件处理机制,对于构建功能丰富的Android应用程序至关重要。在...

    Android UI事件处理

    ### Android UI事件处理详解 #### 一、概览 在Android开发中,用户界面(UI)交互是提升用户体验的关键因素之一。UI事件处理机制允许开发者捕捉并响应用户的输入操作,如触摸、点击、滑动等。本文将深入探讨Android...

    android中模拟焦点移动

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

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

    以上就是关于`android 具有背景图片的按钮 ImageButton的焦点事件以及事件处理`的相关知识。通过理解并熟练掌握这些技巧,你能够创建出更富交互性的Android应用程序,提升用户体验。在实际开发中,还需要注意性能...

    AudioFocus

    AudioFocus是Android系统提供的一种机制,用于处理多个音频流之间的竞争,以避免声音混乱并提高用户体验。 一、AudioFocus概念 AudioFocus是一个抽象的概念,它代表了当前对音频输出的控制权。当一个应用请求Audio...

    Android-Fotoapparat好用的Android相机API

    **Android-Fotoapparat:打造优质的Android相机体验** 在Android应用开发中,为用户提供一个流畅、功能丰富的相机体验...在进行Android开发尤其是涉及多媒体处理时,考虑使用此类库可以极大地提高开发效率和应用质量。

    android+双屏异触+上层修改

    在Android系统中,"双屏异触"是一种高级的交互技术,它允许用户同时在两个屏幕上进行不同的触摸操作,提供更为丰富的用户体验。特别是在RK平台上,这种功能尤其受到重视,因为Rockchip(RK)处理器广泛应用于各种...

    android TV常见需求,焦点item保持居中 —— RecyclerView自定义焦点滑动位置和滑动速度。

    android tv开发和移动端开发最大的不同就是多了一个焦点处理的逻辑。尤其是类似Recyclerview这样本身带有滑动效果,为了醒目的显示当前焦点在什么位置,需要滑动的时候回添加大量的动画、高亮、阴影等效果。   ...

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

    同时,`onTouchEvent`处理按钮的按下和抬起事件,改变按钮的图片。注意,这里我们使用了自定义属性`R.styleable.CustomButton`来获取XML布局文件中设置的图片资源ID。 在XML布局文件中,我们需要使用我们的自定义...

    HTC Vive Focus PlusVR一体机开发工具SDK

    由于Vive Focus Plus运行的是基于Android的操作系统,开发者可以通过SDK轻松地将Unity项目部署到该设备上,进行测试和调试。 总结来说,HTC Vive Focus Plus VR一体机开发工具SDK是一个强大的工具集,它为Unity...

    Android-shijian-chuli.zip_android

    6. **焦点管理(Focus Management)**:在Android中,具有焦点的视图才能接收键盘输入事件。通过setFocusable()、requestFocus()等方法可以控制视图的焦点状态。 7. **BroadcastReceiver(广播接收者)**:虽然不是...

    android 音频处理mediaplay介绍

    Android 音频处理 mediaplay 介绍 Android 音频处理中,mediaplay 是一个非常重要的组件,负责音频的播放和处理。在 Android 系统中,由于只有一个音频输出,而可能有多个媒体想要使用它,这对使用音频的应用带来了...

    音乐播放器-AndroidApplication

    1. **Android AudioFocus**:AudioFocus是Android系统中处理音频流之间竞争的一种机制。当多个应用同时尝试播放音频时,AudioFocus确保只有一个应用能成为“聚焦”应用,从而保证音频质量不被互相干扰。音乐播放器...

    Android代码-TV端GridView焦点移动事件处理.rar

    本压缩包“Android代码-TV端GridView焦点移动事件处理.rar”提供了一种处理TV端GridView焦点移动事件的方法。 首先,我们需要理解在TV应用中,GridView的焦点移动与手机或平板上的操作有所不同。在TV上,用户通过...

    Android Auto Protocol

    由于文件中提供的信息不完整且有重复内容,我们将基于所给的文件片段尝试构建关于Android Auto Protocol的知识点。请参考以下内容: Android Auto是一种将智能手机与车载娱乐系统整合的解决方案,允许用户将手机的...

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

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

Global site tag (gtag.js) - Google Analytics