Giter Site home page Giter Site logo

androidtagview's People

Contributors

anantshah93 avatar anhtuan23 avatar anpez avatar capezzbr avatar mzelzoghbi avatar skyfe79 avatar whilu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

androidtagview's Issues

sometimes click on tags not recognized!

I use this library in items of recyclerview and set onClickListener to each of tags :
`mTagContainerLayout.setOnTagClickListener(new TagView.OnTagClickListener() {

@Override
public void onTagClick(int position, String text) {

}

@Override
public void onTagLongClick(final int position, String text) {
    
}

});`

My recyclerview items are cardViews and I set onClickListener to their cardview too.

My problem is sometimes when I click on tags, nothing happens and sometimes my code in onclickListener works! why?

Selected state for TagView

I wonder if we can set selected state when we click on a TagView. Or at least, should we have getTagView(int position) method in the TagContainerLayout and an attrs to set TagView's background?

enhancement support

is there a way to adding a layout mode

  1. single selection - it will change the background color or any configuration on the tagView as selected and others are reverted back to the original configuration.
  2. multiple selection - by tap on each item it will change the configuration such as background, font name, font size, border color... and by taping again it will revert the configuration to original.
  3. drag and drop - using the same original setting.

let me know if u want make such edits. many thanks

UnsupportedOperationException GLES20Canvas.clipPath in 4.0

1 android.view.GLES20Canvas.clipPath(GLES20Canvas.java:424)
2 co.lujun.androidtagview.TagView.void drawRipple(android.graphics.Canvas)(SourceFile:329)
3 co.lujun.androidtagview.TagView.void onDraw(android.graphics.Canvas)(SourceFile:189)
4 android.view.View.draw(View.java:10988)
5 android.view.View.getDisplayList(View.java:10427)
6 android.view.ViewGroup.drawChild(ViewGroup.java:2850)
7 android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489)
8 android.view.View.draw(View.java:10991)
9 android.view.View.getDisplayList(View.java:10427)
10 android.view.ViewGroup.drawChild(ViewGroup.java:2850)
11 android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489)
12 android.view.View.getDisplayList(View.java:10425)
13 android.view.ViewGroup.drawChild(ViewGroup.java:2850)
14 android.support.v7.widget.RecyclerView.drawChild(SourceFile:3838)
15 android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489)

I used this view, I found the attributes about tags are not wored;

    way one:
    app:tag_text_color="@color/primary_blue"
    app:tag_border_color="@color/primary_blue"
    app:tag_background_color="@color/list_bg"
    way two:
    serchFgTagView.setTagBorderColor(getResources().getColor(R.color.primary_blue));
    serchFgTagView.setTagBackgroundColor(getResources().getColor(R.color.primary_blue));
    serchFgTagView.setTagTextColor(getResources().getColor(R.color.primary_blue));

These things that i used is not work, why?

Query : How to change background color or set background drawable to a specific TAG for onClick event

I want to set different drawable/color to a specific tag on onClick on that tag. Pls suggest me the way to do so.

Below is my code:

xml:

      app:container_border_color="@android:color/transparent"
        app:container_background_color="@android:color/transparent"
        app:tag_background_color="@android:color/transparent"
        app:tag_border_color="@color/deep_rose_two"
        app:container_enable_drag="false"
        app:horizontal_interval="10dp"
        app:tag_clickable="true"
        app:tag_text_color="@color/black"
        app:tag_text_size="12sp"
        app:tag_theme="none"
        app:vertical_interval="10dp"

Code:

     for (int i = 0; i < 10; i++) {
           tags.add("Tag " + (i + 1));
       }
       List<int[]> colors = new ArrayList<int[]>();
       tagContainer.setTags(tags, colors);
       tagContainer.setOnTagClickListener(new TagView.OnTagClickListener() {
        
     @Override
           public void onTagClick(int position, String text) {
             Log.d(TAG, "onTagClick: position: "+position+", text: "+text);
         tagContainer.setTagBackgroundColor(getResources().getColor(R.color.deep_rose_two));
               tagContainer.setTagTextColor(getResources().getColor(R.color.white));
        }

        @Override
           public void onTagLongClick(final int position, String text) {
          }

           @Override
           public void onTagCrossClick(int position) {
          }
       });

use in item of RecyclerView

I'm using your TagContainerLayout in the item of RecyclerView. I observed that the width of TagContainerLayout will always fill parent, it caused my trigger of item's onclick listener be overlapped.
I had tried to set layout_width="wrap_content" and set onclick listener to TagContainerLayout, both failed.

