如何在Xamarin中使用RotateDrawable?

时间:2019-04-23 20:03:42

标签: xamarin xamarin.forms xamarin.android

有人可以帮我在 Xamarin 中使用Code 400吗?我正在做一个 Xamarin.Forms 项目,我需要在 MainActivity.cs 中旋转一个可绘制对象,然后将旋转后的可绘制对象设置为背景,这是我写的但我有一个例外:

RotateDrawable rotateDrawable = (RotateDrawable)Resource.Drawable.ts_logo; <<<< got exception here
Android.Animation.ObjectAnimator.OfInt(rotateDrawable, "level", 0, 10000).Start();
Window.DecorView.SetBackground(rotateDrawable);

异常消息为“ System.InvalidCastException: Specified cast is not valid

1 个答案:

答案 0 :(得分:0)

根据您的描述和代码,Resource.Drawable.ts_logo是ID,您不能将其转换为RotateDrawable。

您可以尝试以下代码:

RotateDrawable rotateDrawable = new RotateDrawable();
        rotateDrawable.Drawable = GetDrawable(Resource.Drawable.a11);
        Android.Animation.ObjectAnimator.OfInt(rotateDrawable, "level", 0, 10000).Start();
        Window.DecorView.SetBackground(rotateDrawable);