Android 封装--SuperItemView--通用条目布局
作者:
使用场景
App日常开发中通常有一些条目布局,类似设置界面,左边图片+文字,右边图片、文字+箭头,这种布局一眼看去很简单,但是在写的时候会发现需要多层嵌套,或者相对布局各种相对,最上面有或者没有横线,所有横线间距不一样,比较痛苦。
网上有很多类似的SuperTextView,大多是一个自定义组合布局配合N多自定义属性实现,这里采用的是自定义View,主要是Canves绘制相关内容,对每个元素可以单独设置间距,和父布局之间的间距互不影响。
功能描述
一个自定义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 | 底部横线右边距 |
添加依赖
- 在Project的gradle添加仓库地址
repositories {
// jcenter()
maven{url "http://10.40.255.100:8081/artifactory/libs-release-local"}
maven{url "http://10.40.255.100:8081/artifactory/jcenter"}
}
- 在主项目的gradle添加依赖
dependencies {
compile 'com.adinnet.widget:superitemview:1.0.0'
}
网友评论