2011-10-03 94 views
6

所以11谷歌推出了以旋转的ImageView的能力(耶之后,又推出了以动画这样的旋转,耶智能思维的可能性,耶!)在API级别的Android的<API级别旋转的ImageView 11

但我应该如何去使用例如旋转ImageView API级别8?我不能像上面描述的那样使用setRotation()。

回答

2

我开始创建位图和旋转画布/矩阵,然而,这不是一个好的解决方案。如果条件得到满足,最后结束只是交换drawable。我应该说这是一个ExpandableListView,其中单元在绘制时被重用。

if (isExpanded) { 
     ImageView view = (ImageView) convertView.findViewById(R.id.ImageView); 
     view.setImageResource(R.drawable.quickactions_button_normal_down); 
    } 

    if (!isExpanded) { 
     ImageView view = (ImageView) convertView.findViewById(R.id.ImageView);   
     view.setImageResource(R.drawable.quickactions_button_normal); 
    } 

我不是通常的Android开发者,但我真的很惊讶,这是可能的动画旋转,而不是静态设置一个绘制的旋转。从逻辑上讲,第一个是第二个子集,而不是其他方法。

7

RotationAnimation是自API级别本1

RotateAnimation animation = new RotateAnimation(from, to, 
Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f); 
animation.setInterpolator(new LinearInterpolator()); 
animation.setDuration(1); 
animation.setFillAfter(true); 

imageView.startAnimation(animation); 
+1

是的。即使持续时间设置为1,这仍然会显示为动画。同时在ExpandableTableView中使用此方法时,单元格在绘图时重复使用会导致代价高昂,而滚动列表时“快速”动画看起来很奇怪。我最终只是交换了drawable。 – sebrock