我有一个textView
,里面有一个数字(变量)和一个string
,我怎么能给出比string
大1的数字呢?代码:
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有一个不同于其他文本的大小。怎么办?
发布于 2013-05-02 18:10:41
使用Spannable String
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添加到所需的字符串。
String s= "Hello Everyone";
String[] each = s.split(" ");
现在将span
应用于string
,并将其添加到textview
。
发布于 2015-01-27 23:58:16
如果您想知道如何在同一个textview中设置多个不同的大小,但使用绝对大小而不是相对大小,您可以使用AbsoluteSizeSpan
而不是RelativeSizeSpan
来实现。
只需获取所需文本大小的像素尺寸
int textSize1 = getResources().getDimensionPixelSize(R.dimen.text_size_1);
int textSize2 = getResources().getDimensionPixelSize(R.dimen.text_size_2);
然后基于文本创建一个新的AbsoluteSpan
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);
发布于 2013-05-02 18:01:55
您可以使用html字符串并使用以下命令将html设置为Textview
txtView.setText(Html.fromHtml("Your html string here"));
例如:
txtView.setText(Html.fromHtml("<html><body><font size=5 color=red>Hello </font> World </body><html>"));`
https://stackoverflow.com/questions/16335178
复制相似问题