kotlin-AlertDialog的自定义字体

时间:2018-11-07 12:54:38

标签: android kotlin android-alertdialog

我必须更改alertDialog.setMessagealertDialog.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一起使用。

该怎么做?

希望我解释得很好

2 个答案:

答案 0 :(得分:0)

Android随附了不错的默认字体,但在某些情况下,您可能希望使用其他字体。

使用自定义字体android的最快方法

将字体文件放入资产文件夹

enter image description here

创建字体对象

 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()

我希望它会帮助其他人,