Xamarin Android C#使用ViewFlipper实现图片轮播遇类型转换错误
解决ViewFlipper动画类型转换错误的问题
先看你遇到的错误提示:无法将Android.Views.Animations.Animation转换为int,问题出在你调用SetInAnimation和SetOutAnimation的方式上,下面帮你分析并修正:
错误原因
你已经通过AnimationUtils.LoadAnimation()成功加载了Animation对象fadeIn和fadeOut,但后续调用ViewFlipper的动画设置方法时,误用了需要传入**资源ID(int类型)**的重载,同时还写错了参数名称(代码里的fade_in是未定义的变量),直接导致了类型不匹配的错误。
修正后的代码
只需要把动画设置的两行代码改成直接传入已经加载好的Animation对象即可:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using Android.App; using Android.Content; using Android.OS; using Android.Runtime; using Android.Util; using Android.Views; using Android.Widget; using Android.Support.Design.Widget; using Android.Support.V7.App; using Android.Support.V4.Widget; using Android.Support.V4.App; using System.Data; using SupportToolbar = Android.Support.V7.Widget.Toolbar; using Android.Views.Animations; namespace image_slider { [Activity(Label = "image_slider", MainLauncher = true, Theme = "@style/Theme.DesignDemo")] public class MainActivity : AppCompatActivity { private SupportToolbar mToolbar; Animation fadeIn, fadeOut; ViewFlipper viewflipper; protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); // Set our view from the "main" layout resource SetContentView(Resource.Layout.Main); mToolbar = FindViewById<SupportToolbar>(Resource.Id.toolbar); SetSupportActionBar(mToolbar); viewflipper = FindViewById<ViewFlipper>(Resource.Id.viewFlipper); fadeIn = AnimationUtils.LoadAnimation(this, Resource.Animation.fade_in); fadeOut = AnimationUtils.LoadAnimation(this, Resource.Animation.fade_out); // 修正这里:直接传入已加载的Animation对象 viewflipper.SetInAnimation(fadeIn); viewflipper.SetOutAnimation(fadeOut); viewflipper.SetFlipInterval(5000); viewflipper.StartFlipping(); } } }
补充说明
如果你不想提前加载动画对象,也可以直接使用传入资源ID的重载方法,这时候代码应该写成:
viewflipper.SetInAnimation(this, Resource.Animation.fade_in); viewflipper.SetOutAnimation(this, Resource.Animation.fade_out);
这种情况下就不需要提前调用AnimationUtils.LoadAnimation()了,两种方式选其一即可。
内容的提问来源于stack exchange,提问作者Jayson E Garcia
相关产品推荐
相关产品推荐

