亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統 > Android > 正文

有關微博content的封裝實現詳解

2020-04-11 12:42:07
字體:
來源:轉載
供稿:網友
可以不用經過 Html.fromHtml 因為我的數據里面含有一點 html的標簽。所以經過html轉換了。
實現方法:
復制代碼 代碼如下:

TextView content = (TextView) convertView.findViewById(R.id.content);
content.setText(Html.fromHtml("<html><head>"+temp.get(position).getContent()+"</html></head>"));
CharSequence str = content.getText();
SpannableString spann = WeiboUtils.formatContentNoClick(str);
content.setText(spann);

具體的封裝如下:
復制代碼 代碼如下:

package com.lizheng.little.yiqu.utils;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import com.lizheng.little.yiqu.ui.ActWeiBoInfo;
import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.text.SpannableString;
import android.text.Spanned;
import android.text.style.ClickableSpan;
import android.text.style.ForegroundColorSpan;
import android.view.View;
public class WeiboUtils {
/**
* 將text中@某人、#某主題、http://網址的字體加亮,匹配的表情文字以表情顯示
* @param text
* @param context
* @return*/
public static SpannableString formatContent(CharSequence text,Context context) {
SpannableString spannableString = new SpannableString(text);
/*
* @[^//s::]+[:://s] 匹配@某人
* #([^//#|.]+)# 匹配#某主題 http://t//.cn///w+ 匹配網址
*/
Pattern pattern = Pattern.compile("@[^//s::]+[:://s]|#([^//#|.]+)#|http://t//.cn///w");
Matcher matcher = pattern.matcher(spannableString);
final Context mcontext = context;
while (matcher.find()) {
final String match=matcher.group();
if(match.startsWith("@")){ //@某人,加亮字體
spannableString.setSpan(new ClickableSpan()
{
// 在onClick方法中可以編寫單擊鏈接時要執行的動作
@Override
public void onClick(View widget)
{
String username = match;
username = username.replace("@", "");
username = username.replace(":", "");
username = username.trim();
Intent intent = new Intent(mcontext,XXX.class);
ConstantsUtil.clickName = username;
mcontext.startActivity(intent);//跳轉到用戶信息界面
}
}, matcher.start(), matcher.end(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
spannableString.setSpan(new ForegroundColorSpan(0xff0077ff),
matcher.start(), matcher.end(),
Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
}
else if(match.startsWith("#")){ //#某主題
spannableString.setSpan(new ClickableSpan()
{
// 在onClick方法中可以編寫單擊鏈接時要執行的動作
@Override
public void onClick(View widget)
{
String theme = match;
theme = theme.replace("#", "");
theme = theme.trim();
ConstantsUtil.clickName = theme;
Intent intent = new Intent(mcontext,XXX.class);
mcontext.startActivity(intent);//跳轉到話題信息界面
}
}, matcher.start(), matcher.end(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
spannableString.setSpan(new ForegroundColorSpan(0xff0077ff),
matcher.start(), matcher.end(),
Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
}
else if(match.startsWith("http://")){ //匹配網址
spannableString.setSpan(new ClickableSpan()
{
// 在onClick方法中可以編寫單擊鏈接時要執行的動作
@Override
public void onClick(View widget)
{
Uri uri = Uri.parse(match);
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
mcontext.startActivity(intent);
}
}, matcher.start(), matcher.end(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
spannableString.setSpan(new ForegroundColorSpan(0xff0077ff),
matcher.start(), matcher.end(),
Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
}
}
return spannableString;
}
public static SpannableString formatContentNoClick(CharSequence text) {
SpannableString spannableString = new SpannableString(text);
/*
* @[^//s::]+[:://s] 匹配@某人
* #([^//#|.]+)# 匹配#某主題 http://t//.cn///w+ 匹配網址
*/
Pattern pattern = Pattern.compile("@[^//s::]+[:://s]|#([^//#|.]+)#|http://t//.cn///w");
Matcher matcher = pattern.matcher(spannableString);
while (matcher.find()) {
final String match=matcher.group();
if(match.startsWith("@")){ //@某人,加亮字體
spannableString.setSpan(new ForegroundColorSpan(0xff0077ff),
matcher.start(), matcher.end(),
Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
}
else if(match.startsWith("#")){ //#某主題
spannableString.setSpan(new ForegroundColorSpan(0xff0077ff),
matcher.start(), matcher.end(),
Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
}
else if(match.startsWith("http://")){ //匹配網址
spannableString.setSpan(new ForegroundColorSpan(0xff0077ff),
matcher.start(), matcher.end(),
Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
}
}
return spannableString;
}
public static long calculateWeiboLength(CharSequence c) {
double len = 0;
for (int i = 0; i < c.length(); i++) {
int temp = (int)c.charAt(i);
if (temp > 0 && temp < 127) {
len += 0.5;
}else{
len ++;
}
}
return Math.round(len);
}
}

自己封裝的dialog控件://www.49028c.com/article/32030.htm
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美人与物videos| 欧美精品videos性欧美| 8090理伦午夜在线电影| 国产日产亚洲精品| 久久手机免费视频| 欧美精品videossex88| 日韩欧美在线视频免费观看| 精品成人乱色一区二区| 日韩久久免费电影| 久久好看免费视频| 777午夜精品福利在线观看| www国产亚洲精品久久网站| 欧美又大粗又爽又黄大片视频| 丝袜亚洲另类欧美重口| 91精品国产91久久久久久不卡| 国产日韩在线视频| 全亚洲最色的网站在线观看| 亚洲va欧美va在线观看| 日本一区二区三区在线播放| 8050国产精品久久久久久| 国产日韩欧美成人| 久久电影一区二区| 久久久久免费视频| 91国在线精品国内播放| 亚洲无av在线中文字幕| 亚洲视频在线观看网站| 欧美精品制服第一页| 色妞色视频一区二区三区四区| 亚洲一区二区精品| 久久视频在线免费观看| 日韩精品中文在线观看| 欧美性高跟鞋xxxxhd| 国产欧美精品xxxx另类| 欧美最猛性xxxxx(亚洲精品)| 国产精品美女呻吟| 久久人人爽人人爽人人片亚洲| 欧美性猛交xxxx黑人猛交| 日韩精品久久久久久久玫瑰园| 欧美成人h版在线观看| 国产精品久久久久久久久| 在线日韩中文字幕| 欧美专区福利在线| 亚洲欧美国产精品专区久久| 精品一区电影国产| 不卡毛片在线看| 国产精品久久久久久久久久ktv| 欧美激情中文网| 18久久久久久| 国产精品久久二区| 日韩电视剧在线观看免费网站| 欧美日韩在线视频一区二区| 国产日韩av高清| 国产欧美一区二区三区视频| 国产精品27p| 国产亚洲人成网站在线观看| 欧美日韩高清在线观看| 亚洲成**性毛茸茸| 午夜免费久久久久| 日韩国产高清视频在线| 亚洲天堂色网站| 欧美视频中文字幕在线| xvideos成人免费中文版| 欧美亚洲另类激情另类| 欧美精品国产精品日韩精品| 精品二区三区线观看| 日韩欧美高清在线视频| 91精品国产成人| 国产欧美精品在线播放| 日韩精品丝袜在线| 欧美怡春院一区二区三区| 在线电影av不卡网址| 亚洲综合精品一区二区| 欧美性感美女h网站在线观看免费| 欧美黑人xxxⅹ高潮交| 久久亚洲精品国产亚洲老地址| 国产成人精品综合久久久| 日韩av在线影院| 国产精品视频大全| 国产精品永久免费观看| 欧美激情a∨在线视频播放| 在线播放国产精品| 社区色欧美激情 | 国产精品ⅴa在线观看h| 国产精品成人观看视频国产奇米| 欧美日韩国产激情| 国产日韩欧美中文| 国产午夜精品一区二区三区| 国产精品999999| 成人啪啪免费看| 97国产精品视频| 国产成人精品一区二区在线| 欧美激情亚洲另类| 亚洲国产成人在线播放| 欧美精品精品精品精品免费| 欧洲成人免费视频| 欧美激情a∨在线视频播放| 日韩成人在线电影网| 日本久久久a级免费| 亚洲成人国产精品| 91亚洲人电影| 国产精品网站视频| 青青青国产精品一区二区| 久久久视频在线| 欧美成人免费视频| 久久久久久久久亚洲| 黑人与娇小精品av专区| 日韩亚洲精品电影| 国产精品激情av在线播放| 91精品成人久久| 欧美在线视频免费观看| 91久久精品国产91久久性色| 国产综合在线看| 成人久久一区二区三区| 国产成人激情小视频| 日韩有码在线视频| 精品久久久久久久久久ntr影视| 国产精品久久久久久五月尺| 亚洲人成啪啪网站| 成人精品网站在线观看| 国产精品免费一区二区三区都可以| 欧美激情精品久久久久久变态| 久久精品电影网| 欧美在线播放视频| 精品国产一区二区三区久久久狼| 亚洲国产精品电影在线观看| 尤物九九久久国产精品的分类| 午夜精品一区二区三区在线视| 欧美高清在线观看| 一本大道香蕉久在线播放29| 欧美最近摘花xxxx摘花| 92版电视剧仙鹤神针在线观看| 亚洲欧美制服中文字幕| 91精品在线播放| 成人中文字幕+乱码+中文字幕| 91在线视频一区| 日韩av中文字幕在线免费观看| 国产成人啪精品视频免费网| 国产国语刺激对白av不卡| 欧美极品在线视频| 韩国欧美亚洲国产| 亚洲精品中文字| 国产精品专区第二| 成人网在线免费观看| 日韩av在线电影网| 不卡在线观看电视剧完整版| 久久久久久亚洲精品中文字幕| 久久777国产线看观看精品| 一个人看的www久久| 国产精品∨欧美精品v日韩精品| 亚洲欧美国产精品久久久久久久| 成人性生交大片免费看小说| 成人中心免费视频| 国产一区二区三区在线看| 91国在线精品国内播放| 亚洲精品视频网上网址在线观看| 亚洲毛茸茸少妇高潮呻吟| 亚洲美女激情视频| 性色av一区二区三区免费| 久久综合88中文色鬼| 日韩欧美福利视频| 亚洲欧美日韩图片| 日韩电影免费观看在线| 日韩成人中文字幕在线观看| 性夜试看影院91社区|