【问题标题】:Rotating ImageView in Android < API Level 11Android < API Level 11 中的旋转 ImageView
【发布时间】:2011-10-03 11:47:02
【问题描述】:

因此,在 API 级别 11 中,Google 引入了旋转 ImageView 的功能(是的,在他们引入了 Animate 这种旋转的可能性之后,是的,聪明的思维,是的!)

但是我应该如何使用例如旋转 ImageView API 8 级?如上所述,我不能使用 setRotation()。

【问题讨论】:

    标签: android static imageview rotation drawable


    【解决方案1】:

    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,这仍将显示为动画。此外,在 ExpandableTableView 中使用它,其中单元格在绘图时被重用,这使得它有点昂贵,并且“快速”动画在滚动列表时看起来真的很奇怪。我最终只是交换了可绘制对象。
    【解决方案2】:

    我从创建位图和旋转画布/矩阵开始,但这不是一个好的解决方案。如果满足条件,最后只是交换可绘制对象。我应该说这是一个 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 开发人员,但我真的很惊讶可以为旋转设置动画,但不能静态设置可绘制对象的旋转。从逻辑上讲,第一个是第二个的子集,而不是相反。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多