Android 自定义组件成JAR包的实现方法

Android 自定义组件成JAR包的实现方法,这里对自己实现的Android View 组件进行JAR 包的处理。

在项目开发过程中,我们难免会用到自己去制作自定义的VIEW控件,之后我们别的项目如果需要的话就直接将其复制到对应的项目中使用,虽说这么做是一个解决问题的方法,但毕竟不是很好。

原因是,当我们项目积累越来越多,会发现自定义的控件越来越多,而且这些自定义的控件都是可以重复利用的,这时我们可以想想,如果把这些自定义控件都封装成一个JAR包,然后用一个项目积累起来,之后我们以后开发项目只要在原来JAR包的基础上做扩展或者直接使用,可以大大减少自己的工作重复性。

首先Android 工程的基本面貌是这样的:

当然对应的Activity 文件被我删除了,因为当编译成jar 包我们并不需要Activity 文件。

以上面这个工程为例,我们将它打包成JAR包步骤为:

右键工程选择导出:

 选择导出目标为:java->JAR文件:

 把一些不必要的文件勾选掉,如下图:

到了这一步,己经基本完成,浏览选择jar 文件导出路径即可。

导出完成后,我们就可以像使用其他JAR文件一样使用我们自己的自定义控件包了。下面给出一个小DEMO介绍如何使用这个JAR包。

步骤一:

新建文件夹lib,将jar 包放入。

步骤二:

关联JAR包,如下图:

步骤三,使用JAR包:

如下代码:

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

  xmlns:gif="http://schemas.android.com/apk/res/com.terry.jarTest"
  android:id="@+id/layout" android:orientation="vertical"
  android:layout_width="fill_parent" android:layout_height="fill_parent">

  <Button android:text="停止" android:id="@+id/Button01"
    android:layout_width="wrap_content" android:layout_height="wrap_content"></Button>
  <Button android:text="开始" android:id="@+id/Button02"
    android:layout_width="wrap_content" android:layout_height="wrap_content"></Button>

  <com.terry.gif.TypegifView
    android:layout_width="fill_parent" android:id="@+id/gifView1"
    gif:stop="true" android:layout_height="wrap_content"
    gif:delay="1"></com.terry.gif.TypegifView>

</LinearLayout>

有一个不好的就是如果你项目中存在使用属性,必须也把属性一起复制到你要使用的项目中,要不然会识别不了。

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

(0)

