Полупрозрачная панель для ImageView
Для экономии места, когда требуется для ImageView сделать сопровождающий текст, можно наложить текст поверх ImageView, при этом сам TextView сделать полупрозрачным. Здесь нам поможет разметка RelativeLayout, позволяющая наложить два компонента друг на друга:
Как видно на скриншоте, текст лёг поверх картинки, немного захватив задние лапки и пушистый хвост.
А как поступить с более сложным случаем, когда нам нужно использовать два TextView поверх ImageView. В этом случае поместим текстовые метки в разметку LinearLayout, которую свою очередь сделаем полупрозрачной и поместим её уже поверх ImageView, как это делали в первом примере.

Данный приём можно использовать не только для отдельных ImageView, но и для адаптеров к GridView, когда у каждой ячейки сеточной компоновки требуется разместить ImageView и подпись к нему.
Делаем красивые кнопки в Android

Одним из важных компонентов пользовательского интерфейса в приложения является кнопка. Она используется для выполнения различных действий пользователя.
В этой статье мы приведём примеры использования и стилизации кнопки.
Добавляем кнопку на разметку
Пользовательский интерфейс приложения определён в XML-файле с разметкой. Вы можете добавить элемент Button и установить атрибуты вручную. Или вы можете, воспользовавшись инструментом дизайна, добавить Button из палитры элементов и задать атрибуты.
Атрибуты кнопки
Button является подклассом TextView и наследует атрибуты от TextView и View. Ниже приведены некоторые важные атрибуты кнопки, которые можно использовать для настройки стиля и поведения.
- background: установка в качестве фона как цвета, так и drawable
- onClick: установить метод, который будет запускаться при нажатии на кнопку
- minHeight: для определения минимальной высоты кнопки
- minWidth: для определения минимальной ширины кнопки
- stateListAnimator: определение анимации при изменении состояния кнопки
- focusable: для определения того, будет ли обработано нажатие клавиши
- clickable: указать, является ли кнопка кликабельной
- gravity: установка выравнивания текста кнопки
- textAppearance: установить стиль текста
Включение и выключение кнопки
Вы можете использовать атрибут enabled для включения или выключения кнопки, установив его в true или false. Также это можно сделать программно, вызвав метод setEnabled(), как показано ниже:
((Button)findViewById(R.id.button)).setEnabled(false);
Кнопка с Drawable
Вы можете отображать на кнопке вместе с текстом изображение, используя drawableTop, drawableRight, drawableBottom или drawableLeft, в зависимости от того, где располагать картинку, как показано на скриншоте ниже.

