SuperItemView--通用条目布局

2017-09-14  本文已影响28人  极简coder

Android 封装--SuperItemView--通用条目布局

作者:

使用场景

App日常开发中通常有一些条目布局,类似设置界面,左边图片+文字,右边图片、文字+箭头,这种布局一眼看去很简单,但是在写的时候会发现需要多层嵌套,或者相对布局各种相对,最上面有或者没有横线,所有横线间距不一样,比较痛苦。
网上有很多类似的SuperTextView,大多是一个自定义组合布局配合N多自定义属性实现,这里采用的是自定义View,主要是Canves绘制相关内容,对每个元素可以单独设置间距,和父布局之间的间距互不影响。

条目.png

功能描述

一个自定义View,通过Canves绘制实现通用条目布局,各个元素可以单独设置padding,与父布局互不影响。

<com.adinnet.widget.SuperItemView
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:layout_marginTop="100dp"
        app:icon_left="@mipmap/icon_delete"
        app:text_left="左边文字"
        app:text_left_size="15sp"
        app:text_left_color="#987"
        app:left_text_paddingLeft="5dp"
        app:arrow="@mipmap/icon_farward"
        app:text_right="右边文字"
        app:right_drawable="@mipmap/icon_delete"
        app:text_right_color="#789"
        app:text_right_size="13sp"
        app:right_text_paddingRight="5dp"
        app:show_has_new="true"
        app:point_color="#f0f"
        app:bottom_line_paddingRight="10dp"
        app:bottom_line_paddingLeft="15dp"
        app:show_bottom_line="true"
        app:line_color="#0f0"
        app:show_top_line="true"
        app:top_line_paddingLeft="20dp"
        app:top_line_paddingRight="15dp"
        android:paddingLeft="15dp"
        android:paddingRight="10dp"/>
Attr Name Descripe Default
left_drawable 左侧图标
right_drawable 右侧箭头左边图标
arrow 右侧箭头
text_left 左侧文字
text_left_size 左侧文字大小
text_left_color 左侧文字颜色
left_text_paddingLeft 左侧文字左内边距
text_right 右侧文字
text_right_color 右侧文字颜色
text_right_size 右侧文字大小
right_text_paddingRight 右侧文字右内边距
show_has_new 右侧文字右上角红点
point_color 右侧文字右上角点颜色 0xFFFF6E2A
show_bottom_line 是否显示底部横线 true
show_top_line 是否显示顶部横线 false
line_color 横线颜色 0xFFE1E1E1
top_line_paddingLeft 顶部横线左边距
top_line_paddingRight 顶部横线右边距
bottom_line_paddingLeft 底部横线左边距
bottom_line_paddingRight 底部横线右边距

添加依赖

repositories {
//        jcenter()
    maven{url "http://10.40.255.100:8081/artifactory/libs-release-local"}
    maven{url "http://10.40.255.100:8081/artifactory/jcenter"}
}
dependencies {
    compile 'com.adinnet.widget:superitemview:1.0.0'
}
上一篇下一篇

猜你喜欢

热点阅读