项目:IslamicLibraryAndroid
文件:SearchResult.java
public CharSequence getformatedSearchSnippet() {
//TODO implement improved snippet function
String CleanedSearchString = " " + ArabicUtilities.cleanTextForSearchingWthStingBuilder(searchString) + " ";
StringBuilder cleanedUnformattedPage = new StringBuilder(ArabicUtilities.cleanTextForSearchingWthStingBuilder(unformatedPage));
int firstMatchStart = cleanedUnformattedPage.indexOf(CleanedSearchString);
cleanedUnformattedPage.delete(0,Math.max(firstMatchStart - 100,0));
cleanedUnformattedPage.delete(
Math.min(firstMatchStart + CleanedSearchString.length() + 100,cleanedUnformattedPage.length()),cleanedUnformattedPage.length());
cleanedUnformattedPage.insert(0,"...");
cleanedUnformattedPage.append("...");
Spannable snippet = SpannableString.
valueOf(cleanedUnformattedPage.toString());
int index = TextUtils.indexOf(snippet,CleanedSearchString);
while (index >= 0) {
snippet.setSpan(new BackgroundColorSpan(0xFF8B008B),index,index
+ CleanedSearchString.length(),Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
index = TextUtils.indexOf(snippet,CleanedSearchString,index + CleanedSearchString.length());
}
return snippet;
}
项目:Nird2
文件:UiUtils.java
public static SpannableStringBuilder getTeaser(Context ctx,Spanned body) {
if (body.length() < TEASER_LENGTH)
throw new IllegalArgumentException(
"String is shorter than TEASER_LENGTH");
SpannableStringBuilder builder =
new SpannableStringBuilder(body.subSequence(0,TEASER_LENGTH));
String ellipsis = ctx.getString(R.string.ellipsis);
builder.append(ellipsis).append(" ");
Spannable readMore = new SpannableString(
ctx.getString(R.string.read_more) + ellipsis);
ForegroundColorSpan fg = new ForegroundColorSpan(
ContextCompat.getColor(ctx,R.color.briar_text_link));
readMore.setSpan(fg,readMore.length(),Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
builder.append(readMore);
return builder;
}
项目:AgentWeb
文件:AgentWebUtils.java
static void show(View parent,CharSequence text,int duration,@ColorInt int textColor,@ColorInt int bgColor,CharSequence actionText,@ColorInt int actionTextColor,View.OnClickListener listener) {
SpannableString spannableString = new SpannableString(text);
ForegroundColorSpan colorSpan = new ForegroundColorSpan(textColor);
spannableString.setSpan(colorSpan,spannableString.length(),Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
snackbarWeakReference = new WeakReference<>(Snackbar.make(parent,spannableString,duration));
Snackbar snackbar = snackbarWeakReference.get();
View view = snackbar.getView();
view.setBackgroundColor(bgColor);
if (actionText != null && actionText.length() > 0 && listener != null) {
snackbar.setActionTextColor(actionTextColor);
snackbar.setAction(actionText,listener);
}
snackbar.show();
}
项目:GitHub
文件:BookMarkAdapter.java
@Override
public void convert(EasyLVHolder holder,int position,BookMark item) {
TextView tv = holder.getView(R.id.tvMarkItem);
SpannableString spanText = new SpannableString((position + 1) + ". " + item.title + ": ");
spanText.setSpan(new ForegroundColorSpan(ContextCompat.getColor(mContext,R.color.light_coffee)),spanText.length(),Spannable.SPAN_INCLUSIVE_EXCLUSIVE);
tv.setText(spanText);
if (item.desc != null) {
tv.append(item.desc
.replaceAll(" ","")
.replaceAll(" ","")
.replaceAll("\n",""));
}
}
项目:PocketGopher
文件:UnknownPage.java
public void render(final TextView textView,final Context context,String line)
{
final Handler handler = new Handler(Looper.getMainLooper());
final SpannableString text = new SpannableString(" " + line + "\n");
handler.post(new Runnable()
{
@Override
public void run()
{
//set the image tag behind (left of) the text
text.setSpan(new ImageSpan(context,IMAGE_TAG),1,0);
textView.append(text);
}
});
}
项目:revolution-irc
文件:UserAutoRunCommandHelper.java
@Override
public void showDialog(Activity activity) {
super.showDialog(activity);
dismissDialog(activity);
ThemedAlertDialog.Builder dialog = new ThemedAlertDialog.Builder(activity);
dialog.setTitle(R.string.connection_error_command_title);
StringBuilder commands = new StringBuilder();
for (String cmd : mCommands) {
commands.append('/');
commands.append(cmd);
commands.append('\n');
}
SpannableString commandsSeq = new SpannableString(commands);
commandsSeq.setSpan(new TypefaceSpan("monospace"),commandsSeq.length(),SpannableString.SPAN_EXCLUSIVE_EXCLUSIVE);
dialog.setMessage(SpannableStringHelper.format(activity.getResources().getQuantityText(
R.plurals.connection_error_command_dialog_content,mCommands.size()),mNetworkName,commandsSeq));
dialog.setPositiveButton(R.string.action_ok,null);
dialog.setOnDismissListener((DialogInterface di) -> {
dismiss();
});
mDialog = dialog.show();
}
项目:Tusky
文件:MentionTokenizer.java
@Override
public CharSequence terminateToken(CharSequence text) {
int i = text.length();
while (i > 0 && text.charAt(i - 1) == ' ') {
i--;
}
if (i > 0 && text.charAt(i - 1) == ' ') {
return text;
} else if (text instanceof Spanned) {
SpannableString s = new SpannableString(text + " ");
TextUtils.copySpansFrom((Spanned) text,text.length(),Object.class,s,0);
return s;
} else {
return text + " ";
}
}
项目:AndroidUtilCode-master
文件:SnackbarUtils.java
/**
* 设置snackbar文字和背景颜色
*
* @param parent 父视图(CoordinatorLayout或者DecorView)
* @param text 文本
* @param duration 显示时长
* @param textColor 文本颜色
* @param bgColor 背景色
* @param actionText 事件文本
* @param actionTextColor 事件文本颜色
* @param listener 监听器
*/
private static void show(View parent,listener);
}
snackbar.show();
}
项目:Quizca-UI-Concept
文件:MainActivity.java
public SpannableString getDesignationText()
{
String text = txtDesignation.getText().toString();
SpannableString s = new SpannableString(text);
s.setSpan(new ForegroundColorSpan(getResources().getColor(R.color.colorAccent)),text.indexOf("@"),0);
/*
s.setSpan(new RelativeSizeSpan(1.2f),text.indexOf("A"),0);
s.setSpan(new StyleSpan(Typeface.NORMAL),0);
s.setSpan(new ForegroundColorSpan(Color.BLACK),0);
*/
return s;
}
项目:SimpleDialogFragments
文件:MainActivity.java
private void newColor(int color){
this.color = color;
// Sets action bar colors
if (getSupportActionBar() == null) return;
getSupportActionBar().setBackgroundDrawable(new ColorDrawable(0xFF000000 | color));
boolean dark = Color.red(color) * 0.299 + Color.green(color) * 0.587 + Color.blue(color) * 0.114 < 180;
SpannableString s = new SpannableString(getSupportActionBar().getTitle());
s.setSpan(new ForegroundColorSpan(dark ? Color.WHITE : Color.BLACK),s.length(),Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
getSupportActionBar().setTitle(s);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
float[] hsv = new float[3];
Color.colorToHSV(color,hsv);
hsv[2] *= 0.75;
getWindow().setStatusBarColor(Color.HSVToColor(hsv));
}
}
项目:ultrasonic
文件:SelectPlaylistActivity.java
private void displayPlaylistInfo(final Playlist playlist)
{
final TextView textView = new TextView(this);
textView.setPadding(5,5,5);
final Spannable message = new SpannableString("Owner: " + playlist.getOwner() + "\nComments: " +
((playlist.getComment() == null) ? "" : playlist.getComment()) +
"\nSong Count: " + playlist.getSongCount() +
((playlist.getPublic() == null) ? "" : ("\nPublic: " + playlist.getPublic()) + ((playlist.getCreated() == null) ? "" : ("\nCreation Date: " + playlist.getCreated().replace('T',' ')))));
Linkify.addLinks(message,Linkify.WEB_URLS);
textView.setText(message);
textView.setMovementMethod(LinkMovementMethod.getInstance());
new AlertDialog.Builder(this).setTitle(playlist.getName()).setCancelable(true).setIcon(android.R.drawable.ic_dialog_info).setView(textView).show();
}
项目:ChenYan
文件:Main2Activity.java
private void spanTest() {
SpannableString spannableString = new SpannableString("欢迎光临我的博客");
// 字体颜色span
ForegroundColorSpan colorSpan = new ForegroundColorSpan(Color.BLUE);
// 背景颜色span
BackgroundColorSpan backgroundColorSpan = new BackgroundColorSpan(Color.RED);
// 1,3其实是两个位置,末尾不包括
// Flag 为 span如果新增了文字 的前面不包括样式,后面包括样式
spannableString.setSpan(colorSpan,3,Spanned.SPAN_EXCLUSIVE_INCLUSIVE);
spannableString.setSpan(backgroundColorSpan,7,Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
SpannableStringBuilder spannableStringBuilder = new SpannableStringBuilder();
spannableStringBuilder.append(spannableString);
editText.setText(spannableString);
}
项目:TextReader
文件:BookContentTextView.java
public void setText(String text) {
int startIndex = 0;
while (true) {
int start = text.indexOf("《");
int end = text.indexOf("》");
if (start < 0 || end < 0) {
append(text.substring(startIndex));
break;
}
append(text.substring(startIndex,start));
SpannableString spanableInfo = new SpannableString(text.substring(start,end + 1));
spanableInfo.setSpan(new Clickable(spanableInfo.toString()),end + 1 - start,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
append(spanableInfo);
//setMovementMethod()该方法必须调用,否则点击事件不响应
setMovementMethod(LinkMovementMethod.getInstance());
text = text.substring(end + 1);
LogUtils.e(spanableInfo.toString());
}
}
项目:PeSanKita-android
文件:ComposeText.java
public void setHint(@NonNull String hint,@Nullable CharSequence subHint) {
this.hint = new SpannableString(hint);
this.hint.setSpan(new RelativeSizeSpan(0.8f),hint.length(),Spannable.SPAN_INCLUSIVE_INCLUSIVE);
if (subHint != null) {
this.subHint = new SpannableString(subHint);
this.subHint.setSpan(new RelativeSizeSpan(0.8f),subHint.length(),Spannable.SPAN_INCLUSIVE_INCLUSIVE);
} else {
this.subHint = null;
}
if (this.subHint != null) {
super.setHint(new SpannableStringBuilder().append(ellipsizeToWidth(this.hint))
.append("\n")
.append(ellipsizeToWidth(this.subHint)));
} else {
super.setHint(ellipsizeToWidth(this.hint));
}
}
项目:orgzly-android
文件:TitleGenerator.java
private CharSequence generateState(OrgHead head) {
SpannableString str = new SpannableString(head.getState());
ForegroundColorSpan color;
if (AppPreferences.todoKeywordsSet(mContext).contains(head.getState())) {
color = attributes.colorTodo;
} else if (AppPreferences.doneKeywordsSet(mContext).contains(head.getState())) {
color = attributes.colorDone;
} else {
color = attributes.colorUnknown;
}
str.setSpan(color,str.length(),0);
return str;
}
项目:yyox
文件:OrderDetailActivity.java
@Override
public void setFeeValue(Fee fee) {
if (fee != null || 1 == getIntent().getIntExtra("type",OrderStatus.ORDER_STATUS_DETAIL)) {
totalAmount = fee.getMoney().getTotalAmount();
if (mOrderDetail.getCouponList() == null || mOrderDetail.getCouponList().getCoupon() == null || mOrderDetail.getCouponList().getCoupon().getName().equals("")) {
mTextView_Coupon_Value.setText("有" + fee.getCouponNumber() + "张可用");
}
// mTextView_Fee.setText("运费:" + CommonUtils.doubleFormat(fee.getMoney().getTotalAmount()));
SpannableString styledText = new SpannableString("运费:¥"+CommonUtils.doubleFormat(fee.getMoney().getTotalAmount()));
int color = getResources().getColor(R.color.my_yellow);
styledText.setSpan(new ForegroundColorSpan(color),Spanned.SPAN_INCLUSIVE_INCLUSIVE);
mTextView_Fee.setText(styledText);
mOrderDetail.setValueAddedlist(fee.getValueAddedlist());
this.fee = fee.getMoney().getTotalAmount();
}
}
项目:MultiContactPicker
文件:MultiContactPickerAdapter.java
private void highlightTerm(TextView tv,String query,String originalString){
if (query != null && !query.isEmpty()) {
int startPos = originalString.toLowerCase().indexOf(query.toLowerCase());
int endPos = startPos + query.length();
if (startPos != -1) {
Spannable spannable = new SpannableString(originalString);
ColorStateList blackColor = new ColorStateList(new int[][]{new int[]{}},new int[]{Color.BLACK});
TextAppearanceSpan highlightSpan = new TextAppearanceSpan(null,Typeface.BOLD,-1,blackColor,null);
spannable.setSpan(highlightSpan,startPos,endPos,Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
tv.setText(spannable);
} else {
tv.setText(originalString);
}
} else {
tv.setText(originalString);
}
}
项目:orgzly-android
文件:SpaceTokenizer.java
@Override
public CharSequence terminateToken(CharSequence text) {
int i = text.length();
while (i > 0 && text.charAt(i - 1) == ' ') {
i--;
}
if (i > 0 && text.charAt(i - 1) == ' ') {
return text;
} else {
if (text instanceof Spanned) {
SpannableString sp = new SpannableString(text + " ");
TextUtils.copySpansFrom((Spanned) text,sp,0);
return sp;
} else {
return text + " ";
}
}
}
项目:QueryHighlighter
文件:QueryHighlighter.java
public CharSequence apply(CharSequence text,CharSequence wordPrefix) {
final CharSequence normalizedText = mQueryNormalizer.normalize(text);
final CharSequence normalizedWordPrefix = mQueryNormalizer.normalize(wordPrefix);
final int index = indexOfQuery(normalizedText,normalizedWordPrefix);
if (index != -1) {
final SpannableString result = new SpannableString(text);
result.setSpan(mHighlightStyle,index + normalizedWordPrefix.length(),0);
return result;
} else {
return text;
}
}
项目:RetrofitSample
文件:DlEmptyLayout.java
private void setEmptyTv(TextView textView,String tipStr,String clickStr) {
if (!TextUtils.isEmpty(clickStr)) {
SpannableString spStr = new SpannableString(tipStr + clickStr);
mClickableSpan = new CustomizedClickableSpan(R.color.new_bg,getContext().getApplicationContext(),mOnClickListener);
spStr.setSpan(mClickableSpan,tipStr.length(),tipStr.length() + clickStr.length(),Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
textView.setText(spStr);
textView.setMovementMethod(LinkMovementMethod.getInstance());
} else {
textView.setText(tipStr);
}
}
项目:GongXianSheng
文件:DateFormateUtil.java
public static SpannableString formatData(String time) {
if ( TextUtils.isEmpty(time) ) {
return null;
}
// 24小时内:几分钟前。。。,超过24小时:4月11日 20:20, 历史年份:2014年4月12日;
final Calendar calend = dateFormatFromString(time,DateFormateUtil.FORMAT_FULL_DATE_TIME_WITH_SYMBOL);
if (isToday(calend)) {
SpannableString ss = new SpannableString("今天");
ss.setSpan(new AbsoluteSizeSpan(18,true),ss.length(),Spannable.SPAN_INCLUSIVE_EXCLUSIVE);
return ss;
}
else if (isYesterday(calend)) {
SpannableString yy = new SpannableString("昨天");
yy.setSpan(new AbsoluteSizeSpan(18,yy.length(),Spannable.SPAN_INCLUSIVE_EXCLUSIVE);
return yy;
}
else {
int day = calend.get(Calendar.DAY_OF_MONTH);
String datStr = String.format("%02d",day);
int month = calend.get(Calendar.MONTH)+1;
String monthStr = getMonthForStr(month);
SpannableString spannableString = new SpannableString(datStr+"\n"+monthStr);
spannableString.setSpan(new AbsoluteSizeSpan(20,datStr.length(),Spannable.SPAN_INCLUSIVE_EXCLUSIVE);
spannableString.setSpan(new AbsoluteSizeSpan(16,datStr.length()+1,Spannable.SPAN_INCLUSIVE_EXCLUSIVE);
return spannableString;
}
}
项目:Aurora
文件:UiUtils.java
/**
* 设置hint大小
*
* @param size
* @param v
* @param res
*/
public static void setViewHintSize(Context context,int size,TextView v,int res) {
SpannableString ss = new SpannableString(getResources(context).getString(
res));
// 新建一个属性对象,设置文字的大小
AbsoluteSizeSpan ass = new AbsoluteSizeSpan(size,true);
// 附加属性到文本
ss.setSpan(ass,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
// 设置hint
v.setHint(new SpannedString(ss)); // 一定要进行转换,否则属性会消失
}
项目:yjPlay
文件:GestureVideoPlayer.java
/****
* 滑动进度
*
* @param seekTimePosition 滑动的时间
* @param duration 视频总长
* @param seekTime 滑动的时间 格式化00:00
* @param totalTime 视频总长 格式化00:00
**/
private void showProgressDialog(long seekTimePosition,long duration,String seekTime,String totalTime) {
newPosition = seekTimePosition;
if (onGestureProgressListener != null) {
onGestureProgressListener.showProgressDialog(seekTimePosition,duration,seekTime,totalTime);
} else {
String stringBuilder = seekTime + "/" + totalTime;
ForegroundColorSpan blueSpan = new ForegroundColorSpan(ContextCompat.getColor(activity,R.color.simple_exo_style_color));
SpannableString spannableString = new SpannableString(stringBuilder);
spannableString.setSpan(blueSpan,seekTime.length(),Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
getPlayerViewListener().setTimePosition(spannableString);
}
}
项目:q-mail
文件:ICalendarHelper.java
@VisibleForTesting
static CharSequence toFriendly(Attendee attendee,Contacts contacts,boolean showCorrespondentNames,boolean changeContactNameColor,int contactNameColor) {
if (!showCorrespondentNames) {
return attendee.getEmail();
} else if (contacts != null) {
final String name = contacts.getNameForAddress(attendee.getEmail());
// TODO: The results should probably be cached for performance reasons.
if (name != null) {
if (changeContactNameColor) {
final SpannableString coloredName = new SpannableString(name);
coloredName.setSpan(new ForegroundColorSpan(contactNameColor),coloredName.length(),Spannable.SPAN_EXCLUSIVE_EXCLUSIVE
);
return coloredName;
} else {
return name;
}
}
}
return (!TextUtils.isEmpty(attendee.getCommonName())) ? attendee.getCommonName() : attendee.getEmail();
}
项目:q-mail
文件:ICalendarHelper.java
@VisibleForTesting
static CharSequence toFriendly(Organizer organizer,int contactNameColor) {
if (organizer == null) {
return null;
}
if (!showCorrespondentNames) {
return organizer.getEmail();
} else if (contacts != null) {
final String name = contacts.getNameForAddress(organizer.getEmail());
// TODO: The results should probably be cached for performance reasons.
if (name != null) {
if (changeContactNameColor) {
final SpannableString coloredName = new SpannableString(name);
coloredName.setSpan(new ForegroundColorSpan(contactNameColor),Spannable.SPAN_EXCLUSIVE_EXCLUSIVE
);
return coloredName;
} else {
return name;
}
}
}
return (!TextUtils.isEmpty(organizer.getCommonName())) ? organizer.getCommonName() : organizer.getEmail();
}
项目:q-mail
文件:MessageHelper.java
@VisibleForTesting
/* package,for testing */ static CharSequence toFriendly(Address address,int contactNameColor) {
if (!showCorrespondentNames) {
return address.getAddress();
} else if (contacts != null) {
final String name = contacts.getNameForAddress(address.getAddress());
// TODO: The results should probably be cached for performance reasons.
if (name != null) {
if (changeContactNameColor) {
final SpannableString coloredName = new SpannableString(name);
coloredName.setSpan(new ForegroundColorSpan(contactNameColor),Spannable.SPAN_EXCLUSIVE_EXCLUSIVE
);
return coloredName;
} else {
return name;
}
}
}
return (!TextUtils.isEmpty(address.getPersonal())) ? address.getPersonal() : address.getAddress();
}
项目:NeiHanDuanZiTV
文件:ArmsUtils.java
/**
* 设置hint大小
*
* @param size
* @param v
* @param res
*/
public static void setViewHintSize(Context context,否则属性会消失
}
项目:GitHub
文件:PiePolylineChartActivity.java
private SpannableString generateCenterSpannableText() {
SpannableString s = new SpannableString("MPAndroidChart\ndeveloped by Philipp Jahoda");
s.setSpan(new RelativeSizeSpan(1.5f),14,0);
s.setSpan(new StyleSpan(Typeface.NORMAL),s.length() - 15,0);
s.setSpan(new ForegroundColorSpan(Color.GRAY),0);
s.setSpan(new RelativeSizeSpan(.65f),0);
s.setSpan(new StyleSpan(Typeface.ITALIC),s.length() - 14,0);
s.setSpan(new ForegroundColorSpan(ColorTemplate.getHoloBlue()),0);
return s;
}
项目:FastLib
文件:SnackBarUtil.java
/**
* 显示SnackBar
*/
public void show() {
final View view = parent.get();
if (view == null) return;
if (messageColor != DEFAULT_COLOR) {
SpannableString spannableString = new SpannableString(message);
ForegroundColorSpan colorSpan = new ForegroundColorSpan(messageColor);
spannableString.setSpan(colorSpan,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
mWeakReference = new WeakReference<>(Snackbar.make(view,duration));
} else {
mWeakReference = new WeakReference<>(Snackbar.make(view,message,duration));
}
final Snackbar snackbar = mWeakReference.get();
final View snackView = snackbar.getView();
if (bgResource != -1) {
snackView.setBackgroundResource(bgResource);
} else if (bgColor != DEFAULT_COLOR) {
snackView.setBackgroundColor(bgColor);
}
if (bottomMargin != 0) {
ViewGroup.MarginLayoutParams params = (ViewGroup.MarginLayoutParams) snackView.getLayoutParams();
params.bottomMargin = bottomMargin;
}
if (actionText.length() > 0 && actionListener != null) {
if (actionTextColor != DEFAULT_COLOR) {
snackbar.setActionTextColor(actionTextColor);
}
snackbar.setAction(actionText,actionListener);
}
snackbar.show();
}
项目:Cable-Android
文件:ContactSelectionListAdapter.java
private CharSequence getSpannedHeaderString(int position) {
final String headerString = getHeaderString(position);
if (isPush(position)) {
SpannableString spannable = new SpannableString(headerString);
spannable.setSpan(new ForegroundColorSpan(getContext().getResources().getColor(R.color.signal_primary)),headerString.length(),Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
return spannable;
} else {
return headerString;
}
}
项目:GitHub
文件:PostViewModel.java
public Spannable getPostAuthor() {
String author = context.getString(R.string.text_post_author,post.by);
SpannableString content = new SpannableString(author);
int index = author.indexOf(post.by);
if (!isUserPosts) content.setSpan(new UnderlineSpan(),post.by.length() + index,0);
return content;
}
项目:EmoticonGIFKeyboard
文件:EmoticonSearchAdapter.java
@Override
public void onBindViewHolder(ViewHolder holder,int position) {
final Emoticon emoji = mData.get(position);
if (emoji != null) {
if (mEmoticonProvider != null
&& mEmoticonProvider.hasEmoticonIcon(emoji.getUnicode())) { //Check if the icon for this emoticon is available?
//Convert to spannable.
// Replace the emoticon image with provided by custom icon pack.
Spannable spannable = new SpannableString(emoji.getUnicode());
spannable.setSpan(new EmoticonSpan(mContext,mEmoticonProvider.getIcon(emoji.getUnicode()),mContext.getResources().getDimension(R.dimen.emoticon_grid_text_size)),spannable.length() - 1,Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
holder.icon.setText(spannable);
} else {
holder.icon.setText(emoji.getUnicode());
}
holder.icon.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
mListener.OnEmoticonSelected(emoji);
}
});
}
}
项目:CommentView
文件:SpanUtil.java
public static Spannable getBoldSpan(String content) {
if (TextUtils.isEmpty(content)) {
return null;
}
SpannableString spannableString = new SpannableString(content);
spannableString.setSpan(new StyleSpan(Typeface.BOLD),content.length(),Constants.SPAN_FLAGS);
return spannableString;
}
项目:GitHub
文件:RecyclerViewAdapterHelper.java
/**
* 处理关键字高亮
* 如果需要检索算法库,请联系我
*
* @param originStr 被处理字符串
* @param keyWord 关键字
* @param hightLightColor 高亮颜色
* @return CharSequence
*/
public static CharSequence handleKeyWordHighLight
(String originStr,String keyWord,@ColorInt int hightLightColor) {
SpannableString ss = new SpannableString(originStr);
Pattern p = Pattern.compile(keyWord);
Matcher m = p.matcher(ss);
while (m.find()) {
ss.setSpan(new ForegroundColorSpan(hightLightColor),m.start(),m.end(),Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
}
return ss;
}
项目:DailyStudy
文件:SpannableStringActivity.java
/**
* RelativeSizeSpan,设置文字相对大小,在TextView原有的文字大小的基础上,相对设置文字大小
*/
private void relativeSize () {
SpannableString string = new SpannableString("设置文字的前景色为淡蓝色");
RelativeSizeSpan sizeSpan = new RelativeSizeSpan(1.5f);
string.setSpan(sizeSpan,9,string.length(),Spanned.SPAN_EXCLUSIVE_INCLUSIVE);
bgtext.setText(string);
}
项目:letv
文件:StringUtils.java
public static SpannableString highlightParamText(String inputString,int index,String highlight,int color) {
inputString = String.format(inputString,new Object[]{highlight});
SpannableString spanString = new SpannableString(inputString);
if (!TextUtils.isEmpty(inputString)) {
int beginPos = index;
if (beginPos > -1) {
spanString.setSpan(new ForegroundColorSpan(color),beginPos,highlight.length() + beginPos,33);
}
}
return spanString;
}
项目:GongXianSheng
文件:AbstractStockListFragment.java
@Override
public void onBindViewHolder(ViewHolder viewHolder,int position) {
final StockItem bean = mStockList.get(position);
StockItem.Product productBean = bean.getProduct();
if (productBean != null) {
if (!TextUtils.isEmpty(mKeyword)) {
int index = productBean.getName().indexOf(mKeyword);
if (index != -1) {
SpannableString spannStr = new SpannableString(productBean.getName());
spannStr.setSpan(new ForegroundColorSpan(Color.parseColor("#6bb400")),index + mKeyword.length(),Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
viewHolder.name.setText(spannStr);
}
} else {
viewHolder.name.setText(productBean.getName());
}
viewHolder.number.setText(productBean.getDefaultCode() + " | ");
viewHolder.content.setText(productBean.getUnit());
if (productBean.getImage() !=null){
FrecoFactory.getInstance(getActivity()).disPlay(viewHolder.sDv,RunwiseService.ENDPOINT + productBean.getImage().getImageSmall());
}
}
viewHolder.value.setText(NumberUtil.getIOrD(String.valueOf(bean.getQty())));
viewHolder.uom.setText(bean.getUom());
if (TextUtils.isEmpty(bean.getLotNum())){
viewHolder.dateNumber.setVisibility(View.INVISIBLE);
}else{
viewHolder.dateNumber.setText(bean.getLotNum());
viewHolder.dateNumber.setVisibility(View.VISIBLE);
}
viewHolder.dateLate.setText(DateFormateUtil.getLaterFormat(bean.getLifeEndDate()));
}
项目:decoy
文件:AitHelper.java
public static void replaceAitForeground(String value,SpannableString mSpannableString) {
if (TextUtils.isEmpty(value) || TextUtils.isEmpty(mSpannableString)) {
return;
}
Pattern pattern = Pattern.compile("(\\[有人@你\\])");
Matcher matcher = pattern.matcher(value);
while (matcher.find()) {
int start = matcher.start();
if (start != 0) {
continue;
}
int end = matcher.end();
mSpannableString.setSpan(new ForegroundColorSpan(Color.RED),start,end,Spannable.SPAN_EXCLUSIVE_INCLUSIVE);
}
}
项目:chromium-for-android-56-debug-video
文件:ItemChooserDialog.java
/**
* Shows an error message in the dialog.
*/
public void setErrorState(SpannableString errorMessage,SpannableString errorStatus) {
mListView.setVisibility(View.GONE);
mProgressBar.setVisibility(View.GONE);
mEmptyMessage.setText(errorMessage);
mEmptyMessage.setVisibility(View.VISIBLE);
mStatus.setText(errorStatus);
}
项目:APIJSON-Android-RxJava
文件:PraiseTextView.java
private void setSpan(SpannableString msp,final int index,int start,int end,final User user) {
msp.setSpan(new ClickableSpan() {
@Override
public void onClick(View widget) {
onNameClick(index,widget,user);
}
},Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。