Home

Awesome

TagLayout

Apache 2.0 License

多功能的标签流布局

Screenshot

不同标签形状:

标签单选和多选模式:

标签编辑模式:

标签换一换模式:

单个标签的其它用法:

dependence

你需要在项目的根 build.gradle 加入如下JitPack仓库链接:

allprojects {
		repositories {
			...
			maven { url 'https://jitpack.io' }
		}
	}

接着在你的需要依赖的Module的build.gradle加入依赖:

compile 'com.github.Rukey7:TagLayout:{lastest-version}'

其中 {lastest-version} 为最新的版本,你可以查看上面显示的jitpack版本信息,也可以到jitpack.io仓库查看。

Usage

在布局中直接使用:


	<!-- 标签布局 -->
	<com.dl7.tag.TagLayout
        android:id="@+id/tag_layout_1"
        style="@style/TagLayout.RandomColor"
        app:tag_layout_fit_num="3"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"/>

	<!-- 单个标签独立使用 -->
	<com.dl7.tag.TagView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="20dp"
            android:text="删除"
            app:tag_border_color="@android:color/holo_red_light"
            app:tag_icon="@mipmap/ic_delete"
            app:tag_press_feedback="true"
            app:tag_text_color="@android:color/holo_red_light"/>

属性设置

标签布局属性(有对应接口):

nameformatdescription
tag_layout_modeenum{normal,edit,change,single_choice,multi_choice}, 分别为正常、编辑、换一换、单选和多选等模式
tag_layout_shapeenum{round_rect,arc,rect},标签形状分别为圆角矩形、圆弧形和直角矩形,默认round_rect
tag_layout_random_colorboolean随机颜色
tag_layout_press_feedbackboolean按压反馈效果
tag_layout_fit_numinteger设置一行固定显示几个标签
tag_layout_bg_colorcolor标签布局背景颜色
tag_layout_border_colorcolor标签布局边框颜色
tag_layout_border_radiusdimension标签布局边框圆角弧度
tag_layout_border_widthdimension标签布局边框大小
tag_layout_vertical_intervaldimension标签垂直间隔
tag_layout_horizontal_intervaldimension标签水平间隔
tag_view_bg_colorcolor标签背景颜色
tag_view_border_colorcolor标签边框颜色
tag_view_text_colorcolor标签字体颜色
tag_view_bg_color_checkcolor标签选中背景颜色
tag_view_border_color_checkcolor标签选中边框颜色
tag_view_text_color_checkcolor标签选中字体颜色
tag_view_border_widthdimension标签边框大小
tag_view_border_radiusdimension标签边框圆角弧度
tag_view_vertical_paddingdimension标签垂直填充
tag_view_horizontal_paddingdimension标签水平填充
tag_view_icon_paddingdimension标签icon和文字的间隔
tag_view_text_sizedimension标签字体大小(1.0.5由float改为dimension)
tag_layout_horizontal_reverseboolean水平反向排列(RTL)

标签属性:

nameformatdescription
tag_modeenum{normal,check,icon_check_invisible,icon_check_change}, 分别为正常、可选中、选中图标消失和选中换图标等模式
tag_shapeenum{round_rect,arc,rect},标签形状分别为圆角矩形、圆弧形和直角矩形,默认round_rect
tag_auto_checkboolean使能自动点击选中操作
tag_press_feedbackboolean按压反馈效果
tag_checkedboolean初始选中状态
tag_iconreference标签图标
tag_icon_changereference标签选中时替换的图标(icon_check_change模式)
tag_text_checkstring标签选中时替换的字符
tag_bg_colorcolor标签背景颜色
tag_border_colorcolor标签边框颜色
tag_text_colorcolor标签字体颜色
tag_bg_color_checkcolor标签选中背景颜色
tag_border_color_checkcolor标签选中边框颜色
tag_text_color_checkcolor标签选中字体颜色
tag_border_widthdimension标签边框大小
tag_border_radiusdimension标签边框圆角弧度
tag_vertical_paddingdimension标签垂直填充
tag_horizontal_paddingdimension标签水平填充
tag_textdimension标签icon和文字的间隔
tag_icon_paddingdimension标签icon和文字的间隔
tag_textstring标签字符
tag_text_sizedimension标签字体大小
tag_gravityenum图标放置位置,只支持left和right

ChangeLog

1.0.4 -> 1.0.5

1、重写TagView直接继承View,简化了代码逻辑,不再支持TextView的android:text和android:textSize属性,替换为自定义的tag_text和tag_text_size属性;

2、增加了tag_gravity属性来设置Drawable的放置位置,只支持left和right;

1.0.5 -> 1.0.6

1、添加水平反向排列属性(tag_layout_horizontal_reverse);

License

Copyright 2017 Rukey7

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.