在ListView的Item里面,ListView的OnItemClick事件处理

我把 TagContainerLayout 放在了ListView的Item布局里面,也已经设置了app:tag_clickable="false",但是如果点击事件在TagContainerLayout上,不会触发ListView的OnItemClick事件,求教作者该如何做处理 谢谢

crash,空指针了

java.lang.NullPointerException: Attempt to invoke virtual method 'int co.lujun.androidtagview.TagContainerLayout.getTagViewState()' on a null object reference
at co.lujun.androidtagview.TagView$1.run(TagView.java:115)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:158)

Ripple Effect

I want ripple effect on each tag when user click on it. How can I do that?

文字无法居中啊,而且1.06版好像和FloatingActionButton的resource有冲突

1.06版好像和FloatingActionButton的resource有冲突,改成1.06版就无法编译通过,1.05可以,怀疑colorAccent是不是重名了?
s70228-205215

<co.lujun.androidtagview.TagContainerLayout
            android:id="@+id/tag_history"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="@dimen/dp_18"
            app:container_background_color="@color/white"
            app:container_border_color="@color/white"
            app:tag_border_color="@color/grey_7f7f7f"
            app:tag_background_color="@color/white"
            app:tag_text_color="@color/grey_7f7f7f"
            app:tag_theme="none"
            app:tag_clickable="true"
            app:horizontal_interval="@dimen/dp_8"
            app:tag_horizontal_padding="@dimen/dp_6"
            app:tag_vertical_padding="@dimen/dp_5"
            app:tag_corner_radius="@dimen/dp_2" />

Different colors for different tags

Does this support different colors for different tags?

I could not find it, so made some adjustments which allows you to pass a color array with the tags array, and sets different colors for different tags.

Do you accept pull requests? I can pass on the code?
screenshot

java.lang.NullPointerException: Attempt to invoke interface method 'void android.view.ViewParent.requestDisallowInterceptTouchEvent(boolean)' on a null object reference

When I delete a tag and immediately click on the tagContainerLayout which was holding that tag then the app crash with the above error. I am posting my full stack trace hope it will help in resolving the issue.
Full error stack trace :
12-02 14:08:26.341 21385-21385/com.demo.app E/InputEventReceiver: Exception dispatching input event. 12-02 14:08:26.343 21385-21385/com.demo.app E/UncaughtException: java.lang.NullPointerException: Attempt to invoke interface method 'void android.view.ViewParent.requestDisallowInterceptTouchEvent(boolean)' on a null object reference at co.lujun.androidtagview.b.dispatchTouchEvent(SourceFile:228) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2553) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2254) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2553) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2254) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2553) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2254) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2553) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2254) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2553) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2254) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2553) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2254) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2553) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2254) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2553) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2254) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2553) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2254) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2553) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2254) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2553) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2254) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2553) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2254) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2553) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2254) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2553) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2254) at com.android.internal.policy.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:2403) at com.android.internal.policy.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1737) at android.app.Activity.dispatchTouchEvent(Activity.java:2771) at android.support.v7.view.WindowCallbackWrapper.dispatchTouchEvent(SourceFile:63) at android.support.v7.view.WindowCallbackWrapper.dispatchTouchEvent(SourceFile:63) at com.android.internal.policy.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:2364) at android.view.View.dispatchPointerEvent(View.java:9520) at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:4230) at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:4096) at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3642) at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3695) at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3661) at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:3787) at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3669) at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:3844) at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3642) at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3695) at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3661) at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3669) at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3642) at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:5922) at ``android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:5896)

setDragState()调用有问题,导致不能响应long click

Revision Number @be87be7
bug描述:

  • TagContainerLayout同时设置为可拖动,可点击,长按后,在不先拖动子View的前期下,长按子View子View并不能响应long click
  • 只要一拖动任意子View后,即可正常响应长按

bug分析:

  • 初始化TagContainerLayout时调用了setDragState()
  • setDragState()中,当mDragEnable设置为true时(即可拖动),mTagViewState被设置为- ViewDragHelper.STATE_DRAGGING
  • 但在处理long clickrunnable中,mTagViewState需要等于STATE_IDLE才能触发长按处理。所以在在不先拖动子View的前期下long click无响应
  • 拖动之后,mTagViewState会被DragHelperCallBack.onViewDragStateChanged()正常设置状态,所以才可响应long click

