我想将存储在字符串变量中的文本变为粗体。
String buttonText = t.getText()。toString(); String val = map.get(buttonText);
new MaterialDialog.Builder(LearningMode.this)
.iconRes(BalloonColor.get(2))
.limitIconToDefaultSize()
.title("Meaning")
.content(buttonText+"\n"+val)
.positiveText("Continue")
.cancelable(false)
.onPositive(new MaterialDialog.SingleButtonCallback() {
@Override
public void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) {
mover.resume();
}
})
.show();
at .content(buttonText +“\ n”+ val) 我希望存储在其中的字符串变为粗体。 我试过html.fromhtml它不能正常工作
喜欢这个Html.fromHtml(“< b>”+ buttonText +“< / b>”)
在上面添加了空格,因为它正在转换为粗体
和其他方法,例如在strings.xml中使用< b>不会在这里工作,因为我在这里以编程方式处理它!
最终当输出sholud中的字符串按钮文本显示为粗体时。
我已经提到了这个Set TextView text from html-formatted string resource in XML
更新:
没有使用textview。
有人请帮忙!
答案 0 :(得分:2)
只要您传入支持粗体文字的MaterialDialog.Builder
content(CharSequence)
,CharSequence
类的Html.fromHtml()
方法就可以很好地使文字变为粗体。我知道你说public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
protected void onResumeFragments() {
super.onResumeFragments();
String myString = "test";
new MaterialDialog.Builder(this)
.title("Hello world")
.content(Html.fromHtml("this is a <b>" + myString + "</b>"))
.positiveText("OK")
.show();
}
}
不起作用,但在我的测试中它完美无缺。这是一个非常简单的活动,它是一个概念证明:
$.fn.colorBlocks = function(colorContainer, rangeSlider) {
答案 1 :(得分:1)
您可以使用SpannableString。比如你说一个名为txt的TextView然后代码是:
SpannableStringBuilder sb = new SpannableStringBuilder("HELLOO");
StyleSpan bss = new StyleSpan(android.graphics.Typeface.BOLD);
sb.setSpan(bss, 0, sb.length(), Spannable.SPAN_INCLUSIVE_INCLUSIVE);
txt.setText(sb);
更新
正如我在材料对话库中看到的,它有bug,所以尝试下面的代码
@NonNull
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
return new MaterialDialog.Builder(getActivity())
.title(R.string.about)
.positiveText(R.string.dismiss)
.content(fromHtml(getString(R.string.about_body)))
.contentLineSpacing(1.6f)
.build();
}
@SuppressWarnings("deprecation")
public static Spanned fromHtml(String html){
Spanned result;
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.N) {
result = Html.fromHtml(html,Html.FROM_HTML_MODE_LEGACY);
} else {
result = Html.fromHtml(html);
}
return result;
}
}
了解更多https://github.com/afollestad/material-dialogs/issues/1290
答案 2 :(得分:0)
试试这个:
buttonText.setTypeface(null, Typeface.BOLD);