Xamarin.Android 入门之(Bind java的jar文件+Android显示gif图片)

智者不为愚者谋,勇者不为怯者死。这篇文章主要讲述Xamarin.Android 入门之:Bind java的jar文件+Android显示gif图片相关的知识,希望能为你提供帮助。
一、引言在xamarin开发的时候,有时我们想要做一个功能,但是这个功能已经有人用java写好了,并且打包成了jar文件。那么我们可以直接把对方的jar文件拿过来用而不是重新用c#写代码。
关于bind jar更详细的内容可以查看https://developer.xamarin.com/guides/android/advanced_topics/binding-a-java-library/  ,这边只是做最简单的绑定。
二、Bind JAR现在我想做一个功能,使在手机中显示gif图片,普通的Android控件是没有办法显示的,于是我去百度搜索,最后搜到了,找到一个别人做好的代码并编译成了jar文件,于是我需要把他的jar文件bind到我的vs项目中。
 
1.新建一个项目,在resource文件夹的drawable子文件夹下放入一个gif文件

 

Xamarin.Android 入门之(Bind java的jar文件+Android显示gif图片)

文章图片

2.在当前解决方案中再新建一个项目,但在项目选项中选中“ binding library”
Xamarin.Android 入门之(Bind java的jar文件+Android显示gif图片)

文章图片

会创建如下项目。
Xamarin.Android 入门之(Bind java的jar文件+Android显示gif图片)

文章图片

3.找到jars文件夹,把jar文件放进去,并设置其属性的“ 生成操作” 为“ EmbeddedJar” 。然后重新生成项目,如果不报错表示bind成功。
Xamarin.Android 入门之(Bind java的jar文件+Android显示gif图片)

文章图片

 
4.在我们的第一个创建的项目中引用用来bind的项目
Xamarin.Android 入门之(Bind java的jar文件+Android显示gif图片)

文章图片

引用之后双击引用名称可以看到命名空间和里面的类和方法名称。
Xamarin.Android 入门之(Bind java的jar文件+Android显示gif图片)

文章图片

三、完成demo1.在main.axml文件中加入以下代码,com.ant.liao.GifView表示引用com.ant.liao的  GifView控件
< ?xml version="1.0" encoding="utf-8"?> < LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> < com.ant.liao.GifView android:id="@+id/gif1" android:layout_height="wrap_content" android:layout_width="wrap_content" android:paddingRight="14px" android:enabled="false" android:visibility="visible" /> < TextView android:id="@+id/tsxt" android:layout_height="wrap_content" android:layout_width="wrap_content" android:paddingRight="4px" android:enabled="false" android:text="click the Angel" /> < /LinearLayout>

2.在MainActivity.cs文件中添加以下代码
using System; using Android.App; using Android.Content; using Android.Runtime; using Android.Views; using Android.Widget; using Android.OS; using Com.Ant.Liao; namespace GifDemo { [Activity(Label = "GifDemo", MainLauncher = true, Icon = "@drawable/icon")] public class MainActivity : Activity, ImageView.IOnClickListener {private Com.Ant.Liao.GifView gif; //定义gif控件 private Boolean f = true; protected override void OnCreate(Bundle bundle) { base.OnCreate(bundle); SetContentView(Resource.Layout.Main); gif = FindViewById< Com.Ant.Liao.GifView> (Resource.Id.gif1); //gif.SetShowDimension(500, 500); gif.SetGifImageType(Com.Ant.Liao.GifView.GifImageType.Cover); gif.SetGifImage(Resource.Drawable.demo); gif.SetOnClickListener(this); //设置点击暂停 }public void OnClick(View v) { if (f) { gif.ShowCover(); f = false; } else { gif.ShowAnimation(); f = true; } } } }

3.效果图
Xamarin.Android 入门之(Bind java的jar文件+Android显示gif图片)

文章图片

【Xamarin.Android 入门之(Bind java的jar文件+Android显示gif图片)】 

    推荐阅读