From adac9ad536907810179382ffaaf901faf9c7afbf Mon Sep 17 00:00:00 2001 From: huangjian Date: Tue, 21 Mar 2023 14:25:06 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E9=AD=94=E6=B3=95=E5=B8=BD?= =?UTF-8?q?=E5=92=8C=E6=98=9F=E9=99=85=E6=8E=A2=E9=99=A9=E5=85=AC=E5=B1=8F?= =?UTF-8?q?=E6=98=B5=E7=A7=B0=E7=82=B9=E5=87=BB=E4=BA=8B=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/avroom/widget/MessageView.java | 26 +++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/nnbc123/app/avroom/widget/MessageView.java b/app/src/main/java/com/nnbc123/app/avroom/widget/MessageView.java index 8e0494bcf..99d73a40e 100644 --- a/app/src/main/java/com/nnbc123/app/avroom/widget/MessageView.java +++ b/app/src/main/java/com/nnbc123/app/avroom/widget/MessageView.java @@ -1731,7 +1731,16 @@ public class MessageView extends FrameLayout { RoomBoxPrizeAttachment attachment = (RoomBoxPrizeAttachment) chatRoomMessage.getAttachment(); // 内容 SpannableBuilder text = new SpannableBuilder(tvContent) - .append("厉害了!", new ForegroundColorSpan(greyColor)) + .append("厉害了!", new ForegroundColorSpan(appColor), + new OriginalDrawStatusClickSpan() { + + @Override + public void onClick(@NonNull View widget) { + if (clickConsumer != null) { + Single.just(String.valueOf(attachment.getUid())).subscribe(clickConsumer); + } + } + }) .append(attachment.getNick() + " ", new ForegroundColorSpan(appColor)) .append("在魔法帽中获得 ", new ForegroundColorSpan(whiteColor)) .append(attachment.getPrizeName(), new ForegroundColorSpan(appColor)); @@ -1742,13 +1751,24 @@ public class MessageView extends FrameLayout { text.append("(仅自己可见)", new ForegroundColorSpan(greyColor)); } tvContent.setText(text.build()); + tvContent.setOnClickListener(null); + tvContent.setMovementMethod(new LinkMovementMethod()); } private void setRadishMeMsg(ChatRoomMessage chatRoomMessage, TextView tvContent) { RoomBoxPrizeAttachment attachment = (RoomBoxPrizeAttachment) chatRoomMessage.getAttachment(); // 内容 SpannableBuilder text = new SpannableBuilder(tvContent) - .append("厉害了 ", new ForegroundColorSpan(greyColor)) + .append("厉害了 ", new ForegroundColorSpan(appColor), + new OriginalDrawStatusClickSpan() { + + @Override + public void onClick(@NonNull View widget) { + if (clickConsumer != null) { + Single.just(String.valueOf(attachment.getUid())).subscribe(clickConsumer); + } + } + }) .append(attachment.getNick() + " ", new ForegroundColorSpan(appColor)) .append("在星际探险中获得", new ForegroundColorSpan(whiteColor)) .append(attachment.getPrizeName(), new ForegroundColorSpan(appColor)); @@ -1756,6 +1776,8 @@ public class MessageView extends FrameLayout { text.append(" x" + attachment.getPrizeNum() + " ", new ForegroundColorSpan(appColor)); } tvContent.setText(text.build()); + tvContent.setOnClickListener(null); + tvContent.setMovementMethod(new LinkMovementMethod()); } private void setUpdateAudioMsg(TextView tvContent) {