Android: Как изменить размер приложения: fabSize= "нормальный" для кнопки плавающего действия
при использовании FloatingActionButton, размер определяется app:fabSize="normal". Как я могу установить, что в dp размер ссылка "normal"?
Я пытался создать values/attrs.xml:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<declare-styleable name="app">
<attr name="fabSize">
<enum name="mini" value="50dp" />
<enum name="normal" value="100dp" />
</attr>
</declare-styleable>
</resources>
но я получаю ошибку
"normal" in attribute "fabSize" is not a valid integer
5 ответов
есть два разных размеров FAB в наличии: normal или mini
Normal (56dp)- этот размер должен использоваться в большинстве ситуаций.Mini (40dp)- следует использовать только при необходимости визуальной непрерывности с другими компонентами, отображаемыми на экране.
вы можете переопределить нормальные и мини-размеры, добавив следующее в values/dimens.xml:
<!-- Overriding sizes of the FAB -->
<dimen name="design_fab_size_normal">90dp</dimen>
<dimen name="design_fab_size_mini">30dp</dimen>
сложно было бы, если вам нужно больше, чем 2 fab размеров, в этом случае, я думаю, вам нужно создать пользовательский вид, расширяющий fab.
Я знаю, что это не рекомендуется, но для тех, кому абсолютно необходимо изменить размеры по умолчанию, я смог сделать это, обернув FloatingActionButton на LinearLayout.
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:layout_centerInParent="true"
android:orientation="horizontal" >
<android.support.design.widget.FloatingActionButton
android:layout_width="@dimen/custom_fab_size"
android:layout_height="@dimen/custom_fab_size"
app:fabSize="normal"
android:clickable="true"
android:src="@drawable/ic_mic_white_24dp"
android:scaleType="center"/>
</LinearLayout>
<dimen name="design_fab_size_normal">90dp</dimen>
<dimen name="design_fab_size_mini">30dp</dimen>
Set this in dimen file.