一行代码实现一些通用的Item布局

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

最后

如果觉得对你有用的话,点一下Star赞一下吧!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容