Я хочу изменить размер шрифта CollapsingToolbarLayout
и его шрифт. Как я могу это достичь?Как изменить CollapsingToolbarLayout шрифт и размер?
ответ
Похоже, у меня есть решение:
private void makeCollapsingToolbarLayoutLooksGood(CollapsingToolbarLayout collapsingToolbarLayout) {
try {
final Field field = collapsingToolbarLayout.getClass().getDeclaredField("mCollapsingTextHelper");
field.setAccessible(true);
final Object object = field.get(collapsingToolbarLayout);
final Field tpf = object.getClass().getDeclaredField("mTextPaint");
tpf.setAccessible(true);
((TextPaint) tpf.get(object)).setTypeface(Typeface.createFromAsset(getAssets(), "Roboto-Bold.ttf"));
((TextPaint) tpf.get(object)).setColor(getResources().getColor(R.color.ice));
} catch (Exception ignored) {
}
}
Reflection ... Ugly hack – Lester
Вы можете сделать Somthing так:
mCollapsingToolbarLayout.setTitle(getTitle());
mCollapsingToolbarLayout.setExpandedTitleTextAppearance(R.style.ExpandedAppBar);
mCollapsingToolbarLayout.setCollapsedTitleTextAppearance(R.style.CollapsedAppBar);
Соответствующий стиль TextView может быть: 28sp # 000 полужирный
<style name="CollapsedAppBar" parent="@android:style/TextAppearance.Medium">
<item name="android:textSize">24sp</item>
<item name="android:textColor">@color/white</item>
<item name="android:textStyle">normal</item>
</style>
также смотрите here для справки.
Это замечательно, спасибо! – Kibi
Это помогло мне изменить цвет текста заголовка, так как я обнаружил, что '' Toolbar.setTitleTextColor() '' или '' app: titleTextColor' '' Toolbar'' не меняет цвет заголовка панели инструментов, когда заключен в '' CollapsingToolbarLayout'' – patrickjason91
В принципе вы можете установить TextAppearance
в свой xml.
<android.support.design.widget.AppBarLayout
android:id="@+id/appbarlyout_commonview_header"
android:layout_width="match_parent"
android:layout_height="@dimen/appbarlayout_height"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
<android.support.design.widget.CollapsingToolbarLayout
android:id="@+id/collapse_commonview_header"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:contentScrim="?attr/colorPrimary"
app:expandedTitleMarginStart="72dp"
app:layout_scrollFlags="scroll|exitUntilCollapsed"
app:expandedTitleTextAppearance="@style/TextAppearance.AppCompat.Title">
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
android:scaleType="centerCrop" />
<android.support.v7.widget.Toolbar
android:id="@+id/tlbr_commonview_mainmenu"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
app:layout_collapseMode="pin" />
</android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>
Из приведенного выше кода вы видели эту часть
app:expandedTitleTextAppearance="@style/TextAppearance.AppCompat.Title"
В частности, последняя часть
.Title
Если вы помните, это документированный в Material Design Спекуляции в Секция тифографии. Вы можете изменить это в доступный встроенный стиль TextAppearance.
Второй шаг является использование Roboto Font
рекомендовавшую Google. TextAppearance
не включает в себя эти шрифты, поэтому нам нужно добавить их вручную, к счастью, есть Шрифт Base Gradle Base Robot Fot (s), который предлагается Typer. Перед использованием шрифта нам нужно добавить новую зависимость в нашем build.gradle
.
dependencies {
compile 'com.elmargomez.typer:typerlib:1.0.0'
}
и установить шрифт в нашу CollapsingToolbar
Typeface font = Typer.set(yourContext).getFont(Font.ROBOTO_MEDIUM);
collapsingToolbar.setExpandedTitleTypeface(font);
# 1. спасибо за сообщение – gianguyen
Вы можете использовать новые открытые методы, на CollapsingToolbarLayout
установить шрифт для свернутого и развернутого названия, например, так:
final Typeface tf = Typeface.createFromAsset(context.getAssets(), "fonts/FrutigerLTStd-Light.otf");
collapsingToolbar.setCollapsedTitleTypeface(tf);
collapsingToolbar.setExpandedTitleTypeface(tf);
Это, кажется, было добавлено в библиотеку поддержки дизайна 23.1.0, и это очень приятное дополнение.
Это замечательно, спасибо! –
Как изменить название? Я хочу, чтобы название было написано другим текстом. – Equivocal
Возможно, вы используете метод 'setTitle (String)' на экземпляре 'CollapsingToolbarLayout'. – Thorinside
mCollapsingToolbar.setTitle(getTitle());
mCollapsingToolbar.setExpandedTitleTextAppearance(R.style.ExpandedAppBar);
mCollapsingToolbar.setCollapsedTitleTextAppearance(R.style.CollapsedAppBar);
<style name="ExpandedAppBar" parent="@android:style/TextAppearance.Medium">
<item name="android:textSize">28sp</item>
<item name="android:textColor">#000</item>
<item name="android:textStyle">bold</item>
</style>
<style name="CollapsedAppBar" parent="@android:style/TextAppearance.Medium">
<item name="android:textSize">24sp</item>
<item name="android:textColor">@color/white</item>
<item name="android:textStyle">normal</item>
</style>
<style name="ExpandedAppBarPlus1" parent="@android:style/TextAppearance.Medium">
<item name="android:textSize">28.5sp</item>
<item name="android:textColor">#000</item>
<item name="android:textStyle">bold</item>
</style>
<style name="CollapsedAppBarPlus1" parent="@android:style/TextAppearance.Medium">
<item name="android:textSize">24.5sp</item>
<item name="android:textColor">@color/white</item>
<item name="android:textStyle">normal</item>
</style>
Ссылка здесь CollapsingToolbarLayout setTitle not work correctly
Изменить размер шрифта или один из родителей.
<style name="expandedappbar" parent="@android:style/TextAppearance.Medium"> //Change Medium to Small
<item name="android:textSize">28sp</item> <!--Or Change the font size -->
<item name="android:textColor">@color/white</item>
<item name="android:textStyle">bold</item>
</style>
<style name="collapsedappbar" parent="@android:style/TextAppearance.Medium">
<item name="android:textSize">18sp</item>
<item name="android:textColor">@color/white</item>
</style>
Код здесь
<android.support.design.widget.CollapsingToolbarLayout
android:id="@+id/collapsingToolbarLayout"
android:layout_width="match_parent"
app:expandedTitleTextAppearance="@style/Toolbar.TitleText"
app:collapsedTitleTextAppearance="@style/Toolbar.TitleText"
android:layout_height="match_parent"
app:contentScrim="?attr/colorPrimary"
app:expandedTitleMarginStart="@dimen/expanded_toolbar_title_margin_start"
app:layout_scrollFlags="scroll|exitUntilCollapsed">
Добавьте эти строки кода в CollapsingToolbarLayout макете
app:expandedTitleTextAppearance="@style/Toolbar.TitleText"
app:collapsedTitleTextAppearance="@style/Toolbar.TitleText"
И код, который приводится ниже, в style.xml
<style name="Toolbar.TitleText" parent="TextAppearance.Widget.AppCompat.Toolbar.Title">
<item name="android:textSize">16sp</item>
</style>
- 1. Как изменить шрифт метки (и размер шрифта)
- 2. as3 - Как изменить шрифт, размер и цвет?
- 3. Как изменить размер и шрифт пользовательского NSTextField?
- 4. Как изменить шрифт заголовка панели инструментов в CollapsingToolbarLayout?
- 5. MSWord: Изменить шрифт и размер шрифта
- 6. Swift3 UITextField изменить заполнитель шрифт и размер
- 7. UITableViewRowAction изменить шрифт и/или размер
- 8. Программно изменить определенный шрифт + размер на другой шрифт + размер
- 9. изменить размер e шрифт joptionpane
- 10. Как изменить шрифт или размер jquery.ui selectmenu?
- 11. CollapsingToolbarLayout Рекомендуемый размер изображения
- 12. Как изменить шрифт и размер шрифта в Php Gd?
- 13. Как изменить шрифт и размер шрифта по умолчанию для NSMutableAttributedString
- 14. Как изменить размер шрифта и шрифт-семью автозаполнения Google Места?
- 15. Как изменить шрифт, цвет, размер и т. Д. Вычисления javascript?
- 16. Как изменить шрифт приложения на пользовательский шрифт
- 17. Как изменить шрифт PopupMenu шрифт
- 18. Изменить шрифт, размер тоста в iOS
- 19. Условный шрифт, размер и цвет Условный шрифт
- 20. Изменить размер шрифта заголовка панели инструментов в CollapsingToolbarLayout в android
- 21. изменить цвет и шрифт NStextView
- 22. изменить шрифт и размер текста в пакетном файле
- 23. Изменить шрифт и его размер в Tcltk GUI
- 24. Как изменить шрифт GUI Eclipse?
- 25. Самый простой способ изменить шрифт и размер шрифта
- 26. XCode 5 Можно ли изменить шрифт и размер на раскадровке?
- 27. Изменить шрифт или шрифт
- 28. Как изменить шрифт в NSTextContainer
- 29. Как найти размер и шрифт Текст UIActionSheet?
- 30. шрифт шрифта размер шрифта
пытался setCollapsedTitleTextAppearance(); и setCollapsedTitleTextColor(); функция? – abhishek
@abhishek, это не то, что я ищу. Я не могу изменить шрифт через xml. – AlexMomotov