从xml旋转android drawable而无需剪切

时间:2018-09-15 23:27:38

标签: android xml layout graphics

我必须在回收者视图的项目的xml中执行此操作(我正在使用数据绑定和Viewholder模式)。基于绑定到视图的变量的值,我需要旋转可绘制对象并将其设置为src的{​​{1}}。

我已经在线检查了很多选项,但没有找到任何选项,旋转原始xml可绘制的ImageView切口来切割形状为弯曲矩形的某些部分。这样会导致形状不符合要求。

我需要有关如何从xml或适配器内部完成此操作而不建议使用45 degrees进行重写的建议。

2 个答案:

答案 0 :(得分:0)

您好@ staa99尝试以下代码可能会对您有所帮助。

ImageView imageView = findViewById(R.id.imageView);
RotateAnimation anim = new RotateAnimation(0, 45,
                Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF,0.5f);

anim.setInterpolator(new LinearInterpolator());
anim.setDuration(1000);
anim.setFillEnabled(true);
anim.setFillAfter(true);
imageView.startAnimation(anim);

答案 1 :(得分:0)

我最终使用的解决方案是基于原始图像创建四个不同的矢量变量,其中包括旋转信息。然后,我使用了绑定到视图的变量来存储确定可绘制矢量以显示的数据。 当您需要大量或未知数量的可能旋转,或者如果角度是在运行时计算的,则此解决方案不是很好。但是,我还没有看到从xml做到这一点的方法,因此您仍然需要从java / kotlin代码做到这一点