Android:自定义字体适用于 TextView,不适用于 Button
Android: Custom font works for TextView, not for Button
我无法让按钮使用我的自定义字体。
它适用于 TextView,不适用于 Button(它是 TextView 的子类)。
我正在使用带有 minSdkVersion 26 和 Kotlin 的 Android Studio 3.1.2。
res/font/font.xml
<?xml version="1.0" encoding="utf-8"?>
<font-family xmlns:android="http://schemas.android.com/apk/res/android">
<font
android:fontStyle="normal"
android:fontWeight="400"
android:font="@font/my-custom-font" />
</font-family>
res/layout/fragment.xml
...
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/myButton"
android:maxWidth="30dp"
android:minWidth="30dp"
android:maxHeight="40dp"
android:minHeight="40dp"
android:fontFamily="@font/my-custom-font"
android:textSize="20dp"
android:text="a" />
...
以上有效。用 Button 替换 TextView,它停止工作。
编辑:我想使用自定义字体来保存按钮的图标,而不是使用图像和图像按钮。我们发现自定义字体比图像更易于管理。
为您的按钮添加样式:
在 styles.xml
下创建新样式:
<style name="main_button">
<item name="android:fontFamily">@font/my-custom-font</item>
<item name="android:background">@drawable/btn_blue</item>
<item name="android:textColor">#FFFF</item>
<item name="android:textAllCaps">false</item>
<item name="android:foreground">?attr/selectableItemBackground</item>
</style>
输入您想要的任何值。确保包括 fontFamily:
然后在您的按钮上添加样式:
<Button
android:id="@+id/id"
style="@style/main_button" />
在您的样式中使用 app:fontFamily="@font/my-custom-font"
,而不是 android:fontFamily="@font/my-custom-font"
我无法让按钮使用我的自定义字体。 它适用于 TextView,不适用于 Button(它是 TextView 的子类)。
我正在使用带有 minSdkVersion 26 和 Kotlin 的 Android Studio 3.1.2。
res/font/font.xml
<?xml version="1.0" encoding="utf-8"?>
<font-family xmlns:android="http://schemas.android.com/apk/res/android">
<font
android:fontStyle="normal"
android:fontWeight="400"
android:font="@font/my-custom-font" />
</font-family>
res/layout/fragment.xml
...
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/myButton"
android:maxWidth="30dp"
android:minWidth="30dp"
android:maxHeight="40dp"
android:minHeight="40dp"
android:fontFamily="@font/my-custom-font"
android:textSize="20dp"
android:text="a" />
...
以上有效。用 Button 替换 TextView,它停止工作。
编辑:我想使用自定义字体来保存按钮的图标,而不是使用图像和图像按钮。我们发现自定义字体比图像更易于管理。
为您的按钮添加样式:
在 styles.xml
下创建新样式:
<style name="main_button">
<item name="android:fontFamily">@font/my-custom-font</item>
<item name="android:background">@drawable/btn_blue</item>
<item name="android:textColor">#FFFF</item>
<item name="android:textAllCaps">false</item>
<item name="android:foreground">?attr/selectableItemBackground</item>
</style>
输入您想要的任何值。确保包括 fontFamily:
然后在您的按钮上添加样式:
<Button
android:id="@+id/id"
style="@style/main_button" />
在您的样式中使用 app:fontFamily="@font/my-custom-font"
,而不是 android:fontFamily="@font/my-custom-font"