背景意义
- 对于TV端来说,各种Android事件的处理,依赖于遥控操作,不像移动终端可以通过Touch主观感觉焦点存在位置,TV焦点需要通过图像显示出来.
- 因此焦点框显示效果非常影响用户体验,一般焦点效果常见的是控件背景加高亮框,或通过触发事件切换背景,亦或伸缩控件大小.实际上,我们可以实现具有动画效果的焦点框.
- 实现的动画效果为:使用平移动画绘制焦点框移动轨迹,同时焦点框随着控件形状动态改变.动画最终状态是,焦点框从失去焦点的位置移动到获得焦点的位置,控件放大,焦点框尺寸最后变为放大后的控件尺寸.
控件自身获得或失去焦点伸缩效果实现函数
private void showOnFocusAnimation(View v, float scale)
{
animEffect.setAttributs(1.0f, scale, 1.0f, scale, 100);
Animation anim = animEffect.createAnimation();
v.startAnimation(anim);
v.bringToFront();
}
private void showLoseFocusAnimation(View v, float scale)
{
animEffect.setAttributs(scale, 1.0f, scale, 1.0