零门槛!ZBLibrary仿微信朋友圈自定义View,就是这么简单!
2019独角兽企业重金招聘Python工程师标准>>>
传统方法是继承现有View再重写方法,这种方式缺点很多:
1.往往不能在xml编辑器中预览效果;
2.比较难实现预期效果,比如设置宽度为wrap_content,实际显示为match_parent等;
3.需要在xml代码中声明自定义View的全路径,经常无法自动补全,需要手动复制粘贴路径;
4.一旦自定义View修改了全路径(移动至其它package、删除等),xml代码中并不会同步,但能编译通过,然后在渲染这个自定义View时崩溃;
5.需要学习draw,measure等平时比较少用的方法;
6.需要维护大量代码,constructor就得重写3个。
使用ZBLibrary自定义View,以上通通不是问题!!!
最终效果图和源码如下
下载试用 TestSelfDefineView.apk
下载源码 TestSelfDefineView.zip
如何使用ZBLibrary自定义View
一、准备
1.依赖ZBLibrary
2.分别复制DemoView,demo_view,KeyValueBean到你自己项目的对应目录下
二、使用
这里以MainActivity和MainActivity的界面布局activity_main做示范
1.在activity_main中的根布局(最外层布局)内添加以下代码
<LinearLayout
android:id="@+id/llMainContainer"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
</LinearLayout>
2.添加以下代码到MainActivity的onCreate方法或者它里面调用的方法中。
ImageLoaderUtil.init(this);
LinearLayout llMainContainer = (LinearLayout) findViewById(R.id.llMainContainer);
llMainContainer.removeAllViews();
DemoView demoView = new DemoView(this, null);
llMainContainer.addView(demoView.getView());
KeyValueBean data = new KeyValueBean("KEY", "123");
demoView.setView(data);
3.修改复制过来的DemoView中的KeyValueBean路径为你项目中的路径,这里为 com.example.testselfdefinview.KeyValueBean,然后运行看效果
三、修改
1.分别改名称为你需要的,这里分别改为MyView,MyBean,my_view以作示范。
2.将MyView中import zuo.biao.library.R;中的zuo.biao.library路径替换为你项目的路径。
3.将MyView中的demo_view改为my_view;将MainActivity,MyView,my_view中的"DemoView"全部改为"MyView"。
4.运行测试。如果出现问题,检查以上步骤。
5.到这一步,将MyView看成一个Activity,将my_view看成这个Activity的界面布局,然后修改MyView,MyBean,my_view代码为你想要的,就这么简单!
注:ZBLibrary自定义View方式不是万能的,实现一些特殊功能还是要用继承现有View的方式,不过在大多数情况下ZBLibrary都能用并且比继承现有View好很多。
ZBLibrary-Android快速开发框架
下载地址(欢迎Star,欢迎Fork)
https://github.com/TommyLemon/Android-ZBLibrary
下载试用
ZBLibraryDemoApp.apk
转载于:https://my.oschina.net/tommylemon/blog/666625
零门槛!ZBLibrary仿微信朋友圈自定义View,就是这么简单!相关推荐
- Android自定义弹窗模仿微信,Android 仿微信朋友圈点赞和评论弹出框功能
本文简单模仿微信朋友圈的点赞和评论弹出框,布局等细节请忽略,着重实现弹出框.发评论,及弹出位置的控制. 1. 微信弹出框 微信朋友圈的点赞和评论功能,有2个组成部分: 点击左下角的"更多&q ...
- Android仿微信朋友圈2自定义点赞评论弹框
最近在做类似微信朋友圈点赞评论的功能,有个点赞评论弹框交互,感觉效果很好,点击评论按钮弹框从按钮左边弹出,遇到了3个问题(弹出动画不对.弹框布局没有适配.弹出的位置显示不对),动画和布局好解决,弹出的 ...
- android 微信朋友圈 全功能,Android仿微信朋友圈文字展开全文功能 Android自定义TextView仿微信朋友圈文字展开全文功能...
Android自定义TextView仿微信朋友圈文字信息,展开全文功能 代码及注释如下: 首先写一个xml文件 showmore.xml: android:orientation="vert ...
- android 微信朋友圈 全功能,Android自定义TextView仿微信朋友圈文字展开全文功能
Android自定义TextView仿微信朋友圈文字信息,展开全文功能 代码及注释如下: 首先写一个xml文件 showmore.xml: android:orientation="vert ...
- 仿微信朋友圈【九宫格的实现】
仿微信朋友圈[九宫格的实现] 标签: 九宫格自定义viewgroup 2017-04-18 18:39 561人阅读 评论(0) 收藏 举报 分类: Android(25) 版权声明:本 ...
- android从九宫格全屏预览,仿微信朋友圈展示图片的九宫格图片展示控件,支持点击图片全屏预览大图...
AssNineGridView 仿微信朋友圈展示图片的九宫格图片展示控件,支持点击图片全屏预览大图(可自定义). 写在前面 这是一个九宫格控件,本来是很久之前就写好了,现在才开源出来,也是看了很多优秀 ...
- android com.mylhyl,Android 高仿微信朋友圈拍照上传功能
模仿微信朋友圈发布动态,输入文字支持文字多少高度自增,有一个最小输入框高度,输入文字有限制,不过这些都很easy! 1. photopicker的使用 这是一个支持选择多张图片,点击图片放大,图片之间 ...
- 安卓开发仿微信图片拖拽_仿微信朋友圈发表图片拖拽和删除功能
原标题:仿微信朋友圈发表图片拖拽和删除功能 中国联通在香港公布了上市公司2017年中期业绩.2017年上半年,公司主要业绩指标持续向好,收入稳步回升,服务收入达到人民币1,241.1亿元,同比增长3. ...
- 自定义控件 仿微信朋友圈文字展开全文功能
自定义TextView仿微信朋友圈文字信息,展开全文功能 代码及注释如下: 首先写一个xml文件 showmore.xml: <?xml version="1.0" enco ...
最新文章
- CI框架常用函数(AR数据库操作的常用函数)
- CUDA高性能计算经典问题:前缀和
- HTML5仿微信聊天界面、微信朋友圈实例
- python 二叉树中所有距离为k的节点_leetcode 二叉树中所有距离为 K 的结点
- 实例讲解sed的9种常见用法
- Java Script Closure(js闭包)-浅谈
- VTK:Picking之CellPicking
- 用母函数的思路解释母函数的代码
- c mvc html 选中删除,在 MVC htmlAttribute中,如何设置被禁用_CSharp_开发99编程知识库...
- 推荐一款好用的jquery弹出层插件——wbox
- python网络编程01/网络协议
- PointCNN程序简介
- 安装 Unity Hub 发现 进不了 Unity3D 了
- 苹果MacBook Pro笔记本使用U盘重装win10系统教程
- Camera-3A AE/AWB/AF
- python读取加密excel_python使用pywin32模块给excel文件加密解密
- .NET编程和SQL Server ——Sql Server 与CLR集成
- Tomcat-- 掌握汤姆猫,看这一篇文章就够了
- 实际打印纸张的横向设置不起作用的问题
- 十一月月底总结及十二月展望
热门文章
- postgresql 备份 java_用JAVA执行CMD命令备份PG数据库,解决需要输入口令的问题
- java swing 如何设置按钮大小_Java Swing - Button不改变宽度的大小
- python 网站模板_使用Python抓取模板之家的CSS模板
- JAVA操作属性文件,可进行读 写 更改
- Spark基础学习笔记11:Scala运算符
- Spring Boot基础学习笔记11:Spring MVC
- Python案例:求转置矩阵
- 数据库笔记03:管理数据表中的数据
- bzoj1037 [ZJOI2008]生日聚会Party 插数dp
- 20178.27 万径人踪灭 思考记录