Tencent / QMUI_Android

提高 Android UI 开发效率的 UI 库
http://qmuiteam.com/android
Other
14.46k stars 2.68k forks source link

QMUISpanTouchFixTextView 点击(press)事件响应有点慢是怎么回事? #772

Closed tmxd09887 closed 4 years ago

tmxd09887 commented 4 years ago

点击其中的SPAN(点击区域),事件响应、背景色改变都有点慢。我看了DEMO都是正常快速反应的,是我代码实现有什么问题吗?

谢谢

代码 String userName = "我的用户名ABC"; SpannableString sp = new SpannableString(userName + ": " + commentBeanList.get(groupPosition).getReplyList().get(childPosition).getContent()); sp.setSpan(new QMUITouchableSpan(childHolder.tv_content, R.attr.app_skin_span_normal_text_color, R.attr.app_skin_span_pressed_text_color, Color.TRANSPARENT, context.getResources().getColor(R.color.gray)) { @Override public void onSpanClick(View widget) { ToastUtils.showLong("click me"); } }, 0, userName.length(), Spanned.SPAN_INCLUSIVE_EXCLUSIVE);

childHolder.tv_content.setMovementMethodDefault(); childHolder.tv_content.setNeedForceEventToParent(true);

补充:多次测试发现,这个页面是显示评论和评论者用户名的,显示了很多个评论和用户名点击反应就会响应慢。

cgspine commented 4 years ago

第4、5个控制背景的参数也应该传 attr 的, 如果你想支持夜间模式/换肤,那么就应该全部使用 attr, 如果不支持,那使用 4 参数的构造器就行了

tmxd09887 commented 4 years ago

谢谢回答

请问部署多个SPAN,会导致反应慢吗?

cgspine commented 4 years ago

不会