Можно ли добавить тень к произвольной форме в Android? Изучив документацию, я вижу только способ применить тень текста.
Я пробовал это без везения:
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="#90ffffff"/>
<corners android:radius="12dp" />
<item name="android:shadowColor">#000000</item>
<item name="android:shadowRadius">5</item>
<item name="android:shadowDy">3</item>
</shape>
android
android-layout
mdunkle
источник
источник
<!-- Bottom 2dp Shadow -->
я не вижу2
в вашем коде ... ???Вот как я это делаю:
Ниже приведен код для одной кнопки СОСТОЯНИЕ:
Тогда у вас должен быть селектор с разными версиями кнопки, например:
надеюсь, это поможет вам .. удачи
источник
Это моя версия падающей тени. Я собирался на туманную тени все вокруг формы и использовал этот ответ на Йоаким Лундборге в моей отправной точке. Что я изменил, так это добавить углы ко всем теневым элементам и увеличить радиус угла для каждого последующего теневого элемента. Итак, вот
xml
:источник
У меня сработало следующее: Просто сохраните как custom_shape.xml.
источник
Думаю, этот метод дает очень хорошие результаты:
источник
Старый вопрос, но Elevation, доступный в Material Design, теперь обеспечивает тень для любых видов.
См. Документацию по адресу https://developer.android.com/training/material/shadows-clipping.html.
источник
ImageButton
вместоImageView
плюса.Button' because it allows a
ImageButton` позволяет использовать как an, такandroid:background
и anandroid:src
. Поэтому я смог указатьandroid:elevation
только один раз, избежав «эффекта пирамиды инков», описанного в моем последнем комментарии.Я бы предложил небольшое улучшение решения Брюса, которое состоит в том, чтобы предотвратить перерисовку одной и той же формы друг на друге и просто использовать обводку вместо сплошной. Это выглядело бы так:
Наконец, я хотел указать людям, которым нужна тень в определенном направлении, что все, что вам нужно сделать, это установить верхний, нижний, левый или правый угол на 0dp (для сплошной линии) или -1dp (для ничего)
источник
Если вы не возражаете против создания пользовательского рисунка с помощью Canvas API, ознакомьтесь с этим ответом о падающих тенях . Вот дополнительный вопрос к тому, который устраняет проблему в оригинале.
источник
источник
Я думаю, что это значение тени подходит для большинства случаев:
источник
Этот вопрос может быть старым, но для тех, кто в будущем хочет простой способ достижения сложных теневых эффектов, ознакомьтесь с моей библиотекой здесь https://github.com/BluRe-CN/ComplexView
Используя библиотеку, вы можете изменять цвета теней, настраивать края и многое другое. Вот пример того, что вы ищете.
Чтобы изменить цвет тени, используйте app: shadowColor = "ваш цветовой код".
источник
9 спешит на помощь, красивую тень можно легко получить, особенно с помощью этого замечательного инструмента -
Генератор теней с 9 патчами для Android
PS: если проект не может быть скомпилирован, вам нужно будет немного переместить черные линии в редакторе студии Android.
источник
если вам нужна прямая тень (например, внизу панели инструментов), вы также можете использовать градиент xml:
надеюсь, это поможет кому-нибудь
источник