bug修复建议:

  • setDragState()是否可删除?或者只是起到重置mTagViewState=ViewDragHelper.STATE_IDLE作用,这样可修复
  • 根据setDragState()目前两处被调用的上下文分析得出:
    • TagContainerLayout初始化时 :不调用setDragState(),按mTagViewState的初始值ViewDragHelper.STATE_IDLE
    • setDragEnable()中:不调用setDragState()mTagViewState的值完全由DragHelperCallBack.onViewDragStateChanged()控制,这样比较清晰

还望解惑

tag text issue

text of tag are get reverce and lenth of text are limited. what if there long name of tag?

container_background_color

want to change container_background_color run time programming used tagView.setBackgroundColor();
but cant change the color. any diffrent way to change dynamic color for this?

中文好像没有居中?

中文好像没有居中,而且文字的tag_vertical_padding效果好像不对,我写了一个textview,设置一个shape,这样看起来才是符合预期的效果。
Uploading device-2016-01-12-223814.png…

我是这样设置的:

<co.lujun.androidtagview.TagContainerLayout
        android:layout_marginTop="16dp"
        android:id="@+id/tagcontainerLayout1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginLeft="16dp"
        android:layout_marginRight="16dp"
        app:container_border_width="0dp"
        app:container_border_radius="0dp"
        app:container_border_color="#ffffff"
        app:container_background_color="#ffffff"
        app:container_enable_drag="false"
        app:horizontal_interval="12dp"
        app:vertical_interval="12dp"
        app:tag_clickable="true"
        app:tag_theme="none"
        app:tag_border_width="1dp"
        app:tag_corner_radius="50dp"
        app:tag_horizontal_padding="16dp"
        app:tag_vertical_padding="5dp"
        app:tag_text_size="14dp"
        app:tag_text_color="#3ea2ef"
        app:tag_border_color="#3ea2ef"
        app:tag_background_color="#ffffff"
         />
<TextView
        android:layout_margin="20dp"
        android:gravity="center"
        android:textSize="14sp"
        android:textColor="#3ea2ef"
        android:text="平面设计"
        android:paddingLeft="16dp"
        android:paddingRight="16dp"
        android:paddingBottom="5dp"
        android:paddingTop="5dp"
        android:background="@drawable/shape_re"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>
<?xml version="1.0" encoding="utf-8"?>
<shape android:shape="rectangle" xmlns:android="http://schemas.android.com/apk/res/android">
    <solid android:color="#ffffff"/>
    <stroke android:color="#3ea2ef"
            android:width="1dp"/>
    <corners android:radius="50dp"/>
</shape>

同时长按2个tag会崩溃,内附stacktrace

java.lang.NullPointerException: Attempt to invoke virtual method 'int co.lujun.androidtagview.TagContainerLayout.getTagViewState()' on a null object reference
at co.lujun.androidtagview.TagView$1.run(TagView.java:120)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5910)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1405)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1200)

Not able to change the tagTextColor or tagBackgroundColor

All the provided methods are not working for changing the tag text color.

i tried using


 mTagContainerLayout.setTagBorderColor(Color.WHITE);

 mTagContainerLayout.setTagTextColor(Color.WHITE);

mTagContainerLayout.setTagBackgroundColor(Color.TRANSPARENT);

even i tried changing the default values.

 /** TagView border color(default #88F44336)*/
    private int mTagBorderColor = Color.WHITE;

    /** TagView background color(default #33F44336)*/
    private int mTagBackgroundColor =  Color.TRANSPARENT;

    /** TagView text color(default #FF666666)*/
    private int mTagTextColor =  Color.WHITE;

i am still getting the default background color for every tag.

Thanks!

java.lang.ArrayIndexOutOfBoundsException: on TagContainerLayout.onInterceptTouchEvent

In some of the android devices i am getting this error.

