零门槛!ZBLibrary仿微信朋友圈自定义View,就是这么简单!

传统方法是继承现有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代码为你想要的,就这么简单!

 

附源码(含使用方法)

GitHub源码      https://github.com/TommyLemon/Android-ZBLibrary 
开源中国源码    http://git.oschina.net/Lemon19950301/Android-ZBLibrary

注:ZBLibrary自定义View方式不是万能的,实现一些特殊功能还是要用继承现有View的方式,不过在大多数情况下ZBLibrary都能用并且比继承现有View好很多。

时间: 2024-10-08 12:41:40

零门槛!ZBLibrary仿微信朋友圈自定义View,就是这么简单!的相关文章

Android 修改源码自定义SwipeRefreshLayout样式——高仿微信朋友圈下拉刷新

修改源码自定义SwipeRefreshLayout样式——高仿微信朋友圈下拉刷新 原文地址:https://www.cnblogs.com/zhujiabin/p/8194996.html

Android 仿微信朋友圈发动态功能(相册图片多选)

代码分享 代码名称: 仿微信朋友圈发动态功能(相册图片多选) 代码描述: 仿微信朋友圈发动态功能(相册图片多选) 代码托管地址: http://www.apkbus.com/android-152760-1-1.html 代码作者: 楼主 代码效果图: 本帖最后由 ^.^ 于 2014-7-8 16:23 编辑 <ignore_js_op> <ignore_js_op> <ignore_js_op> DEMO一共13个类 大约2000行代码,童鞋们耐心点看基本思路是:1

Android:NineGridLayout — 仿微信朋友圈和QQ空间的九宫格图片展示自定义控件

NineGridLayout 一个仿微信朋友圈和QQ空间的九宫格图片展示自定义控件. GitHub:https://github.com/HMY314/NineGridLayout 一.介绍 1.当只有1张图时,可以自己定制图片宽高,也可以使用默认九宫格的宽高: 2.当只有4张图时,以2*2的方式显示: 3.除以上两种情况下,都是按照3列方式显示,但这时有一些细节: a.如果只有9张图,当然是以3*3的方式显示: b.如果超过9张图,可以设置是否全部显示. 如果设置不完全显示,则按照3*3的方式

仿微信朋友圈点赞和评论功能

仿微信朋友圈点赞和评论功能 最近在做朋友圈的项目,所以写一个Demo,代码就是简单实现了一下功能,没有做优化,凑合看 图文排列是用的RecyclerView实现的,弹窗效果是用的自定义的PopupWindow,点赞应该是在本地请求数据库,设置一个flag,获取当前用户的id后,带着id向服务器post一个flag,评论就比较简单了,也是获取当前朋友id(或者昵称),带着内容,向服务器post 贴代码: package com.example.lenovo.dianzandemo; import

高仿微信朋友圈

简单介绍 写这个微信朋友圈的目的是今年公司开展了一个趣味运动会,有一个比赛项目是微信点赞.对于我们程序猿来说,这不是送分嘛.于是我们团队光荣的把这个写一个朋友的任务交给了我,要求是类似度百分之99以上,能上传自己定义照片,能更改点赞数与评论数.包含姓名.日期等都能改,于是花费了3天时间写了这个高仿的微信,因为时间关系,代码写的不是非常好.多多谅解.须要的朋友也能够继续完好.因为功能也不少.就不贴代码,直接上图,后面会给下载Demo链接. 主界面 我的相冊 这里提示一下.长按点击我的相冊右上角的相

仿微信朋友圈发图片

仿微信朋友圈发图片 下载地址:http://www.devstore.cn/code/info/934.html 运行截图:    

ReactNative仿微信朋友圈App

摘要: 欢迎各位同学加入: React-Native群:397885169 大前端群:544587175 大神超多,热情无私帮助解决各种问题. 一.前沿||潜心修心,学无止尽.生活如此,coding亦然.本人鸟窝,一只正在求职的鸟.联系我可以直接微信:jkxx123321 二.关于该App的介绍,采用UGC用户共享内容,用户下载注册后,可以发布内容到平台,多用户之间可以相互关注(关注也相当于加好友了)用到的核心技术不多,后期持续跟新,项目完善后会上传github共享.**该App本人还基于Nod

IOS仿微信朋友圈好友展示

前几天小伙伴要帮他做一个群聊功能,里面有好友列表,要求和微信的差不多(见下图),让小伙伴自己实现了下,他将CollectionView放在tableView的tableHead中,可是当添加好友或删除好友刷新数据源的时候并没有效果.让他将CollectionView放在tableView的cell中,结果是数据刷新了可是还是有问题删除后刷新数据时CollectionView的高度变的有问题,我就调了下,实现比较简单,只是一些细节问题,现在效果还蛮不错的,分享一下. 1.定义CollectionV

超简单--仿微信朋友圈展开显示更多文字功能

在做的项目需要这个功能.而且是挺常用的一个功能. 需求是有一个评论列表,太多时要隐藏,然后点击展开更多按钮就可以显示全文. 思路就是可以弄俩TextView,一个MaxLine为n,一个不限制,然后再弄个按钮控制两个TextView交替显示. 有了思路马上动手,然后发现这个效果真是很简单就实现了..效果图 好了,废话不多说,上代码.讲解不会很多,因为实在太简单了... <?xml version="1.0" encoding="utf-8"?> <