转载:http://www.jianshu.com/p/e7ba4884dcdd

BaseItemLayout

简介

在工作中经常会遇到下面的一些布局,如图标红处:

05.png

07.png

08.png

因此自定义了一个通用的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 线的颜色

参数图解

10.png

源码

GitHub

2.Android 自定义通用的Item布局的更多相关文章

  1. Android 自定义View及其在布局文件中的使用示例(三):结合Android 4.4.2_r1源码分析onMeasure过程

    转载请注明出处 http://www.cnblogs.com/crashmaker/p/3549365.html From crash_coder linguowu linguowu0622@gami ...

  2. Android 自定义View及其在布局文件中的使用示例(二)

    转载请注明出处 http://www.cnblogs.com/crashmaker/p/3530213.html From crash_coder linguowu linguowu0622@gami ...

  3. Android RecycleView实现混合Item布局

    首先来看看效果吧: 效果预览.png 本实例来自于慕课网的视屏http://www.imooc.com/video/13046,实现步骤可以自己去观看视屏,这里只记录了下实现的代码. 添加依赖: (1 ...

  4. Android自定义之流式布局

    流式布局,好处就是父类布局可以自动的判断子孩子是不是需要换行,什么时候需要换行,可以做到网页版的标签的效果.今天就是简单的做了自定义的流式布局. 具体效果: 原理: 其实很简单,Measure  La ...

  5. Android 自定义通用的loadingview

    介绍 好久没有写博客啦,最近在接近新年了,年前的工作都要收尾,所以特别忙,周末抽空写了个通用的加载view,写篇博客分享出来. 功能 1.显示加载视图,加载失败的时候显示加载失败视图,数据为空时显示数 ...

  6. Android 自定义View及其在布局文件中的使用示例

    前言: 尽管Android已经为我们提供了一套丰富的控件,如:Button,ImageView,TextView,EditText等众多控件,但是,有时候在项目开发过程中,还是需要开发者自定义一些需要 ...

  7. Android自定义ListView的Item无法响应OnItemClick的解决办法

     转: 如果你的自定义ListViewItem中有Button或者Checkable的子类控件的话,那么默认focus是交给了子控件,而ListView的Item能被选中的基础是它能获取Focus,也 ...

  8. Android自定义ListView的Item无法响应OnItemClick的解决办法(转)

    原文链接:http://www.linuxidc.com/Linux/2011-09/43205.htm 如果你的自定义ListViewItem中有Button或者Checkable的子类控件的话,那 ...

  9. Android自定义滑动显示隐藏布局

    方式一:上下左右滑动显示隐藏布局 总结代码地址: http://git.oschina.net/anan9303/customView参考例子: http://www.jianshu.com/p/fc ...

随机推荐

  1. 深入运用js

    1,eval()函数 这个函数是获取参数的字符串,并将其作为js来处理,所以这里就有可能有人用这个来搞破坏(比如注入JS脚本文件等),所以最好的是方法是尽量少用,或者可以用new function() ...

  2. jquery 添加节点的几种方法介绍

    <html> <head> <meta http-equiv="Content-Type" content="text/html; char ...

  3. zabbix-proxy3.0.4编译安装

    数据库配置: innodb_file_per_table=1   安装mysql rpm -ivh http://dev.mysql.com/get/mysql-community-release-e ...

  4. Caffe学习系列(2):数据层及参数

    要运行caffe,需要先创建一个模型(model),如比较常用的Lenet,Alex等, 而一个模型由多个屋(layer)构成,每一屋又由许多参数组成.所有的参数都定义在caffe.proto这个文件 ...

  5. Java调用C/C++编写的第三方dll动态链接库(zz)

    这里主要用的方法是JNI.在网上查资料时看到很多人说用JNI非常的复杂,不仅要看很多的文档,而且要非常熟悉C/C++编程.恐怕有很多人在看到诸如此类的评论时已经决定绕道用其他方法了.本文将做详细的介绍 ...

  6. 2015-2016-2 《Java程序设计》项目小组博客

    2015-2016-2 <Java程序设计>项目小组博客 1451 完+美 java项目 守望先疯 JavaGroup 07_10_20_22 FromBottomToTop L.G.Su ...

  7. Safari 下用 "location.href = filePath" 实现下载功能的诡异 bug

    Safari 下的一些诡异 bug 我们已经领教一二,比如前文中说的 无痕浏览模式下使用 localStorage 的 API 就会报错.今天我们要讲的是利用 location.href = file ...

  8. Windows下搭建PHP环境:Apache+PHP+MySQL

    本文简单记录一下Windows下搭建PHP环境的过程,一些细节可以参照本文参考资料,此文不再赘述 准备工作: Windows下手工搭建PHP环境需要先下载相应的软件,需要注意的是Apache与PHP的 ...

  9. C语言printf()函数:格式化输出函数

    C语言printf()函数:格式化输出函数 头文件:#include <stdio.h> printf()函数是最常用的格式化输出函数,其原型为:     int printf( char ...

  10. vijos P1009清帝之惑之康熙

    </pre>背景康熙是中国历史乃至世界历史中最伟大的帝王之一,清除螯拜,撤除三藩,统一台湾,平定准葛尔叛乱:与此同时,出众的他也被世界各国遣清使臣所折服.康熙是历史上少有的全人,不仅文武兼 ...