Skip to content

Commit b016d7e

Browse files
committed
fix ui
1 parent 690e2b7 commit b016d7e

File tree

18 files changed

+181
-9
lines changed

18 files changed

+181
-9
lines changed
Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
package cn.jiguang.imui.chatinput;
2+
3+
import android.content.Context;
4+
import android.graphics.Bitmap;
5+
import android.graphics.Canvas;
6+
import android.graphics.Color;
7+
import android.graphics.Paint;
8+
import android.graphics.Rect;
9+
import android.text.Spannable;
10+
import android.text.SpannableString;
11+
import android.text.TextUtils;
12+
import android.text.style.ForegroundColorSpan;
13+
import android.text.style.ImageSpan;
14+
15+
import java.util.regex.Matcher;
16+
import java.util.regex.Pattern;
17+
18+
/**
19+
* Created by hzchenkang on 2016/12/5.
20+
*/
21+
22+
public class TeamMemberAitHelper {
23+
24+
private static final String KEY_AIT = "ait";
25+
26+
public static String getAitAlertString(String content) {
27+
return "[有人@你] " + content;
28+
}
29+
30+
public static void replaceAitForeground(String value, SpannableString mSpannableString) {
31+
if (TextUtils.isEmpty(value) || TextUtils.isEmpty(mSpannableString)) {
32+
return;
33+
}
34+
Pattern pattern = Pattern.compile("(\\[有人@你\\])");
35+
Matcher matcher = pattern.matcher(value);
36+
while (matcher.find()) {
37+
int start = matcher.start();
38+
if (start != 0) {
39+
continue;
40+
}
41+
int end = matcher.end();
42+
mSpannableString.setSpan(new ForegroundColorSpan(Color.RED), start, end, Spannable.SPAN_EXCLUSIVE_INCLUSIVE);
43+
}
44+
}
45+
46+
private static boolean isContentAit(String content, String account) {
47+
if (TextUtils.isEmpty(content)) {
48+
return false;
49+
}
50+
Pattern pattern = Pattern.compile("(@" + account + " )");
51+
Matcher matcher = pattern.matcher(content);
52+
return matcher.find();
53+
}
54+
55+
public static ImageSpan getInputAitSpan(Context context, String name, float textsize, int editTextSize) {
56+
if (TextUtils.isEmpty(name)) {
57+
return null;
58+
}
59+
Paint paint = new Paint();
60+
paint.setColor(Color.BLACK);
61+
paint.setAntiAlias(true);
62+
paint.setTextSize(textsize);
63+
Rect rect = new Rect();
64+
65+
paint.getTextBounds(name, 0, name.length(), rect);
66+
67+
// 获取字符串在屏幕上的长度
68+
int width = (int) (paint.measureText(name));
69+
70+
final Bitmap bmp = Bitmap.createBitmap(width, rect.height(),
71+
Bitmap.Config.ARGB_8888);
72+
Canvas canvas = new Canvas(bmp);
73+
74+
canvas.drawText(name, rect.left, rect.height() - rect.bottom, paint);
75+
76+
return new ImageSpan(context, bmp, ImageSpan.ALIGN_BOTTOM);
77+
}
78+
}

