我必须更改alertDialog.setMessage
和alertDialog.setTitle
的默认字体,但是我不能使用自定义布局,因此必须通过 Kotlin 中的代码进行更改。
我尝试使用字体,但是他没有检测到res/font/product_sans_bold.ttf
我也用过
content.text = Html.fromHtml(resources.getString(R.string.centripetaFormule))
content.typeface = ResourcesCompat.getFont(applicationContext, R.font.product_sans_bold)
alertDialog.setView(content)
它有效,但不是我想要的。
我有一个字符串
<string name ="centripetaFormule>![CDATA[<h5>(...)</h5><p>(...)</p>
其中h5
为粗体,因此使用可变内容,h5和“普通”文本之间没有任何区别,除了大小。
因此,我只想更改普通文本的字体,不能使用自定义布局,必须将字符串与CDATA
一起使用。
该怎么做?
希望我解释得很好
答案 0 :(得分:0)
Android随附了不错的默认字体,但在某些情况下,您可能希望使用其他字体。
使用自定义字体android的最快方法
将字体文件放入资产文件夹
创建字体对象
Typeface customFont = Typeface.createFromAsset(getAssets(), "fonts/Roboto-Bold.ttf")
将字体设置为TextView / EditText / Button等…
TextView textView = (TextView) findViewById(R.id.my_textview);
textView.setTypeface(customFont);
答案 1 :(得分:0)
我解决了这样的问题:
自定义视图
dialog_custom_nunito.xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView android:id="@+id/custom_dialog_tv" android:layout_width="wrap_content"
android:layout_margin="12sp"
android:textSize="18sp"
android:layout_height="wrap_content" android:text="@string/warning_recherche_no_found"/>
</LinearLayout>
科特琳代码:
val builder = AlertDialog.Builder(this)
builder.setView(R.layout.dialog_custom_nunito)
builder.setNegativeButton("OK") { dialogInterface, i -> }
builder.show()
我希望它会帮助其他人,