Skip to content

Latest commit

 

History

History
121 lines (98 loc) · 7.14 KB

README.md

File metadata and controls

121 lines (98 loc) · 7.14 KB

#Xamarin Android TagView Xamarin Android TagView-HashTagView

Android Arsenal

Simple android view to display collection of colorful tags efficiently. You can edit the tag's style, and set listener of selecting or deleting tag. Example usages can be found in example project.

#Screen

#Feature

  • Editable Style of Text, such as Font size and color.
  • Editable Style of Tag, Background/Pressed Color, Radius effect, Custom Background, Delete mode.
  • Listener of tag selecting and deleting.
  • Can be created from XML file or C# code.

#Nuget

PM>Install-Package TagView

#Usage

<com.cunoraz.tagview.TagView
            xmlns:tagview="http://schemas.android.com/apk/res-auto"
            android:id="@+id/tag_group"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_margin="10dp" 
            tagview:lineMargin="5dp" 
            tagview:tagMargin="5dp" 
            tagview:textPaddingLeft="8dp" 
            tagview:textPaddingTop="5dp" 
            tagview:textPaddingRight="8dp" 
            tagview:textPaddingBottom="5dp" />
TagView tagGroup = (TagView)FindViewById(Resource.Id.tag_group);
//You can add one tag
tagGroup.AddTag(Tag tag);
//You can add multiple tag via ArrayList
tagGroup.AddTag(List<Tag> tags);
//Via string array
AddTags(string[] tags);

 
  //set click listener
     tagGroup.SetOnTagClickListener(new MyClick(tagGroup));
     
       private partial class MyClick : TagView.IOnTagClickListener
       {
           public TagView _tagGroup { get; set; }
           public MyClick(TagView tagGroup) {
               _tagGroup = tagGroup;
           }

           public void OnTagClick(Tag tag, int position)
           {
               ...
           }
       }
       
  //set delete listener
     tagGroup.SetOnTagDeleteListener(new MyDelete(tagGroup));
     
   	private partial class MyDelete : TagView.IOnTagDeleteListener
       {
           public TagView _tagGroup { get; set; }
           public MyDelete(TagView tagGroup)
           {
               _tagGroup = tagGroup;
           }

           public void OnTagDeleted(TagView view, Tag tag, int position)
           {
               _tagGroup.Remove(position);
           }
       }

//set long click listener
     tagGroup.SetOnTagLongClickListener(new MyLongClick(tagGroup));
     
       private partial class MyDelete : TagView.IOnTagLongClickListener
       {
           public TagView _tagGroup { get; set; }
           public MyDelete(TagView tagGroup)
           {
               _tagGroup = tagGroup;
           }

           public void OnTagDeleted(TagView view, Tag tag, int position)
           {
               ...
           }
       }

#Credits

#License Copyright 2017 Fernando Lopes.

Special thanks to the original author of the Java code: Cüneyt Çarıkçi

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.