Там нет никакого способа, чтобы установить все приложения начертание шрифта, но если вы ищете более общее программное решение, я создал статический класс, который можно использовать для установки Typeface для всего представления (Activity UI). Обратите внимание, что я работаю с Mono (C#), но вы можете легко реализовать его с помощью Java.
Вы можете передать этому классу макет или определенное представление, которое вы хотите настроить. Если вы хотите быть суперэффективным, вы можете реализовать его с использованием шаблона Singleton.
public static class AndroidTypefaceUtility
{
static AndroidTypefaceUtility()
{
}
//Refer to the code block beneath this one, to see how to create a typeface.
public static void SetTypefaceOfView(View view, Typeface customTypeface)
{
if (customTypeface != null && view != null)
{
try
{
if (view is TextView)
(view as TextView).Typeface = customTypeface;
else if (view is Button)
(view as Button).Typeface = customTypeface;
else if (view is EditText)
(view as EditText).Typeface = customTypeface;
else if (view is ViewGroup)
SetTypefaceOfViewGroup((view as ViewGroup), customTypeface);
else
Console.Error.WriteLine("AndroidTypefaceUtility: {0} is type of {1} and does not have a typeface property", view.Id, typeof(View));
}
catch (Exception ex)
{
Console.Error.WriteLine("AndroidTypefaceUtility threw:\n{0}\n{1}", ex.GetType(), ex.StackTrace);
throw ex;
}
}
else
{
Console.Error.WriteLine("AndroidTypefaceUtility: customTypeface/view parameter should not be null");
}
}
public static void SetTypefaceOfViewGroup(ViewGroup layout, Typeface customTypeface)
{
if (customTypeface != null && layout != null)
{
for (int i = 0; i < layout.ChildCount; i++)
{
SetTypefaceOfView(layout.GetChildAt(i), customTypeface);
}
}
else
{
Console.Error.WriteLine("AndroidTypefaceUtility: customTypeface/layout parameter should not be null");
}
}
}
В вашей деятельности вам необходимо создать объект Typeface. Я создаю шахту в OnCreate(), используя файл .ttf, расположенный в моем каталоге Resources/Assets /. Убедитесь, что файл отмечен как «Атрибут Android» в его свойствах.
protected override void OnCreate(Bundle bundle)
{
...
LinearLayout rootLayout = (LinearLayout)FindViewById<LinearLayout>(Resource.Id.signInView_LinearLayout);
Typeface allerTypeface = Typeface.CreateFromAsset(base.Assets,"Aller_Rg.ttf");
AndroidTypefaceUtility.SetTypefaceOfViewGroup(rootLayout, allerTypeface);
}
Спасибо за ваш ответ. Я видел вашу ссылку, прежде чем задавать свой вопрос. Хорошо ... Как установить шрифт вкладки панели действий? – deeplop
Вы должны добавить пользовательский текстовый вид на вкладки: http://stackoverflow.com/a/14681975/1926391 – Nipper
извините, я не использую панель действий Шерлока – deeplop