问题:如何使用MvvmCross框架使用MonoDroid TabActivity?
答案:
使用 MvvmCross(一个用于 Xamarin 的 Android 应用程序框架)和 MonoDroid(一个基于 Java 编写的 Android 运行时)以及 TabActivity,您可以创建多视图应用程序。以下是如何使用 MvvmCross 和 MonoDroid 实现 TabActivity 的简要指南:
Android.App.TabActivity
。然后,在 AndroidManifest.xml 文件中定义新活动:
<activity android:name=".MainActivity"
android:label="@string/app_name"
android:theme="@style/MyTheme">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
TodoItem
类:
using System;
using System.Collections.Generic;
using Android.OS;
using MvvmCross.Core.ViewModels;
using MvvmCross.Droid.Views;
namespace MyApp.Core.ViewModels
{
public class MainViewModel : MvxViewModel
{
private readonly List<TodoItem> _todoItems;
public MainViewModel()
{
_todoItems = new List<TodoItem>
{
new TodoItem { Description = "Task 1", IsDone = false },
new TodoItem { Description = "Task 2", IsDone = true },
new TodoItem { Description = "Task 3", IsDone = false }
};
}
public override void Cleanup()
{
_todoItems.Clear();
base.Cleanup();
}
public ObservableCollection<TodoItem> TodoItems => _todoItems;
}
public class TodoItem
{
public string Description { get; set; }
public bool IsDone { get; set; }
}
}
Views
文件夹中创建一个名为 MainView.cs
的文件,并添加以下内容:
using Android.App;
using Android.OS;
using MvvmCross.Droid.Views;
using MyApp.Core.ViewModels;
namespace MyApp.Droid.Views
{
public class MainView : MvxActivity
{
public MainView()
{
SetContentView(Resource.Layout.Main);
}
protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
SetContentView(Resource.Layout.Main);
var viewModel = new MainViewModel();
SetViewModel(viewModel);
}
}
}
通过以上步骤,您应该可以创建一个简单的 MvvmCross 应用程序,其中包括一个可滚动的 TabActivity。请注意,您可能需要根据您的特定需求进行一些修改。
云+社区沙龙online [技术应变力]
企业创新在线学堂
企业创新在线学堂
云+社区沙龙online[新技术实践]
云+社区沙龙online [技术应变力]
北极星训练营
北极星训练营
北极星训练营
腾讯云GAME-TECH沙龙
领取专属 10元无门槛券
手把手带您无忧上云