相关推荐

  • Android UI设计系列之自定义DrawView组件实现数字签名效果(5)

    最近项目中有个新的需求,用户在完交易需要进行输入支付密码付款的时候,要让用户签下自己的签名,提起到数字签名这个东西,感觉有点高大上,后来想想数字签名的原理也不是太复杂,主要实现原理就是利用了View的绘图原理,把用户在屏幕上的手指移动轨迹显示在屏幕上,接着把在屏幕上显示的轨迹View转换成一张图片,最后把图片保存到本地或者上传到服务器... 还是老规矩,首先看一下工程目录吧: public class DrawView extends View { /** * 签名画笔 */ private P

  • Android自定义View设定到FrameLayout布局中实现多组件显示的方法 分享

    如果想在自定义的View上面显示Button 等View组件需要完成如下任务 1.在自定义View的类中覆盖父类的构造(注意是2个参数的) 复制代码 代码如下: public class MyView2 extends View{ public MyView2(Context context,AttributeSet att) {super(context,att); } public void onDraw(Canvas c) { // 这里绘制你要的内容 } } 2.定义布局文件 复制代码

  • Android自定义组件获取本地图片和相机拍照图片

    iOS中有封装好的选择图片后长按出现动画删除效果,效果如下 而Android找了很久都没有找到有这样效果的第三方组件,最后懒得找了还是自己实现这效果吧 选择图片后还可对图片进行剪裁 当然,代码中还有很多不完善的地方,我接下来会继续完善这个组件的 已经上传到开源社区,欢迎大家来Star啊~ Demo源码:传送门 设计中的碰到的一些问题和解决思路 1.如何让加号图片显示在GridView最后面 首先在调用GridAdapter构造方法时就加载加号图片 /** * 图片适配器 * @param con

  • Android编程自定义组件实例详解

    本文实例讲述了Android编程自定义组件.分享给大家供大家参考,具体如下: 在Android中,所有的UI界面都是由View类和ViewGroup类及其子类组合而成.其中,View类是所有UI组件的基类,而ViewGroup类是容纳这些UI组件的容器. 其本身也是View类的子类. 在实际开发中,View类还不足以满足程序所有的需求.这时,便可以通过继承View类来开发自己的组件. 开发自定义组件的步骤: 1.创建一个继承android.view.View类的View类,并且重写构造方法. 2

  • Android实现Ant Design 自定义表单组件

    Ant Design 组件提供了Input,InputNumber,Radio,Select,uplod等表单组件,但实际开发中这是不能满足需求,同时我们希望可以继续使用Form提供的验证和提示等方法(使用起来确实很爽),这时需要自己动手封装一些表单,同时我们还要保持方法可以继续是使用. 组件的源码    https://github.com/haozhaohang/ant-design-expand-component 下面看一下如何自己封装表单组件,这是一个最基础的表单使用例子: impor

  • android自定义组件实现方法

    本文实例讲述了android自定义组件实现方法.分享给大家供大家参考.具体如下: atts.xml: <?xml version="1.0" encoding="utf-8"?> <resources> <declare-styleable name="TopBar"> <attr name="titleText" format="string"/> <

  • Android自定义组件ListPopWindow

    先看一下效果: 效果就是这样,看一下实现,其实也没多难,就是想开源出来供小伙伴们使用,如有不合理地方,希望大家多多指正. 1.自定义PopWindow 首先我们分析一下,这样的效果肯定是一个PopWindow嵌套着listview,而上面的title.和下面的cancel是两个文本框,实现起来也比较简单. 然后我们在PopWindow中声明两个接口,用来回调cancel和item的点击事件 public interface OnPopItemClickListener{ void onPopIt

  • Android自定义加载loading view动画组件

    在github上找的一个有点酷炫的loading动画https://github.com/Fichardu/CircleProgress 我写写使用步骤 自定义view(CircleProgress )的代码 package com.hysmarthotel.view; import com.hysmarthotel.roomcontrol.R; import com.hysmarthotel.util.EaseInOutCubicInterpolator; import android.ani

  • Android中自定义Checkbox组件实例

    在Android中,Checkbox是一个很重要的UI组件,而且在Android中,它展现的形式越来越好看,这就说明有些系统,比如4.0以下,checkbox还是比较不好看,或者跟软件的风格不协调,就需要我们自定义这个组件. 自定义这个组件很简单,简单的增加修改xml文件即可. 准备工作 准备好两张图片,一个是选中的图片,另一个是未选中的图片.本文以checked.png和unchecked.png为例. 设置选择框 在drawable下新建文件custom_checkbox.xml 复制代码

  • Android 自定义组件成JAR包的实现方法

    Android 自定义组件成JAR包的实现方法,这里对自己实现的Android View 组件进行JAR 包的处理. 在项目开发过程中,我们难免会用到自己去制作自定义的VIEW控件,之后我们别的项目如果需要的话就直接将其复制到对应的项目中使用,虽说这么做是一个解决问题的方法,但毕竟不是很好. 原因是,当我们项目积累越来越多,会发现自定义的控件越来越多,而且这些自定义的控件都是可以重复利用的,这时我们可以想想,如果把这些自定义控件都封装成一个JAR包,然后用一个项目积累起来,之后我们以后开发项目只

  • Android打包篇:Android Studio将代码打包成jar包教程

    一.新建一个as项目,再新建一个model模块 然后再app中的build.gradle中添加model的依赖.然后编译项目. 二.编译完成后,打开model下的build--intermediates--bundles目录,目录下有两个文件夹,debug,default,在default文件夹下有一个classess.jar,就是编译完成的jar包, 这里需要主要的是:因为我们使用的 as 版本不一致,所以会导致classess.jar包的目录页会不一样,不过最终的目录还是在build--in

  • 关于Android中Gradle和jar包下载慢的问题及解决方法

    gradle下载慢问题 解决方法 下载之后自行安装 ps:就是手动更新. 官网地址和gradle各版本下载地址: 官网:http://gradle.org/release-candidate/ 各版本下载地址:http://services.gradle.org/distributions 步骤一: 通过下载地址,然后用自己的下载工具(IDM.迅雷等)进行下载. 一般来说官网的稍微慢一点,看个人情况来定. 步骤二: 把下载的Gradle解压 步骤三: Android studio中选择Gradl

  • 如何自定义redis工具jar包供其他SpringBoot项目直接使用

    注:(最终redis数据库连接信息由使用者项目模块配置提供) 一.Redis常用存储操作实现(redis-util模块,该module最后会打包成jar供其他服务使用) 1.引用相关依赖 <!-- 如果有继承父级spring-boot-starter-parent,可不用添加版本号 --> <!-- Redis缓存 [start] --> <dependency> <groupId>org.springframework.boot</groupId&g

  • Idea跑的项目没问题将程序install成jar包运行报错空指针的问题

    在idea运行的程序导成jar包之后,执行程序会出现不一样的情况 首先idea运行是没问题的,我们断点看看: 然后install打包jar 以上就是实战中遇到的问题,我感觉很无奈,传入的数据是一样的,但为啥在idea中可以运行的程序使用jar包就出错了 然后我咨询了大佬,立马找到原因了 我把那段代码挪进main方法执行确实发现有些问题,然后百度了一下,最后修改成这样 重新打包jar居然成功了 总结 到此这篇关于Idea跑的项目没问题将程序install成jar包运行报错空指针的问题的文章就介绍到

  • 在idea中将java项目中的单个类打包成jar包操作

    JAR文件的全称是Java Archive File,即Java档案文件.JAR文件是一种压缩文件,与常见的ZIP压缩文件兼容,被称为JAR包. JAR文件与zip文件的主要区别是在JAR文件中默认包含了一个名为META-INF/MANIFEST.MF的清单文件,这个清单文件是在生成JAR文件时系统自动创建的. 打包jar包 1.先创建一个要打包成jar包的类 2.File -> Project Structrue -> Artifacts -> + -> JAR -> fr

  • springboot项目打包成jar包的图文教程

    目录 一.为什么打包 二.如何打包 (1)使用IDEA进行打包 (2)使用maven进行打包 三.运行jar包 四.注意 一.为什么打包 项目开发完毕后会将前后端应用打包,然后部署到服务器上运行.Java Web应用在Spring Boot之前,通常是打包成war包,结合Tomcat来完成部署.而对于SpringBoot,官方的建议是将Spring Boot应用打包成一个fat jar(SpringBoot默认打包方式),即项目的依赖jar包也会被包含在Spring Boot项目的jar包当中,

  • java命令执行jar包的多种方法(四种方法)

    大家都知道一个java应用项目可以打包成一个jar,当然你必须指定一个拥有main函数的main class作为你这个jar包的程序入口. 具体的方法是修改jar包内目录META-INF下的MANIFEST.MF文件. 比如有个叫做test.jar的jar包,里面有一个拥有main函数的main class:test.someClassName 我们就只要在MANIFEST.MF里面添加如下一句话: Main-Class: test.someClassName 然后我们可以在控制台里输入java

  • Linux下解压,压缩JAR包的简单方法

    把当前目录下的所有文件打包成project.jar jar -cvfM0 project.jar ./ -c   创建jar包 -v   显示过程信息 -f    -M -0   这个是阿拉伯数字,只打包不压缩的意思 解压project.jar jar -xvf project.jar 解压到当前目录,注意,不会创建一个game文件夹,而是将所有jar包的内容全部解压到当前文件夹. 以上这篇Linux下解压,压缩JAR包的简单方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多

随机推荐