android/messagelist/src/main/java/cn/jiguang/imui/messages/viewholder/AvatarViewHolder.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,7 @@ public void applyStyle(MessageListStyle style) {
144144
}
145145
if(mDateTv!=null){
146146
mDateTv.setTextColor(Color.WHITE);
147+
mDateTv.setTextSize(12);
147148
}
148149
if (!mIsSender) {
149150
if (mDisplayNameTv.getVisibility() == View.VISIBLE) {

android/messagelist/src/main/java/cn/jiguang/imui/messages/viewholder/CustonViewHolder.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@ public boolean onLongClick(View view) {
5757

5858
@Override
5959
public void applyStyle(MessageListStyle style) {
60+
super.applyStyle(style);
6061
mMsgTv.setMaxWidth((int) (style.getWindowWidth() * style.getBubbleMaxWidth()));
6162
mMsgTv.setTextSize(17);
6263
mMsgTv.setLinkTextColor(Color.rgb(173,0,151));

android/messagelist/src/main/java/cn/jiguang/imui/messages/viewholder/NotificationViewHolder.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ public void onBind(MESSAGE message) {
3333
public void applyStyle(MessageListStyle style) {
3434

3535
mEvent.setTextColor(Color.WHITE);
36-
mEvent.setTextSize(style.getEventTextSize());
36+
mEvent.setTextSize(12);
3737
mEvent.setPadding(style.getEventPadding(), style.getEventPadding(), style.getEventPadding(), style.getEventPadding());
3838
}
3939
}

android/messagelist/src/main/java/cn/jiguang/imui/messages/viewholder/PhotoViewHolder.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@ public boolean onLongClick(View view) {
5757

5858
@Override
5959
public void applyStyle(MessageListStyle style) {
60+
super.applyStyle(style);
6061
if (mIsSender) {
6162
mPhotoIv.setBackground(style.getSendPhotoMsgBg());
6263
} else {

android/messagelist/src/main/java/cn/jiguang/imui/messages/viewholder/RedPacketOpenViewHolder.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,8 @@ public void onBind(MESSAGE message) {
6565
@Override
6666
public void applyStyle(MessageListStyle style) {
6767

68+
mTextView.setTextColor(Color.WHITE);
69+
mTextView.setTextSize(12);
6870
}
6971

7072
class ClickAble extends ClickableSpan implements View.OnClickListener {

android/messagelist/src/main/java/cn/jiguang/imui/messages/viewholder/TxtViewHolder.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@ public boolean onLongClick(View view) {
7070

7171
@Override
7272
public void applyStyle(MessageListStyle style) {
73+
super.applyStyle(style);
7374
mMsgTv.setMaxWidth((int) (style.getWindowWidth() * style.getBubbleMaxWidth()));
7475
mMsgTv.setTextSize(17);
7576
mMsgTv.setLinkTextColor(Color.rgb(173,0,151));

android/messagelist/src/main/java/cn/jiguang/imui/messages/viewholder/VideoViewHolder.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,5 +59,6 @@ public boolean onLongClick(View view) {
5959

6060
@Override
6161
public void applyStyle(MessageListStyle style) {
62+
super.applyStyle(style);
6263
}
6364
}

android/messagelist/src/main/java/cn/jiguang/imui/messages/viewholder/VoiceViewHolder.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -202,8 +202,7 @@ private void pauseVoice() {
202202

203203
@Override
204204
public void applyStyle(MessageListStyle style) {
205-
mDateTv.setTextSize(style.getDateTextSize());
206-
mDateTv.setTextColor(style.getDateTextColor());
205+
super.applyStyle(style);
207206
mSendDrawable = style.getSendVoiceDrawable();
208207
mReceiveDrawable = style.getReceiveVoiceDrawable();
209208
mPlaySendAnim = style.getPlaySendVoiceAnim();

android/messagelist/src/main/java/cn/jiguang/imui/utils/TimeUtil.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package cn.jiguang.imui.utils;
22

3+
import android.text.TextUtils;
4+
35
import java.math.BigDecimal;
46
import java.text.ParseException;
57
import java.text.SimpleDateFormat;
@@ -141,7 +143,7 @@ public static String getTimeShowString(long milliseconds, boolean abbreviate) {
141143
Date preyesterday = new Date(yesterdaybegin.getTime() - 3600 * 24 * 1000);
142144

143145
if (!currentTime.before(todaybegin)) {
144-
dataString = "今天";
146+
dataString = "";
145147
} else if (!currentTime.before(yesterdaybegin)) {
146148
dataString = "昨天";
147149
} else if (!currentTime.before(preyesterday)) {
@@ -163,7 +165,7 @@ public static String getTimeShowString(long milliseconds, boolean abbreviate) {
163165
return dataString;
164166
}
165167
} else {
166-
return dataString + " " + timeStringBy24;
168+
return TextUtils.isEmpty(dataString) ? timeStringBy24 : dataString + " " + timeStringBy24;
167169
}
168170
}
169171

0 commit comments

Comments
 (0)