我正在尝试为我的Android TV应用程序实现一种效果,即在视图聚焦时扩展视图。我通过对ViewHolder的主视图的LayoutParams进行动画处理来实现这一点。它运行良好,但问题是当我滚动到视图的末尾(水平LinearLayout)时,视图扩展与视图的末尾不对齐,从而导致非常奇怪的效果。
这是我的代码:
holder.m_view.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View view, boolean b) {
if (b)
{
ResizeAnimation anim = new ResizeAnimation(view, 600, view.getWidth());
anim.setDuration(200);
anim.setInterpolator(new AccelerateDecelerateInterpolator());
view.startAnimation(anim);
}
else
{
ResizeAnimation anim = new ResizeAnimation(view, 400, view.getWidth());
anim.setDuration(200);
anim.setInterpolator(new AccelerateDecelerateInterpolator());
view.startAnimation(anim);
}
}
});
ResizeAnimation
是我自己编写的一个类,用于更改视图的 LayoutParams
。如何解决奇怪的滚动问题?谢谢。