TV-焦点-2

安卓 - Tv , 一般分为两种 焦点动画;

第一种 是 单独给 View 设置 背景(焦点选中,焦点不选中),再设置放大缩小效果,
【适用于所有场景,特效效果没有第二种好;】

GIF.gif

==================================================================================

第二种 是 在Activity中添加一个 View(焦点边框View)

         final View focusView = new View(activity);
        focusView.setBackgroundResource(R.drawable.focus_img);
       activity.getWindow().getDecorView().addView(focusView);

再 通过activity 的 addOnGlobalFocusChangeListener 监听,获取到哪个View
被焦点选中,然后把 焦点选中的View 放大,同时,移动焦点边框View 到 焦点选中View上,
形成 一种边框 上下左右移动的特效

【适用于 不可滑动页面 ,不可滑动模块的使用;
在可滑动的页面使用 这个特效时, 当页面需要滑动时,焦点会比页面滑动更快,造成 焦点边框view 的位置选中不正确!】

getWindow().getDecorView().getViewTreeObserver().
                addOnGlobalFocusChangeListener();

下图 就是焦点边框的 动画效果,因为是gif,所有有移动的虚影;


GIF.gif

你可能感兴趣的:(TV-焦点-2)