The TagGroup is a special layout with a set of tags. You can use it to tag people, books or anything you want.
- Add the following to your project level
build.gradle
:
allprojects {
repositories {
maven { url "https://jitpack.io" }
}
}
- Add this to your app
build.gradle
:
dependencies {
compile 'com.github.kizitonwose:AndroidTagGroup:1.6.0'
}
- Add the following to your
pom.xml
:
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
<dependency>
<groupId>com.github.kizitonwose</groupId>
<artifactId>AndroidTagGroup</artifactId>
<version>1.6.0</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()
.
This issues has been fixed in v1.6.0
Note: Google keyboard (a few soft keyboard not honour the key event) currently not supported "Enter" key to "submit" a new tag.
To delete a tag as user press "Backspace" key or double-tap the tag which you want to delete.
Implement a callback interface: TagGroup.OnTagClickListener
, and set the listener via setOnTagClickListener()
.
-
void onAppend()
inonTagChangedListener
is nowboolean onAppend()
This is useful if you want to check if a new tag is valid before adding to the list of tags. For instance, in a TagGroup of links, you may want to ensure that new tags are valid links, this is the right place do so. If you are not interested in validating your tags, you can just returntrue
. -
Fixed issue where tag is not submitted with enter key on some keyboards.
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) |
Jun Gu - 2dxgujun@gmail.com
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.