2.Android 自定义通用的Item布局
转载:http://www.jianshu.com/p/e7ba4884dcdd
BaseItemLayout
简介
在工作中经常会遇到下面的一些布局,如图标红处:
因此自定义了一个通用的Item布局,只需几行代码就可以根据需要添加任意个item。
使用
添加Gradle依赖
在 build.gradle 的 dependencies 添加
dependencies { ...
compile 'com.maiml:baseitemlayoutlibrary:1.0.0' }
- 在布局使用
<com.maiml.library.BaseItemLayout
android:id="@+id/layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:text_size = "15"
app:text_color = "@color/gray_333333"
app:icon_margin_left = "10"
app:icon_text_margin = "10"
app:arrow_margin_right = "10"
app:item_height = "50"
app:line_color = "@color/line_d6d6d6"
>
</com.maiml.library.BaseItemLayout>
- 代码中调用
layout = (BaseItemLayout) findViewById(R.id.layout);
List<String> valueList = new ArrayList<>();
valueList.add("相册");
valueList.add("收藏");
valueList.add("钱包");
valueList.add("卡包");
valueList.add("设置");
List<Integer> resIdList = new ArrayList<>();
resIdList.add(R.drawable.xc);
resIdList.add(R.drawable.sc);
resIdList.add(R.drawable.qb);
resIdList.add(R.drawable.kb);
resIdList.add(R.drawable.sz);
layout.setValueList(valueList) // 文字 list
.setResIdList(resIdList) // icon list
.setArrowResId(R.drawable.img_find_arrow) // 右边的箭头
.setArrowIsShow(true) //是否显示右边的箭头
.setItemMarginTop(10) //设置 item的边距(全部)
.setItemMarginTop(0,0) // 设置 某一个item 的边距
.setIconHeight(24) // icon 的高度
.setIconWidth(24) // icon 的宽度
.create();
- 设置监听事件
layout.setOnBaseItemClick(new BaseItemLayout.OnBaseItemClick() {
@Override
public void onItemClick(int position) {
Log.e(TAG,"----- position = " + position);
}
});
参数说明
| name | format | description |
|---|---|---|
| text_size | integer | 字体大小 |
| text_color | color | 字体颜色 |
| icon_margin_left | integer | 图标距离 左边的margin |
| icon_text_margin | integer | 文字距离 图标左边的margin |
| arrow_margin_right | integer | 箭头距离右边的margin |
| item_height | integer | item的高度 |
| line_color | color | 线的颜色 |
参数图解
源码
2.Android 自定义通用的Item布局的更多相关文章
- Android 自定义View及其在布局文件中的使用示例(三):结合Android 4.4.2_r1源码分析onMeasure过程
转载请注明出处 http://www.cnblogs.com/crashmaker/p/3549365.html From crash_coder linguowu linguowu0622@gami ...
- Android 自定义View及其在布局文件中的使用示例(二)
转载请注明出处 http://www.cnblogs.com/crashmaker/p/3530213.html From crash_coder linguowu linguowu0622@gami ...
- Android RecycleView实现混合Item布局
首先来看看效果吧: 效果预览.png 本实例来自于慕课网的视屏http://www.imooc.com/video/13046,实现步骤可以自己去观看视屏,这里只记录了下实现的代码. 添加依赖: (1 ...
- Android自定义之流式布局
流式布局,好处就是父类布局可以自动的判断子孩子是不是需要换行,什么时候需要换行,可以做到网页版的标签的效果.今天就是简单的做了自定义的流式布局. 具体效果: 原理: 其实很简单,Measure La ...
- Android 自定义通用的loadingview
介绍 好久没有写博客啦,最近在接近新年了,年前的工作都要收尾,所以特别忙,周末抽空写了个通用的加载view,写篇博客分享出来. 功能 1.显示加载视图,加载失败的时候显示加载失败视图,数据为空时显示数 ...
- Android 自定义View及其在布局文件中的使用示例
前言: 尽管Android已经为我们提供了一套丰富的控件,如:Button,ImageView,TextView,EditText等众多控件,但是,有时候在项目开发过程中,还是需要开发者自定义一些需要 ...
- Android自定义ListView的Item无法响应OnItemClick的解决办法
转: 如果你的自定义ListViewItem中有Button或者Checkable的子类控件的话,那么默认focus是交给了子控件,而ListView的Item能被选中的基础是它能获取Focus,也 ...
- Android自定义ListView的Item无法响应OnItemClick的解决办法(转)
原文链接:http://www.linuxidc.com/Linux/2011-09/43205.htm 如果你的自定义ListViewItem中有Button或者Checkable的子类控件的话,那 ...
- Android自定义滑动显示隐藏布局
方式一:上下左右滑动显示隐藏布局 总结代码地址: http://git.oschina.net/anan9303/customView参考例子: http://www.jianshu.com/p/fc ...
随机推荐
- AFNetworking 与 UIKit+AFNetworking 详解
资料来源 : http://github.ibireme.com/github/list/ios GitHub : 链接地址 简介 : A delightful iOS and OS X networ ...
- Integer.parseInt(String s) 和 Integer.valueOf(String s) 的区别
通过查看java.lang.Integer的源码可以发现, 它们最终调用的都是 /** * Parses the string argument as a signed integer in the ...
- 微软职位内部推荐-SDEII_ ECO
微软近期Open的职位: SDE II SDE II Organization Summary: Engineering, Customer interactions & Online (EC ...
- js profiler
https://developers.google.com/web/fundamentals/performance/critical-rendering-path/?hl=en https://de ...
- 这些javascript面试题,你做对了几道?
1.---------------------------------------------------- var fun = function(){ this.name = 'peter'; re ...
- HTML5+JS 《五子飞》游戏实现(一)规则
很久没写文章了,这个游戏其实已经写了有段时间了,一直没有完善,赶在新年之际,分享给大家. 该<五子飞>游戏,不是平常大家所说的<五子棋>,这个玩法简单,是我们老家儿时常玩的一种 ...
- nodejs学习之实现简易路由
此前实现了个数据转发功能,但是要建本地服务器,还需要一个简易的路由功能.因为只是用于本地服务器用于自己测试用,所以不需要太完善的路由功能,所以也就不去使用express框架,而是自己实现一个简易路由, ...
- 20151120 - 蓝牙鼠标与 WiFi 冲突的解决办法
问题现象描述:Windows 下蓝牙鼠标移动时不连贯 电脑:Dell 2015 版 NEW XPS 15 鼠标:Microsoft Bluetooth Designer Mouse 操作系统:Wind ...
- ArcGIS支持MongoDB数据源
ArcGIS支持MongoDB数据源 自从NoSQL推出之后,MongoDB就作为比较杰出的代表受到广大用户的推崇,当然,与之而来的大数据的讨论也非常激烈,GIS数据源向来都是以海量来计算,所以,GI ...
- mysql中导入txt文件
1 windows 下 mysql导入txt文件(使用mysql的workbench) load data local infile 'path' into table table_name fiel ...