C# 下载程序时的动画
在这里我搞不懂动画。加载程序时需要实现动画,以及单个屏幕状态的动画转换,如何实现此帮助?C# 下载程序时的动画,c#,android,visual-studio,xamarin,xamarin.forms,C#,Android,Visual Studio,Xamarin,Xamarin.forms,在这里我搞不懂动画。加载程序时需要实现动画,以及单个屏幕状态的动画转换,如何实现此帮助? 如果您正在与Xamarin合作,请查看。您可以轻松创建矢量图形并设置动画。这里是一个简单的加载动画。这是你需要的吗: 自定义ShowLoading.cs界面: public interface ShowLoading { void Show(); void Hide(); } [assembly: Dependency(typeof(MainActivity))] namespace Ap
如果您正在与Xamarin合作,请查看。您可以轻松创建矢量图形并设置动画。这里是一个简单的加载动画。这是你需要的吗: 自定义ShowLoading.cs界面:
public interface ShowLoading
{
void Show();
void Hide();
}
[assembly: Dependency(typeof(MainActivity))]
namespace App18.Droid
{
[Activity(Label = "App18", Icon = "@mipmap/icon", Theme = "@style/MainTheme", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)]
public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity,ShowLoading
{
private static Dialog _dialog;
public void Hide()
{
_dialog.Dismiss();
}
public void Show()
{
_dialog.Show();
}
protected override void OnCreate(Bundle savedInstanceState)
{
TabLayoutResource = Resource.Layout.Tabbar;
ToolbarResource = Resource.Layout.Toolbar;
base.OnCreate(savedInstanceState);
global::Xamarin.Forms.Forms.Init(this, savedInstanceState);
LoadApplication(new App());
init();
}
private void init()
{
View view = LayoutInflater.From(this).Inflate(Resource.Layout.loading_layout,null);
_dialog = new Dialog(this);
_dialog.RequestWindowFeature((int)WindowFeatures.NoTitle);
_dialog.SetCancelable(false);
_dialog.SetContentView(view);
}
}
然后在.Android MainActivity.cs中实现界面:
public interface ShowLoading
{
void Show();
void Hide();
}
[assembly: Dependency(typeof(MainActivity))]
namespace App18.Droid
{
[Activity(Label = "App18", Icon = "@mipmap/icon", Theme = "@style/MainTheme", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)]
public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity,ShowLoading
{
private static Dialog _dialog;
public void Hide()
{
_dialog.Dismiss();
}
public void Show()
{
_dialog.Show();
}
protected override void OnCreate(Bundle savedInstanceState)
{
TabLayoutResource = Resource.Layout.Tabbar;
ToolbarResource = Resource.Layout.Toolbar;
base.OnCreate(savedInstanceState);
global::Xamarin.Forms.Forms.Init(this, savedInstanceState);
LoadApplication(new App());
init();
}
private void init()
{
View view = LayoutInflater.From(this).Inflate(Resource.Layout.loading_layout,null);
_dialog = new Dialog(this);
_dialog.RequestWindowFeature((int)WindowFeatures.NoTitle);
_dialog.SetCancelable(false);
_dialog.SetContentView(view);
}
}
}
加载布局。axml:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/frame"
>
<ProgressBar
android:id="@+id/loading"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_centerInParent = "true"
android:indeterminateBehavior="repeat"
android:indeterminateDrawable="@drawable/loading" />
</RelativeLayout>
load.xml(在参考资料/drawable中):
您可以在页面中通过DependencyService调用它,如下所示:
//show the loadig animation
DependencyService.Get<ShowLoading>().Show();
//hide it
DependencyService.Get<ShowLoading>().Hide();
//显示loadig动画
DependencyService.Get().Show();
//藏起来
DependencyService.Get().Hide();
如果您只是想要这样的东西,您可以看看如何在XAML中旋转控件:不,我不需要启动启动动画,例如启动时的照片。它需要在Xamarin上实现,而不是在Javai上实现。我已经更新了答案,在Xamarin.Forms中,您可以通过DependencyService实现它