【发布时间】:2019-01-09 16:40:45
【问题描述】:
我想向我的 Xamarin.Android 应用程序中的活动添加工具栏。这应该适用于旧版本的 Android,因此我正在使用 Android Support v7 AppCompat 库来实现此功能。
为了使工具栏像操作栏一样,我必须调用 SetSupportActionBar(参见 here。
public class MainActivity : AppCompatActivity
{
protected override void OnCreate (Bundle bundle)
{
base.OnCreate (bundle);
// Set our view from the "main" layout resource
SetContentView (Resource.Layout.main);
var toolbar = FindViewById<Toolbar> (Resource.Id.toolbar);
//Toolbar will now take on default actionbar characteristics
SetSupportActionBar (toolbar);
SupportActionBar.Title = "Hello from Appcompat Toolbar";
// ...
}
}
SetSupportActionBar 方法来自 AppCompatActivity,这就是为什么示例代码中的 Activity 首先派生自该类的原因。
现在,如果我不能从 AppCompatActivity 派生我的 Activity,有没有办法利用 AppCompatActivity 的功能,例如 SetSupportActionBar?
我的活动必须扩展另一个基类才能正常运行。
【问题讨论】:
-
AppCompatActivity 基本上是 AppCompatDelegate 的包装器(它实际上完成了所有繁重的工作)。这是用 Java 编写的,但我相信你可以翻译 medium.com/google-developer-experts/…
-
在 MvvmCross 中我们也使用了一段时间。请参阅此示例:github.com/MvvmCross/MvvmCross-AndroidSupport/blob/…
标签: xamarin xamarin.android android-appcompat