在Android小部件中以编程方式设置文本样式的方法?

时间:2010-11-08 16:01:30

标签: android text coding-style widget

我看到有TextAppearanceSpan可用,但没有使用示例。我只想让文本变粗,让其他所有内容保持不变 - 是否有一种更简单的方法可以通过编程方式完成此操作?

2 个答案:

答案 0 :(得分:3)

您只需要在res / values中创建一个xml文件,并编写如下内容:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="header">
        /** here goes the style */
    </style>
</resources>

然后您需要将生成的R.style.header传递给TextAppearanceSpan构造函数。

答案 1 :(得分:2)

记录在 http://developer.android.com/guide/appendix/faq/commontasks.html#selectingtext ,使用Spannable查看第二种方式。

具体地

// Get our EditText object.
EditText vw = (EditText)findViewById(R.id.text); // or new etc

// Set the EditText's text.
vw.setText("Italic, highlighted, bold.");

// Get the EditText's internal text storage
Spannable str = vw.getText();

// Create our span sections, and assign a format to each.
str.setSpan(new StyleSpan(android.graphics.Typeface.ITALIC), 0, 7, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
str.setSpan(new BackgroundColorSpan(0xFFFFFF00), 8, 19, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
str.setSpan(new StyleSpan(android.graphics.Typeface.BOLD), 21, str.length() - 1, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);