Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/193.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Mono Android中使用ActionBarSherlock_Android_Android Actionbar_Actionbarsherlock - Fatal编程技术网

在Mono Android中使用ActionBarSherlock

在Mono Android中使用ActionBarSherlock,android,android-actionbar,actionbarsherlock,Android,Android Actionbar,Actionbarsherlock,我正在尝试在单安卓应用程序中实现ActionBar。有人能为我提供将ActionBar项目包括在我的解决方案中的步骤吗?我已经看到了这个url提供的示例 我是否必须在该示例中添加ActionBarSherlock项目的引用?当我尝试添加对该项目的引用时,会出现许多错误,例如在abs_styles.xml文件中“检索项的父项时出错:未找到与给定名称“android:TextAppearance.Holo.Widget.ActionBar.Menu.”匹配的资源。” 还有其他人成功地将Action

我正在尝试在单安卓应用程序中实现ActionBar。有人能为我提供将ActionBar项目包括在我的解决方案中的步骤吗?我已经看到了这个url提供的示例

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


还有其他人成功地将ActionBarSherlock添加到Mono Android项目中吗?你能给我提供一个简单例子的工作步骤吗?

好的,这就是我如何让它工作的

  • 打开示例项目,在发布模式下仅构建“ActionBarSherlock”项目。确保最低目标android版本为4.0.3(必需)

  • 获取dll并在项目中引用它。我发现,如果你的项目有一个最低的android版本2.2,你可以让它很好地编译-我发现,如果你使用配置文件版本2.1,它不工作,但这可能是我的应用程序。也许你的最低版本太低了?我还将我的“目标”android设置为最新版本。。。我不知道这是否也有帮助

  • 我之所以说引用dll而不是项目,是因为您将获得正确的intellisense。否则,正如您在示例项目中所看到的,它不会(使处理它成为一种痛苦!)

  • 确保在项目中有对v4支持库的引用(Mono.Android.support.v4)

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

  • 添加Actionbars等时使用ActionBar Sherlock.*名称空间

  • 添加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(根据我的示例为ie 2.2),并且您使用链接(仅限于ie SDK程序集)进行编译,您将得到一个错误“Mono.Cecil.ResolutionException:无法解析Android.Database.IDatabaseErrorHandler”。我目前正在向Xamarin发送有关此问题的支持消息,并将在解决问题后编辑此帖子


    编辑:要解决我上面提到的问题,请确保project options->Application->Minimum Android To target选项至少为4.0.3。你的Minsdk版本仍然可以是7/8或者其他版本,所以它仍然可以在旧的android版本中运行。这还意味着您必须小心,不要编写用于更高版本的代码。

    谢谢。我错过了舱单上增加的内容。我感谢你的帮助!