AutoLabelUI
介绍:
自动换行的标签布局,可动态添加删除标签。
运行效果:
使用说明:
包含进项目
最新版本 1.0.0
在build.gradle中添加如下声明:
compile 'com.github.davidpizarro:autolabelui:VERSION'
你也可以把library模块放在项目中。
用法
把AutoLabelUI添加到布局:
<com.dpizarro.autolabeluilibrary.AutoLabelUI
android:id="@+id/label_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
你可以添加一些自定义的属性来实现自定义:drawables, colors, counters, background, behaviors等等。
<com.dpizarro.autolabeluilibrary.AutoLabelUI
android:id="@+id/label_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
autolabel:max_labels="10"
autolabel:show_cross="true"
autolabel:text_color="@android:color/white"
autolabel:text_size="@dimen/label_title_size"
autolabel:icon_cross="@drawable/cross"
autolabel:background_color="@color/default_background_label"
autolabel:label_clickable="true"/>
可以查看 attrs.xml 文件知道所有的属性。
配置也可以在代码中设置。使用Builder动态的使用AutoLabelUI:
AutoLabelUI mAutoLabel = (AutoLabelUI) view.findViewById(R.id.label_view);
AutoLabelUISettings autoLabelUISettings = new AutoLabelUISettings.Builder()
.withMaxLabels(5)
.withIconCross(R.drawable.cross)
.withBackgroundColor(android.R.color.holo_blue_bright)
.withLabelsClickables(false)
.withShowCross(true)
.withTextColor(android.R.color.holo_red_dark)
.withTextSize(R.dimen.label_title_size)
.build();
mAutoLabel.setSettings(autoLabelUISettings);
代码设置或者获取值:
mAutoLabel.getBackgroundColor();
mAutoLabel.getTextColor();
mAutoLabel.getTextSize();
mAutoLabel.isLabelsClickables();
mAutoLabel.setTextColor(android.R.color.holo_red_dark);
mAutoLabel.setMaxLabels(5);
...
要直到标签何时达到最大值(可设置),你需要实现onLabelsCompleted接口:
mAutoLabel.setOnLabelsCompletedListener(new AutoLabelUI.OnLabelsCompletedListener() {
@Override
public void onLabelsCompleted() {
Toast.makeText(getActivity(), "Completed!", Toast.LENGTH_SHORT).show();
}
});
要知道何时所有的标签都被删除完,你需要实现onLabelsEmpty接口:
mAutoLabel.setOnLabelsEmptyListener(new AutoLabelUI.OnLabelsEmptyListener() {
@Override
public void onLabelsEmpty() {
Toast.makeText(getActivity(), "EMPTY!", Toast.LENGTH_SHORT).show();
}
});
要是知道一个标签何时被删除,你需要实现onRemoveLabel接口:
mAutoLabel.setOnRemoveLabelListener(new AutoLabelUI.OnRemoveLabelListener() {
@Override
public void onRemoveLabel(View view, int position) {
adapter.setItemSelected(position, false);
}
});
要知道何时点击了一个标签,需要实现onClickLabel接口:
mAutoLabel.setOnLabelClickListener(new AutoLabelUI.OnLabelClickListener() {
@Override
public void onClickLabel(View v) {
Toast.makeText(getActivity(), ((Label) v).getText() , Toast.LENGTH_SHORT).show();
}
});
已下载
0