#android #xamarin #xamarin.android
#Android #ксамарин #xamarin.android #xamarin
Вопрос:
У меня есть кнопка, и я хочу установить пользовательский шрифт для текста, но у меня возникают проблемы с этим.
Код следующий :
В файле .xml :
<Button
android:id="@ id/button"
style="@style/ButtonStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
tools:text="Sample Text"/>
и в styles.xml
<style name="ButtonStyle" parent="@style/Widget.AppCompat.Button.Borderless">
<item name="android:textSize">@dimen/button_text_size</item>
<item name="android:background">@drawable/button_background</item>
<item name="android:textAppearanceButton">@style/ButtonTextStyle</item>
<item name="android:textColor">?android:textColorPrimaryInverse</item>
</style>
<style name="ButtonTextStyle" parent="TextAppearance.AppCompat">
<item name="android:fontFamily">@font/my_custom_font</item>
</style>
Комментарии:
1. Так что же не работает?
2. @ZUNJAE шрифт не устанавливается с помощью приведенного выше кода. Я обновил описание
3. Какому руководству вы следуете для настройки пользовательского шрифта?
4. @MihaiBC если вы измените шрифт в коде, будет ли это работать? Попробуйте вызвать
setTypeface
на вашей кнопке5. Вы можете опубликовать решение в качестве ответа, чтобы его могло увидеть больше людей.
Ответ №1:
Вместо создания другого стиля FontFamily следует использовать в стиле button, и код должен выглядеть следующим образом.
<style name="ButtonStyle" parent="@style/Widget.AppCompat.Button.Borderless">
<item name="android:textSize">@dimen/button_text_size</item>
<item name="android:background">@drawable/button_background</item>
<item name="android:fontFamily">@font/my_custom_font</item>
<item name="android:textColor">?android:textColorPrimaryInverse</item>
</style>