您的位置:首页 > 其它

控件进行Animation动画后失去焦点的几个解决办法

2015-02-02 16:43 295 查看
     View Animation及控件动画就是我们常用的平移,旋转,渐变,缩放,这种动画只能实现了控件动画效果,而控件的位置不变,这样动画后的控件就无法获取焦点。

      1.我们可以在动画后强制给控件焦点:

mHiddenAction.setAnimationListener(new AnimationListener() {
@Override
public void onAnimationStart(Animation arg0) {
// TODO Auto-generated method stub

动画开始时执行的方法
}
@Override
public void onAnimationRepeat(Animation arg0) {
// TODO Auto-generated method stub
}
@Override
public void onAnimationEnd(Animation arg0) {
// TODO Auto-generated method stub
动画结束时执行的方法,我们可以在这通过  控件.requestFocus();来强制获取焦点。
}
});

      2.也是在上面那个方法中,在动画结束时可以通过下面的方法将控件移动后动画后的位置,这样就可以设置焦点了。

          RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams)xxxx.getLayoutParams();
          params.setMargins(left, top, right, bottom));// 自定义坐标来放置你的控件
          mTextView .setLayoutParams(params);//mTextView 为你移动的控件

      3.就是用属性动画实现,属性动画与控件动画不同,它可以直接移动控件的位置,这样控件获取焦点就很简单了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