首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >同一TextView中字符串的字体大小不同

同一TextView中字符串的字体大小不同
EN

Stack Overflow用户
提问于 2013-05-02 17:58:20
回答 9查看 115.5K关注 0票数 161

我有一个textView,里面有一个数字(变量)和一个string,我怎么能给出比string大1的数字呢?代码:

代码语言:javascript
复制
TextView size = (TextView)convertView.findViewById(R.id.privarea_list_size);
if (ls.numProducts != null) {
    size.setText(ls.numProducts + " " + mContext.getString(R.string.products));
}

我希望ls.numproducts有一个不同于其他文本的大小。怎么办?

EN

回答 9

Stack Overflow用户

回答已采纳

发布于 2013-05-02 18:10:41

使用Spannable String

代码语言:javascript
复制
 String s= "Hello Everyone";
 SpannableString ss1=  new SpannableString(s);
 ss1.setSpan(new RelativeSizeSpan(2f), 0,5, 0); // set size
 ss1.setSpan(new ForegroundColorSpan(Color.RED), 0, 5, 0);// set color
 TextView tv= (TextView) findViewById(R.id.textview);
 tv.setText(ss1); 

快照

您可以使用空格拆分字符串,并将span添加到所需的字符串。

代码语言:javascript
复制
 String s= "Hello Everyone";  
 String[] each = s.split(" ");

现在将span应用于string,并将其添加到textview

票数 399
EN

Stack Overflow用户

发布于 2015-01-27 23:58:16

如果您想知道如何在同一个textview中设置多个不同的大小,但使用绝对大小而不是相对大小,您可以使用AbsoluteSizeSpan而不是RelativeSizeSpan来实现。

只需获取所需文本大小的像素尺寸

代码语言:javascript
复制
int textSize1 = getResources().getDimensionPixelSize(R.dimen.text_size_1);
int textSize2 = getResources().getDimensionPixelSize(R.dimen.text_size_2);

然后基于文本创建一个新的AbsoluteSpan

代码语言:javascript
复制
String text1 = "Hi";
String text2 = "there";

SpannableString span1 = new SpannableString(text1);
span1.setSpan(new AbsoluteSizeSpan(textSize1), 0, text1.length(), SPAN_INCLUSIVE_INCLUSIVE);

SpannableString span2 = new SpannableString(text2);
span2.setSpan(new AbsoluteSizeSpan(textSize2), 0, text2.length(), SPAN_INCLUSIVE_INCLUSIVE);

// let's put both spans together with a separator and all
CharSequence finalText = TextUtils.concat(span1, " ", span2);
票数 142
EN

Stack Overflow用户

发布于 2013-05-02 18:01:55

您可以使用html字符串并使用以下命令将html设置为Textview

txtView.setText(Html.fromHtml("Your html string here"));

例如:

代码语言:javascript
复制
txtView.setText(Html.fromHtml("<html><body><font size=5 color=red>Hello </font> World </body><html>"));`
票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16335178

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档