繁体   English   中英

在Mono Android中使用ActionBarSherlock

[英]Using ActionBarSherlock in Mono Android

我正在尝试在Mono Android应用程序中实现ActionBar。 有人可以为我提供在我的解决方案中包含ActionBar项目的步骤吗? 我已经看到了这个网址提供的样本预测https://github.com/xamarin/monodroid-samples/tree/master/ActionBarSherlock

我是否必须在该示例中添加ActionBarSherlock项目的引用? 当我尝试添加对该项目的引用时,我收到许多错误,例如“错误检索项目的父项:找不到与给定名称匹配的资源'android:TextAppearance.Holo.Widget.ActionBar.Menu'。” 在文件abs_styles.xml中

有没有其他人成功将ActionBarSherlock添加到Mono Android项目? 你能否告诉我一些简单的例子?

好的,这就是我的工作方式......

  1. 打开示例项目,在Release模式下构建'ActionBarSherlock'项目。 确保最低目标android版本是4.0.3(必需)

  2. 获取dll并在项目中引用它。 我发现你可以让它编译好如果你的项目有一个2.2的最低Android版本 - 我发现如果你使用配置文件版本2.1它不起作用,但这可能是我的应用程序。 也许你的最低版本太低了? 我还设置了我的'目标'机器人是最新的...我不知道这是否也有帮助。

  3. 我说引用dll而不是项目的原因是你将获得正确的intellisense。 否则,正如您在示例项目中看到的那样,它没有(让它变得痛苦!)。

  4. 确保您在项目中引用了v4支持lib(Mono.Android.Support.v4)

  5. 最后一步是需要更改默认主题以使用Sherlock主题。 (例如,参见下面的xml)

  6. 添加Actionbars等时使用ActionbarSherlock。*命名空间...

添加ActionbarSherlock后的示例清单:

<manifest ...>
    <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="16" />
    <application android:label="IDNT" android:theme="@style/Theme.Sherlock.Light.DarkActionBar" android:icon="@drawable/Icon">
    </application>
</manifest>

请注意:所有这些都存在一个小问题......如果您的项目的最低版本低于3.0(即根据我的示例为2.2)并且您使用链接进行编译(仅限SDK程序集),您将收到错误“Mono”。 Cecil.ResolutionException:无法解析Android.Database.IDatabaseErrorHandler'。 我目前正在向Xamarin发送有关此内容的支持消息,并在我修复后修改此帖子。

编辑:要解决上面提到的问题,请确保项目选项 - >应用程序 - >最小Android到目标选项是至少4.0.3。 你的minSdkVersion仍然可以是7/8或其他什么,所以它仍然可以运行在较旧的Android版本中。 这也意味着你必须要小心你不要用更高版本的东西编码。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM