2016-04-20 50 views
1

使用Java库,我想从GitHub这个浮动操作按钮库添加到我的Visual Studio项目: https://github.com/Clans/FloatingActionButtonXamarin的Android绑定,并在Visual Studio

我跟着这个描述建议增加绑定库(安卓)。 (https://developer.xamarin.com/guides/android/advanced_topics/binding-a-java-library/binding-a-jar/

我试着用的.jar.aar文件的结合。 这些文件似乎是确定,但进口过程中出现了以下情况除外:

BINDINGSGENERATOR : warning BG8601: No packages found 

OR

JARTOXML : warning J2X9001: Couldn't load class com/github/clans/fab/FloatingActionButton$1 : java.lang.NoClassDefFoundError: android/view/ViewOutlineProvider 

任何帮助表示赞赏。

回答

1

虽然SushiHangovers回答是正确的术语,做你的拥有约束力。 如果你只是想利用Clans Floating Action Button库,你可以很容易地安装FAB.XamarinAndroid via nuget,它已经为你完成了这个库的绑定。

编辑

GitHub repo在这里你可以看到绑定项目是如何构成的。

1

从头开始(这是最干净的结合我做的一个,通常你结束了很多改造...)

  • 开始,通过创建模板的新Xamarin.Android解决方案/项目。

  • 将Android库绑定项目添加到您的解决方案。

  • 添加fab-1.6.3.aarJars文件夹:

(我用在Github上项目的网站上列出的direct link to Maven Central

注:确保.arr被标记为LibraryProjectZip构建行动在添加它之后。

建立绑定项目,你应该得到一些关于覆盖但没有错误的警告。

  • 转到您的主Xamarin.Android应用程序项目并添加对绑定项目的引用。

  • 打开你的资源/布局/ Main.axml文件并替换内容:


<?xml version="1.0" encoding="utf-8"?> 
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:fab="http://schemas.android.com/apk/res-auto" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 
    <ListView 
     android:id="@+id/list" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" /> 
    <com.github.clans.fab.FloatingActionButton 
     android:id="@+id/fab" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="bottom|right" 
     android:layout_marginBottom="8dp" 
     android:layout_marginRight="8dp"/> 
</FrameLayout> 
  • 编译和运行它在你的模拟器,不性感相当,但因为有是没有代码填充任何东西,但它的工作原理:

enter image description here

注意:我继续并从其github示例中导入全部资源,否则,如果您开始使用其示例xml布局和代码,则最终会出现大量关于缺少资源的编译错误。

FloatingActionButton/sample/src/main/res: 
anim   drawable-xxhdpi  mipmap-xhdpi 
drawable  drawable-xxxhdpi mipmap-xxhdpi 
drawable-hdpi  layout   values 
drawable-mdpi  menu   values-v21 
drawable-v21  mipmap-hdpi  values-w820dp 
drawable-xhdpi  mipmap-mdli 

,并转换Java代码的足够的MainActivity OnCreate和片段来测试它,一切正常,我试图:

enter image description here

+1

我试过你的解决方案,并且进一步了一点 - >现在编译没有任何异常。不幸的是,在执行过程中,我得到以下异常:引起:java.lang.ClassNotFoundException:找不到类“com.github.clans.fab.FloatingActionButton” – CreateAHero

+0

您是否已将Android库绑定项目作为项目添加到主Android应用程序参考? – SushiHangover

+0

是的 - 我按照你的指示。这有点奇怪 - 来自Xamarin演示的官方文件正在工作。 https://developer.xamarin.com/guides/android/advanced_topics/binding-a-java-library/binding-an-aar/(textanalyzer.aar) – CreateAHero

相关问题