ava.lang.ArrayIndexOutOfBoundsException: length=1; index=1\n\tat android.support.v4.widget.ViewDragHelper.saveLastMotion(ViewDragHelper.java:849)\n\tat android.support.v4.widget.ViewDragHelper.shouldInterceptTouchEvent(ViewDragHelper.java:1057)\n\tat com.skcsllp.mutterfly.widgets.TagContainerLayout.onInterceptTouchEvent(TagContainerLayout.java:311)\n\tat android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2366)\n\tat android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2839)\n\tat android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2514)\n\tat android.widget.ScrollView.dispatchTouchEvent(ScrollView.java:645)\n\tat android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2839)\n\tat android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2514)\n\tat android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2839)\n\tat android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2514)\n\tat android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2839)\n\tat android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2514)\n\tat android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2839)\n\tat android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2514)\n\tat android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2839)\n\tat android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2514)\n\tat android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2839)\n\tat android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2514)\n\tat android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2839)\n\tat android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2514)\n\tat com.android.internal.policy.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:2831)\n\tat com.android.internal.policy.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1863)\n\tat android.app.Activity.dispatchTouchEvent(Activity.java:3046)\n\tat android.support.v7.view.WindowCallbackWrapper.dispatchTouchEvent(WindowCallbackWrapper.java:60)\n\tat android.support.v7.view.WindowCallbackWrapper.dispatchTouchEvent(WindowCallbackWrapper.java:60)\n\tat com.android.internal.policy.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:2792)\n\tat android.view.View.dispatchPointerEvent(View.java:10228)\n\tat android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:5344)\n\tat android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:5180)\n\tat android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4620)\n\tat android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4673)\n\tat android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4639)\n\tat android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:4781)\n\tat android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4647)\n\tat android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:4838)\n\tat android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4620)\n\tat android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4673)\n\tat android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4639)\n\tat android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4647)\n\tat android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4620)\n\tat android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:7306)\n\tat android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:7184)\n\tat android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:7145)\n\tat android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:7416)\n\tat android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:185)\n\tat android.view.InputEventReceiver.nativeConsumeBatchedInputEvents(Native Method)\n\tat android.view.InputEventReceiver.consumeBatchedInputEvents(InputEventReceiver.java:176)\n\tat android.view.ViewRootImpl.doConsumeBatchedInput(ViewRootImpl.java:7380)\n\tat android.view.ViewRootImpl$ConsumeBatchedInputRunnable.run(ViewRootImpl.java:7443)\n\tat android.view.Choreographer$CallbackRecord.run(Choreographer.java:920)\n\tat android.view.Choreographer.doCallbacks(Choreographer.java:695)\n\tat android.view.Choreographer.doFrame(Choreographer.java:625)\n\tat android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:906)\n\tat android.os.Handler.handleCallback(Handler.java:739)\n\tat android.os.Handler.dispatchMessage(Handler.java:95)\n\tat android.os.Looper.loop(Looper.java:158)\n\tat android.app.ActivityThread.main(ActivityThread.java:7229)\n\tat java.lang.reflect.Method.invoke(Native Method)\n\tat com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)\n\tat com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)\n

I am clueless why is this happening.

BRAND : SAMSUNG
MODEL : SM-G920I
ANDROID_VERSION : 6.0.1

Cross button should listen for on release instead of on press/hover

Hello and thank you for your great work.

I have seen that the cross button (remove tag) is listening for on press instead of on release and I believe that it could create issues for users like for example, if the user is trying to hover over the view to be able to scroll and there is no dialog to confirm the removal (yes/no) attached to the cross button, the tag will get removed instantly.

Thanks.

Delete Tags

##Hi ,sir can you add a small button (x) near of each tag to be easy when the user want to delete it ?thanks again

TagContainerLayout in HorizontalScrollView

Hello I would like to put my tag on one line and if it goes beyond the maximum edge of the display, scroll through the tags in a horizzontalscollview you can do this? Now only works with a vertical ScrollView as examples

View cover problem

I call child view of index 2 the index-2 child for short.
so when I drag index-3 child over index-2 child, the index-3 is on top of index-2 child which is what i expect, but when I drag index-3 child over index-4 child, unexpectedly, the index-4 child is on the top.
Is it a bug or there is something I don't notice? wait for your answer

Sincerely.

TagView截获了父布局的点击事件

您好,我在使用过程中,发现TagContainerLayout在ScrollView中工作的不是很好, 假设 TagContainerLayout 外层包裹了一层Layout,Layout可以点击。理想情况是TagContainerLayout不应该处理任何Touch事件,它也工作的很好,但现在出现了两种情况:
1、点到了TagView,外层的Layout会回调onClick ,但此时滑动手指,滑动事件失效。
2、于是将TagView的dispatchTouchEvent修改,直接返回true。点击TagView,Layout收不到onClick回调,但滑动事件有效。
TagView影响了其它控件的行为,无论dispatchTouchEvent怎么返回,要么不能点击,要么不能滑动,我暂时找不到解决的办法。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.