zoukankan      html  css  js  c++  java
  • 2.Android 自定义通用的Item布局

    转载: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);
                }
            });

    参数说明

    nameformatdescription
    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

  • 相关阅读:
    Python logging根据时间创建日志文件
    ORACLE Merge into 使用
    go安装goctl
    Oracle 行转列
    ORACLE with as查询优化
    Linux环境使用Docker安装MongoDb
    Linux环境使用Docker安装MySql
    Docker基础操作
    Linux基础命令
    Ansible自动化运维介绍
  • 原文地址:https://www.cnblogs.com/benchao/p/6056152.html
Copyright © 2011-2022 走看看