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

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Levabala
0 / 0 / 0
Регистрация: 28.06.2013
Сообщений: 18
#1

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

04.07.2015, 16:12. Просмотров 450. Ответов 2
Метки нет (Все метки)

Привет всем, я создаю тестовое приложение под Android и у меня образовался вопрос по дизайну: как сделать границу-тень у кнопки,такую как в Material Design, по определённым сторонам кнопки, не используя встроенные темы. Android API 15. Заранее спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.07.2015, 16:12     Gradient или как сделать теневые границы у кнопки
Посмотрите здесь:
Как сделать границы в пространстве ImageView при прокрутке изображения Android
Как сделать запрос на URL без нажатия кнопки? Android
Как сделать, чтобы приведенный код выполнялся в событии кнопки Android
Как закрыть приложение при нажатии кнопки back или home? Basic4Android
Как в адаптивном дизайне Android Studio сделать так, чтобы графические элементы (различные кнопки, поля ввода Android
Как сделать приложение полноэкранным и убрать вспомогательные кнопки "назад, главный экран." Android
Frame animation или как сделать анимацию Android
Ошибка при парсинге или как лучше сделать? Android
Как можно уменьшить границы Checkbox Android
Android Регулярка в имени кнопки или id
Сделать кнопки в середине экрана, и картинку на фоне растянуть на весь экран Android
Сделать так что бы размер кнопки неизменяемым, какой бы там текст не был Android

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Pablito
2403 / 1848 / 579
Регистрация: 12.05.2014
Сообщений: 6,577
Завершенные тесты: 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 или как сделать теневые границы у кнопки
Ответ Создать тему
Опции темы

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