The TagGroup is a special layout with a set of tags. You can use it to tag people, books or anything you want.
Also you can contribute new idea to me.
dependencies {
compile 'com.github.LorenzoZaccagnini:DroidTag:1.6'}
<dependency>
<groupId>com.github.LorenzoZaccagnini</groupId>
<artifactId>DroidTag</artifactId>
<version>1.6</version>
</dependency>
Use it in your own code:
<me.gujun.android.taggroup.TagGroup
android:id="@+id/tag_group"
style="@style/TagGroup" />
TagGroup mTagGroup = (TagGroup) findViewById(R.id.tag_group);
mTagGroup.setTags(new String[]{"Tag1", "Tag2", "Tag3"});
Use setTags(...)
to set the initial tags in the group.
To "submit" a new tag as user press "Enter" or tap the blank area of the tag group, also you can "submit" a new tag via submitTag()
.
To delete a tag as user press "Backspace" key or double-tap the tag which you want to delete.
Just add a string array, this an example for a fragment
private String[] suggestionsArray = { "Tag1", "Tag2", "Tag3", "Tag4", "Tag5"};
mTagGroup.setOnTagCharEntryListener(new TagGroup.OnTagCharEntryListener() {
@Override
public void onCharEntry(String text) {
mTagGroup.getTagView().setAdapter(new ArrayAdapter<>(getActivity(), android.R.layout.simple_list_item_1, suggestionsArray));
}
});
Implement a callback interface: TagGroup.OnTagClickListener
, and set the listener via setOnTagClickListener()
.
run ./gradlew assembleDebug
(Mac/Linux)
or
run gradlew.bat assembleDebug
(Windows)
There are several attributes you can set:
attr | default | mean |
---|---|---|
atg_isAppendMode | false | Determine the TagGroup mode, APPEND or single DISPLAY. |
atg_inputHint | Add Tag/添加标签 | The hint of the INPUT tag. |
atg_borderColor | #49C120 | The tag outline border color. |
atg_textColor | #49C120 | The tag text color. |
atg_backgroundColor | #FFFFFF | The tag background color. |
atg_dashBorderColor | #AAAAAA | The tag dash outline border color. |
atg_inputHintColor | #80000000 | The input tag hint text color. |
atg_inputTextColor | #DE000000 | The input tag type text color.. |
atg_checkedBorderColor | #49C120 | The checked tag outline border color. |
atg_checkedTextColor | #FFFFFF | The checked text color. |
atg_checkedMarkerColor | #FFFFFF | The checked marker color. |
atg_checkedBackgroundColor | #49C120 | The checked tag background color. |
atg_pressedBackgroundColor | #EDEDED | The tag background color when the tag is being pressed. |
atg_borderStrokeWidth | 0.5dp | The tag outline border stroke width. |
atg_textSize | 13sp | The tag text size. |
atg_horizontalSpacing | 8dp | The horizontal tag spacing.(Mark1) |
atg_verticalSpacing | 4dp | The vertical tag spacing.(Mark2) |
atg_horizontalPadding | 12dp | The horizontal tag padding.(Mark3) |
atg_verticalPadding | 3dp | The vertical tag padding.(Mark4) |
Lorenzo Zaccagnini - [email protected]
Jun Gu - [email protected]
Copyright 2015 Jun Gu
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.