Форум программистов, компьютерный форум CyberForum.ru

Gradient или как сделать теневые границы у кнопки - Android

Восстановить пароль Регистрация
 
Levabala
0 / 0 / 0
Регистрация: 28.06.2013
Сообщений: 18
04.07.2015, 16:12     Gradient или как сделать теневые границы у кнопки #1
Привет всем, я создаю тестовое приложение под Android и у меня образовался вопрос по дизайну: как сделать границу-тень у кнопки,такую как в Material Design, по определённым сторонам кнопки, не используя встроенные темы. Android API 15. Заранее спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.07.2015, 16:12     Gradient или как сделать теневые границы у кнопки
Посмотрите здесь:

Android Как прикрепить кнопки внизу?
Сделать кнопки в середине экрана, и картинку на фоне растянуть на весь экран Android
Как сделать, чтобы приведенный код выполнялся в событии кнопки Android
Сделать так что бы размер кнопки неизменяемым, какой бы там текст не был Android
Android Регулярка в имени кнопки или id
Frame animation или как сделать анимацию Android
Как сделать границы в пространстве ImageView при прокрутке изображения Android
Как закрыть приложение при нажатии кнопки back или home? Basic4Android
Как в адаптивном дизайне Android Studio сделать так, чтобы графические элементы (различные кнопки, поля ввода Android
Ошибка при парсинге или как лучше сделать? Android
Android Сделать общие экранные кнопки (аналог экранных кнопок назад, домой, меню)
Как можно уменьшить границы Checkbox Android

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Паблито
не спать!
1881 / 1615 / 500
Регистрация: 12.05.2014
Сообщений: 5,836
Завершенные тесты: 1
04.07.2015, 16:16     Gradient или как сделать теневые границы у кнопки #2
нормально - никак, там все на костылях
Levabala
0 / 0 / 0
Регистрация: 28.06.2013
Сообщений: 18
04.07.2015, 17:12  [ТС]     Gradient или как сделать теневые границы у кнопки #3
Нуу.. Не обязательно откидывать костыли
Я пытался через градиент это реализовать, но у меня толком не получилось. Именно проблема в том, что не получается сделать выход градиента из-под основного background в определённых сторонах кнопки.

Почему-то второй градиент не показывается на свет. Я так понял, что градиент занимает весь background, не важен размер.

XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <layer-list>
            <item android:left="5dp" android:top="5dp">
                <shape>
                    <corners android:radius="3dp"/>
                    <gradient android:endColor="#ffc6e6cc" android:startColor="#000000" android:type="radial"
                        android:gradientRadius="100" android:centerX="25%"/>
                </shape>
                <shape>
                    <corners android:radius="3dp"/>
                    <gradient android:endColor="#ffc6e6cc" android:startColor="#000000" android:type="radial"
                        android:gradientRadius="100" android:centerX="75%"/>
                </shape>
            </item>
 
            <item android:bottom="2dp" android:right="2dp">
                <shape>
                    <gradient android:angle="270"
                        android:endColor="#ffffff" android:startColor="#ffffff" />
                    <corners android:radius="4dp" />
                    <padding android:bottom="10dp" android:left="10dp"
                        android:right="10dp" android:top="10dp" />
                </shape>
            </item>
        </layer-list>
    </item>
</selector>
Добавлено через 44 минуты
Ну вопрос закрыт. Я добавляю не градиент, а обычный прозрачный квадрат со смещением относительно основного background.

XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <layer-list>
            <item android:left="5dp" android:top="5dp">
                <shape>
                    <corners android:radius="3dp"/>
                    <solid android:color="#3A000000"/>
                </shape>
            </item>
            <item android:bottom="2dp" android:right="2dp">
                <shape>
                    <gradient android:angle="270"
                        android:endColor="#ffffff" android:startColor="#ffffff" />
                    <corners android:radius="4dp" />
                    <padding android:bottom="10dp" android:left="10dp"
                        android:right="10dp" android:top="10dp" />
                </shape>
            </item>
        </layer-list>
    </item>
</selector>
Yandex
Объявления
04.07.2015, 17:12     Gradient или как сделать теневые границы у кнопки
Ответ Создать тему
Опции темы

Текущее время: 02:46. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru