В настоящее время я работаю над приложением для Android и использую последнее дополнение Floating Action Button. Однако после компиляции необходимых библиотек и добавления fab в мой XML-файл он выглядит как квадрат, в то время как я ожидаю, что это будет круг, как и везде.
Я использую тот же базовый код для реализации фабрики, что и в Интернете, и мой результат - квадрат, а их - красивый круг.
Вот мой код:
<android.support.design.widget.FloatingActionButton
android:id = "@+id/fab"
android:layout_width = "wrap_content"
android:layout_height = "wrap_content"
android:layout_gravity = "end|bottom"
android:layout_margin = "16dp"
android:src = "@drawable/ic_person_add_black_24dp" />
Вот скриншот того, что отображается:
Как вывести фабу (добавить сюда контакт) кружком?
Спасибо,
Попробуйте этот код XML, это автоматически сгенерированный код Android studio из шаблона
<android.support.design.widget.FloatingActionButton
android:id = "@+id/fab"
android:layout_width = "wrap_content"
android:layout_height = "wrap_content"
android:layout_gravity = "bottom|end"
android:layout_margin = "@dimen/fab_margin"
app:srcCompat = "@android:drawable/ic_dialog_email" />
Надеюсь это поможет.
Это дает мне тот же результат. Я также попытался использовать вкладку «Дизайн» в Android Studio и щелкнуть напрямую по опции для фабрики, и она по-прежнему отображается в виде квадрата. Есть ли еще какая-нибудь идея?
Какую версию библиотеки поддержки вы используете? также попробуйте добавить app:borderWidth = "0dp"
Вот они: compile 'com.android.support:appcompat-v7:24.2.1' compile 'com.android.support:design:24.2.1' Кроме того, для SdkVersion установлено значение 27
Попробуйте установить одну из тем appcompat для своей фабрики или для родительского макета: android:theme = "@style/Theme.AppCompat"
Этот работает на FAB. не могли бы вы рассказать о Extended FAB?
Материальные компоненты, вероятно, должны использовать материальные темы, и я предполагаю, что мы говорим о com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton. Вы можете попробовать Widget.MaterialComponents.ExtendedFloatingActionButton или ?attr/extendedFloatingActionButtonStyle (согласно deoc это по умолчанию). Для более подробной информации вы можете взять lool в исходном коде xml стилей материалов github.com/material-components/material-components-android/b lob /…
Я не знаю, решило ли это это, но я немного перестал работать над этим проектом для другого, и у меня не было этой проблемы в моем другом проекте.
AndroidStudio, похоже, создает квадратную фабрику, если ваша активность расширяет Activity, а не AppCompatActivity.
Даже если ваша деятельность расширяет AppCompatActivity, вам также может потребоваться построить проект (Ctrl + F9), прежде чем вы сможете увидеть, что предварительный просмотр правильно отрисован.
Вы можете использовать материал FAB с Theme.MaterialComponents.
<com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton
android:id = "@+id/fab_Send"
android:layout_width = "wrap_content"
android:layout_height = "wrap_content"
android:layout_alignParentEnd = "true"
android:layout_centerVertical = "true"
android:contentDescription = "@string/app_name"
android:gravity = "center"
android:text = "@string/send"
android:theme = "@style/Theme.MaterialComponents"
android:textAllCaps = "false"
android:textColor = "@color/colorWhite"
android:textSize = "@dimen/_12sdp"
app:backgroundTint = "@color/colorPrimary"
app:borderWidth = "0dp"
android:fontFamily = "@font/play_fair_display_black"
app:useCompatPadding = "true"
tools:ignore = "RelativeOverlap" />
Вот результат
Причина, по которой это происходит, заключается в том, что вы используете другую тему для своего приложения, отличную от той, которая используется FAB. В моем случае я использую Theme.AppCompat.Light.NoActionBar для своего приложения, но FAB не поддерживает это.