背景
还是新入职的公司,做tv端应用。这个月就要转正了,开心ing.
公司之前的应用都是直接走流化的跟一个走web页面的。入职后给我任务做个新的app,要纯终端的,
没办法,只能撸起袖子干了。
效果图
本来想用as自带的录的 发现盒子上捕获视频效果不理想。手机录完转换gif.也就那样 凑合看吧
思路
首先 一看就是tab + Fragment
再看 页面都差不多 肯定要抽个Base类
仔细看 就是处理焦点事件。电视端开发不比手机端。手机端可以想点哪里点哪里,电视端就得一个一个挪动。so 处理好焦点事件very important.
再想,肯定会有人一直长按以达到快速到某个地点的想法,但他完全不考虑盒子性能o不ok,他不考虑但咱们得考虑,so 需要加个重复判断 判断大于3次就延迟300ms触发按键。
@Override
public boolean dispatchKeyEvent(KeyEvent event) {
if(event.getAction() == MotionEvent.ACTION_DOWN){
if(view_focus.isFocused())
return true;
if(event.getRepeatCount() > 3 ){//重复3次 开启按键延时
if(!isKeyAble){//不响应按键
return true;
}else {//响应按键
isKeyAble = false;
mHandler.sendEmptyMessageDelayed(CyberCode.RESET_KEYABLE,AppConstants.KEYDOWN_DELAY);
}
}
再仔细想,其实就这么多东西,其他看源码吧。没有什么很复杂的逻辑。
好了今天就到此结束,下面奉上写的简易demo;
demo地址
Github: (https://github.com/yudehai0204/TvFocusDemo)
喜欢点个star, 您的star是我最大的动力。