在 Android 中设置字体
Setting font in Android
在android中使用setTypeface
方法我们可以通过编程方式将字体设置为我们希望的控件,但我想知道有没有办法避免这种情况并在布局中设置字体XML 文件本身?
我只想指定文件的路径,字体应该会自动更新。
是的。您需要扩展要在 xml 中设置其字体的视图,然后创建一个自定义属性(作为枚举)以从 xml 访问并调用它,例如 "customFont"。
然后在扩展视图中 java 代码获取 "customFont" 值并以编程方式更改字体。
然后你可以使用这个自定义视图并通过 xml 设置它的字体 ;)
某些有限的字体是可能的,因为您必须为 xml 定义一个枚举,然后在 java 代码中查看选择的字体,然后在 java 代码中设置所选字体字体.
尽管您可以在 xml 中设置系统字体,但无需所有这些。我的解释是针对您的自定义字体 ;)
您可以使用 Calligraphy 库,您可以在其中指定 XML 本身的字体。
<TextView
android:text="@string/hello_world"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
fontPath="fonts/Roboto-Bold.ttf"/>
在android中使用setTypeface
方法我们可以通过编程方式将字体设置为我们希望的控件,但我想知道有没有办法避免这种情况并在布局中设置字体XML 文件本身?
我只想指定文件的路径,字体应该会自动更新。
是的。您需要扩展要在 xml 中设置其字体的视图,然后创建一个自定义属性(作为枚举)以从 xml 访问并调用它,例如 "customFont"。
然后在扩展视图中 java 代码获取 "customFont" 值并以编程方式更改字体。
然后你可以使用这个自定义视图并通过 xml 设置它的字体 ;)
某些有限的字体是可能的,因为您必须为 xml 定义一个枚举,然后在 java 代码中查看选择的字体,然后在 java 代码中设置所选字体字体.
尽管您可以在 xml 中设置系统字体,但无需所有这些。我的解释是针对您的自定义字体 ;)
您可以使用 Calligraphy 库,您可以在其中指定 XML 本身的字体。
<TextView
android:text="@string/hello_world"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
fontPath="fonts/Roboto-Bold.ttf"/>