zoukankan      html  css  js  c++  java
  • 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文件

     

    2.在当前解决方案中再新建一个项目,但在项目选项中选中“binding library”

    会创建如下项目。

    3.找到jars文件夹,把jar文件放进去,并设置其属性的“生成操作”为“EmbeddedJar”。然后重新生成项目,如果不报错表示bind成功。

    4.在我们的第一个创建的项目中引用用来bind的项目

    引用之后双击引用名称可以看到命名空间和里面的类和方法名称。

    三、完成demo

    1.在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.效果图

  • 相关阅读:
    缺省源
    MySQL曹操外卖一
    MySQL曹操外卖二
    正确使用MySQL外键约束
    html大部分实用标签(结构型)
    html超级基础标签
    我的简单作业
    章节课程复习笔记
    FC超级玛丽研究(NES游戏)
    二维码生成
  • 原文地址:https://www.cnblogs.com/huguodong/p/5869324.html
Copyright © 2011-2022 走看看