Ответ 1
Отмените значение по умолчанию elevation FAB, добавив:
android:elevation="0dp"
Или в кодовом вызове View.setElevation(float)
Я пытаюсь заменить третью сторону FloatingActionButton с родной, который упакован в библиотеку com.android.support:design:22.2.0
. По умолчанию внешний вид имеет темную тень вокруг изображения, как я могу избавиться от него? Я знаю, что первый из них предоставляет метод setShadow()
, но я просто не могу найти подобный из последнего.
Это связанный XML-макет:
<android.support.design.widget.FloatingActionButton
android:id="@+id/alarm_front"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/btn_icon_alarm_notset" />
И я установил его цвет фона желтым.
mAlarmBtn.setBackgroundTintList(ColorStateList.valueOf(getResources().getColor(R.color.floatButtonColor)));
Отмените значение по умолчанию elevation FAB, добавив:
android:elevation="0dp"
Или в кодовом вызове View.setElevation(float)
Отмените высоту по умолчанию FAB, добавив следующее:
app:elevation="0dp"
Добавьте это
android:elevation="0dp"
app:elevation="0dp"
Это будет выглядеть так:
<android.support.design.widget.FloatingActionButton
android:id="@+id/floatingActionButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_add"
android:elevation="0dp"
app:elevation="0dp"
app:fabSize="normal"
android:scaleType="fitCenter"/>
Если вы используете библиотеки поддержки - последняя версия Android Studio позволяет нам их использовать. Проверьте импорт
import android.support.design.widget.FloatingActionButton;
FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
//if using support app compat
fab.setCompatElevation(16.0f);
else, если вы поддерживаете только новые версии sdk
fab.setElevation();
//call requires SDK 21
см
.../app/build.gradle
minSdkVersion 18 << less than 21 so req support libraries
targetSdkVersion 25
Пробовал все предложения выше, и ничего не работало для API 23 и выше. Я закончил с этим, который полностью удалил тень:
app:backgroundTint="@android:color/transparent"
app:borderWidth="0dp"
Ниже приведена моя кнопка:
Перед изменением он выглядел следующим образом:
Сделайте borderWidth равным 0
app:borderWidth="0dp"