在上一篇中我们已经创建出一个运行在盒子上的APP,它和我们运行在手机上的APP区别极小,只有在Manifest.xml中有些许的不同。但是我们知道,TV和手机最大的区别就在于交互,在手机APP内,我们可以通过注册点击监听onClickListener,或者是触摸OnTouchListener来进行交互,但是Tv上显然是没有触摸的,至少是没有onTouchListener的。
取而代之的是焦点事件,onFocusChangeListener,当一个控件焦点发生改变的时候,我们需要做些什么操作。这是TV开发的重点。
那我们要怎样来处理焦点呢?
1.在布局中直接指定,注意,布局中控件必须是可获取焦点的:focusable = "true"
nextfocusLeft、nextfocusRight、nextfocusUp、nextfocusDown分别用来指定:当焦点位于此按钮时,在按上下左右四个方向键,获取焦点的控件。相似的,也可通过代码来指定,如下:
这样处理之后的View就可以获取焦点。
但是仅仅这样来处理是不够的,我们指定了焦点