如果我将简单的HTML格式标记(例如<b> ... </ b>)放入字符串资源并在TextView中显示字符串,则会应用预期的格式.但是,如果我构建自己的String并显示它,我该怎么做呢?如果我执行类似String str ="This is <b> bold </ b>";,则会显示实际标记 - 而不是预期的粗体.
我是否必须通过其他方法运行字符串才能将标记识别为标记?
我有一些文字有一些粗体部分.直到KitKat这个策略(如本文所述)运作得非常好
我的字符串资源文件:
<string name="multi_style_text">NON-BOLD TEXT \n<b>BOLD</b></string>
Run Code Online (Sandbox Code Playgroud)
我的应用程序代码片段:
txtView.setTypeface(FontUtils.getOstrichRegular(this.getActivity()));
...
public static Typeface getOstrichRegular(Context context) {
return Typeface.createFromAsset(context.getAssets(),
"fonts/ostrich_regular.ttf");
}
Run Code Online (Sandbox Code Playgroud)
目前(在KitKat中),粗体部分未显示在自定义字体中,非粗体部分显示在自定义字体中.在以前的Android版本中,所有文本都以自定义字体显示.
是什么赋予了?
如果我有一个SpannedString(或SpannableString)这样的
SpannableString spannableString = new SpannableString("Hello World!");
ForegroundColorSpan foregroundSpan = new ForegroundColorSpan(Color.RED);
BackgroundColorSpan backgroundSpan = new BackgroundColorSpan(Color.YELLOW);
spannableString.setSpan(foregroundSpan, 1, 8, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
spannableString.setSpan(backgroundSpan, 3, spannableString.length() - 1, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
textView.setText(spannableString);
Run Code Online (Sandbox Code Playgroud)
我将如何在结果的范围内循环String?
我有一个包含此文本的复选框:"我同意条款和条件".我需要"条款和条件"为蓝色,带下划线,并在触摸时打开网页.
我确实找到了Linkify类(http://developer.android.com/reference/android/text/util/Linkify.html),但这似乎将已经在文本中的URL转换为链接.
我怎样才能做到这一点?
我想加粗“”文本的一部分,但我不知道这是我的文本:
<string name="apropos"> Le projet Marocherche : Bâtir au cœur d un portail professionnel, destiné aux entreprises marocaines, une création conçue par des "professionnels pour des professionnels".
Run Code Online (Sandbox Code Playgroud)
有没有人帮我在文本到语音中提供提示?
我的目标是提示设备正在读取哪个单词。
文本到语音我的代码如下:-
TextToSpeech tts = new TextToSpeech(this,this);
if (txtText.getText().toString().length() == 0)
tts.speak("You haven't typed text", TextToSpeech.QUEUE_FLUSH, null);
else
tts.speak(txtText.getText().toString(), TextToSpeech.QUEUE_FLUSH,null);
Run Code Online (Sandbox Code Playgroud)
谢谢。
当用户撰写时,如何在 EditText 文本上应用跨度?
例如,用户在撰写时激活了“粗体”,因此此后输入的每个字符都应该是粗体。
我考虑过向 EditText 添加文本更改侦听器并在用户撰写时更新文本,但我想知道是否有更好的方法来执行此操作。
我正在使用textview来保存来自Web服务的字符串.字符串带有这样的格式."示例文字{{b}}粗体文字{{/ b}}等等".我需要在textview中显示粗体文字.在一个操作中我只能传递字符串.我是否有机会使用带有颜色,字体等属性的字符串?
注意:我没有解析文本的问题,我只想找到一种方法将解析后的文本传递给textview.
谢谢
我有一个TextView小部件,如下所示
<TextView
android:text="@string/inputText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1" />
Run Code Online (Sandbox Code Playgroud)
inputText在Strings.xml中定义为
<String name="inputText">The value of input is positive now</String>
Run Code Online (Sandbox Code Playgroud)
现在,我希望整个文本以棕色显示,而只有绿色显示"正".
有没有办法这样做?简而言之,我的问题是同时对同一文本视图进行多重着色
我想在 a 中获取一种类型的所有跨度CharSequence并将它们转换为不同的类型。例如,将所有粗体跨度转换为下划线跨度:
我该怎么做?
(这是我今天面临的一个问题,既然我现在已经解决了,我在这里添加一个问答对。我的答案如下。)