我想使用 Xamarin C# 在我的 android 应用程序中使用动画。动画,如淡入、放大、移动和....
问问题
8612 次
2 回答
16
首先在“资源”文件夹下添加一个文件夹,将其命名为“动画”。然后您可以将动画资源添加到其中,例如:对于淡入动画,在 anim 文件夹下创建一个资源并将其命名为“fade_in.xml”并将此代码粘贴到其中:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:fillAfter="true" >
<alpha
android:duration="1000"
android:fromAlpha="0.0"
android:interpolator="@android:anim/accelerate_interpolator"
android:toAlpha="1.0" />
</set>
然后在 mainlayout.xml 中添加一个 Textview 以及一个按钮
<TextView
android:text="Text"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/txtMessage"
android:layout_marginBottom="35.3dp" />
和按钮:
<Button
android:text="fade in"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/fadein" />
在您活动的“oncreate”方法中添加以下代码:
Button fadein = FindViewById<Button>(Resource.Id.fadein);
fadein.Click += btn_Click;
然后将此方法添加到您的活动中:
void blink_Click(object sender, EventArgs e)
{
txtMessage = FindViewById<TextView>(Resource.Id.txtMessage);
Button b = sender as Button;
Animation anim = AnimationUtils.LoadAnimation(ApplicationContext,
Resource.Animation.fade_in);
txtMessage.StartAnimation(anim);
}
于 2015-06-15T09:40:27.773 回答
3
你可以像这样制作一个简单的淡入淡出动画:
txtMessage.Alpha = 0.0f;
txtMessage.Animate().Alpha(1.0f).SetDuration(1000).Start();
您还可以为其他属性设置动画,例如ScaleX
, RotationX
,TranslationX
等...
于 2018-09-02T21:18:54.370 回答