尝试在可扩展列表中加粗Android Studio中的特定文本
非常新的编码,只是几个星期后学习工作在这里和那里。我正在尝试建立一个应用程序,并取得了进展,但遇到了困难。我只希望在我的子项中有两个词是粗体的。有什么帮助吗?这在我的java文件中,包含可扩展列表的详细信息尝试在可扩展列表中加粗Android Studio中的特定文本,android,android-studio,bold,Android,Android Studio,Bold,非常新的编码,只是几个星期后学习工作在这里和那里。我正在尝试建立一个应用程序,并取得了进展,但遇到了困难。我只希望在我的子项中有两个词是粗体的。有什么帮助吗?这在我的java文件中,包含可扩展列表的详细信息 Appliances.add("The first word of each paragraph\nis what I would like to be bold faced"); sb应该产生字符串-每个段落的第一个单词,我想用粗体字 然后根据需要使用字符串: Appliances.a
Appliances.add("The first word of each paragraph\nis what I would like to be bold faced");
sb
应该产生字符串-每个段落的第一个单词,我想用粗体字
然后根据需要使用字符串:
Appliances.add(sb.toString());
sb
应该产生字符串-每个段落的第一个单词,我想用粗体字
然后根据需要使用字符串:
Appliances.add(sb.toString());
有一个最简单的解决方案,只需在android studio的“res”文件夹下的value文件夹的string.xml文件中添加字符串 要使两个单词加粗,只需将此字符串添加到上面的stirng.xml文件中
<b>The</b> first word of each paragraph\nis <b>what</b> I would like to be bold faced
有一个最简单的解决方案,只需在android studio的“res”文件夹下的value文件夹的string.xml文件中添加字符串 要使两个单词加粗,只需将此字符串添加到上面的stirng.xml文件中
<b>The</b> first word of each paragraph\nis <b>what</b> I would like to be bold faced
在下面的类中使用,例如,yourTextView.setText(新RichTextView(句子).setBold(wordWichYouwantBold))
你可以在里面找到另一个有用的方法:)享受吧
在下面的类中使用,例如,yourTextView.setText(新RichTextView(句子).setBold(wordWichYouwantBold))
你可以在里面找到另一个有用的方法:)享受吧
最佳解决方案在这里:最佳解决方案在这里:
import android.graphics.Typeface;
import android.text.Spannable;
import android.text.SpannableString;
import android.text.style.ClickableSpan;
import android.text.style.ForegroundColorSpan;
import android.text.style.RelativeSizeSpan;
import android.text.style.StrikethroughSpan;
import android.text.style.StyleSpan;
import android.text.style.URLSpan;
import android.view.View;
/**
* Created by RajeshKushvaha on 19-11-16
*/
//.setText(text, TextView.BufferType.SPANNABLE); to textView if not work
public class RichTextView extends SpannableString {
private String syntax;
public RichTextView(String syntax) {
super(syntax);
this.syntax = syntax;
}
public RichTextView setTextColor(String word, int color) {
setSpan(new ForegroundColorSpan(color), syntax.indexOf(word), syntax.indexOf(word) + word.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
return this;
}
public RichTextView setSize(String word, float howMuch) {
setSpan(new RelativeSizeSpan(howMuch), syntax.indexOf(word), syntax.indexOf(word) + word.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
return this;
}
public RichTextView setStrikeOut(String word) {
setSpan(new StrikethroughSpan(), syntax.indexOf(word), syntax.indexOf(word) + word.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
return this;
}
public RichTextView setUrl(String word, String redirectUrl) {
setSpan(new URLSpan(redirectUrl), syntax.indexOf(word), syntax.indexOf(word) + word.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
return this;
}
public RichTextView setBold(String word) {
StyleSpan boldSpan = new StyleSpan(Typeface.BOLD);
setSpan(boldSpan, syntax.indexOf(word), syntax.indexOf(word) + word.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
return this;
}
//setMovementMethod(LinkMovementMethod.getInstance()); after or before call
public RichTextView setClickable(String word, final setOnLinkClickListener listener) {
ClickableSpan clickableSpan = new ClickableSpan() {
@Override
public void onClick(View view) {
if (listener != null) {
listener.onLinkClicked();
}
}
};
setSpan(clickableSpan, syntax.indexOf(word), syntax.indexOf(word) + word.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
return this;
}
public interface setOnLinkClickListener {
public void onLinkClicked();
}
}