ImageButton
Android также предоставляет ImageButton, задачей которого является использование изображения в качестве кнопки. Чтобы установить изображение, вы можете использовать атрибут src. Вы также можете использовать разные изображения, которые будут меняться в зависимости от состояния кнопки, меняя в XML drawable selector как показано ниже.
Пример XML drawable selector
Обработка нажатий на кнопку
Клики можно обрабатывать двумя способами. Первый — это установить атрибут onClick в разметке XML. Второй — назначить кнопке слушатель в коде активности или фрагмента.
Чтобы установить атрибут onClick, сначала определите метод типа void, принимающий в качестве параметра View, в активности или фрагменте и затем используйте имя этого метода как значение для атрибута onClick, как показано ниже.
public void doSomething(View v) < //do something >
Ниже приведён код обработки нажатия с помощью слушателя.
Button doSomethingButton = (Button) findViewById(R.id.do_something_b); doSomethingButton.setOnClickListener(new View.OnClickListener() < @Override public void onClick(View view) < //пишем код >>);
Дизайн и стили кнопок
Вы можете применять стили и темы для изменения внешнего вида кнопок. Платформа Android предоставляет заранее определённые стили. На рисунке ниже вы можете увидеть, как отображаются кнопки с различными стилями.

Пример применения темы для кнопки.
Настройка стилей кнопок
Вы можете изменить цвета по умолчанию для стилей, применяемых к кнопке, установив атрибут colorAccent на уровне приложения и атрибут colorButtonNormal на уровне виджета для нужных цветов. Атрибут colorControlHighlight используется для установки цвета кнопки, когда она находится в нажатом состоянии.
Как только вы определите собственный стиль, вы можете применить его к кнопкам с помощью атрибута theme. Ниже приведен пример пользовательской темы.
Кнопка с закруглёнными углами
Вы можете определить элемент inset, как показано ниже, чтобы создать кнопку с закруглёнными углами и сохранить файл с drawable в папке res/drawable. Вы можете увеличить или уменьшить атрибут радиуса элемента, чтобы отрегулировать радиус углов кнопки.
Затем определите стиль, задающий атрибут background для xml drawable и примените его к кнопке с помощью атрибута style.

Высота и тень кнопки
Вы можете установить атрибуты elevation и translationZ, чтобы нарисовать тень кнопки.

Настройка анимации тени
Вы можете определить различные свойства теней для разных состояний кнопки и анимировать переход путём определения селектора. Вы можете применить аниматор к кнопке, используя свойство stateListAnimator.
Обратите внимание, что stateListAnimator установлен в null в приведённом выше примере. Это было сделано для удаления аниматора по умолчанию, чтобы elevation и translationZ работали.
Чтобы настроить анимацию тени при изменении состояния кнопок, вам нужно определить селектор, как показано ниже, в папке res/animator и установить свойство stateListAnimator своей темы для определённого аниматора.
Примените следующую тему, которая использует аниматор, к кнопке с использованием атрибута style или theme.
Простая кнопка логина
Совмещая всё вышесказанное, можно создать красивую кнопку, позволяющую, например, заходить пользователям на свои аккаунты. Код разметки будет выглядеть следующим образом:
Кроме того, с помощью атрибута drawableLeft можно добавить изображение к нашей кнопке, в том числе и векторное. На старых устройствах, векторные изображения вызывают падение всего приложения, поэтому сделаем это программно в коде активности при помощи AppCompatResources:
((Button) findViewById(R.id.btn_email_password)).setCompoundDrawablesWithIntrinsicBounds( AppCompatResources.getDrawable(this, R.drawable.ic_vpn_key_black_24dp), null, null, null);
Метод setCompoundDrawablesWithIntrinsicBounds() делает то же, что и атрибуты drawableLeft, drawableTop и так далее. В качестве параметров нужно указать, где именно будет размещаться изображение (указываем null в случае, если здесь изображение не нужно).

Раздел: Кодинг Метки: Android, button, icon, material, shadow, style, theme
Делаем красивые кнопки в Android : 1 комментарий
- Георг 12.09.2022 Вообще не понятно откуда брать/как создавать
btn_rounded_corner
element_background
@animator/button_elevation
прозрачная кнопка
Почему в Эклипсе на Graphical Layout кнопка прозрачная, а на эмуляторе и телефоне нет. как сделать ее прозрачной?
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:
Прозрачная кнопка с каемкой
Долго искал, но так и не нашел: как сделать прозрачную кнопку с прямо угольной формой с.

Прозрачная кнопка, именно прозрачная
Доброго времени суток, можно ли сделать прозрачную, именно прозрачную кнопку что бы только было.
Прозрачная кнопка
Как сделать фон кнопки прозрачным? Пробовал так : button.setBackground(new Color(255,255,255,0)); .
Прозрачная кнопка
Как сделать кнопку прозрачно поверх картинки? Добавлено через 20 минут Также нужно и PictureBox.
1162 / 986 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
Добавлено через 26 секунд
background=»@android:color/transparent»
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь
Прозрачная Кнопка
Уважаемые программисты помогите пожалуйста решить задачу, возможно подобная тема есть на форуме но.
Прозрачная кнопка
Всем привет! Как сделать невидимую кнопку в C#, но активной, и вообще возможно ли это?
Прозрачная кнопка, гоняющаяся за курсором
ВСем привет, вообщем, нужен следующий скрипт, который будет водить кнопку за мышью, кнопка должна.
Прозрачная «кнопка» произвольной формы в UserForm
Здравствуйте. Возникла необходимость создания прозрачной "кнопки" произвольной формы ( вогнутые.
Прозрачная кнопка на Android
Помогите сделать кнопку прозрачной как указано на рис.

Отслеживать
28.6k 19 19 золотых знаков 59 59 серебряных знаков 139 139 бронзовых знаков
задан 16 апр 2018 в 18:06
Captain Mountain Captain Mountain
411 6 6 серебряных знаков 22 22 бронзовых знака
Просто drawable в backrground установите
16 апр 2018 в 18:15
1 ответ 1
Сортировка: Сброс на вариант по умолчанию
Создайте новый xml файл в res/drawable и после добавьте свойство background c именем созданного файла.
gradient.xml
layout.xml
Отслеживать
ответ дан 16 апр 2018 в 19:35
Timur Mukhortov Timur Mukhortov
2,049 9 9 серебряных знаков 24 24 бронзовых знака
Обновил ответ. Сделал кнопку более похожей на ту что вы показали.
16 апр 2018 в 19:47
- java
- android
- xml
-
Важное на Мете
Похожие
Подписаться на ленту
Лента вопроса
Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.
Дизайн сайта / логотип © 2023 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2023.11.21.1314
Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.
