- ImageButton (Кнопка-изображение)
- Общая информация
- Методы
- Примеры
- Щелчок
- Продолжительное нажатие
- Установите изображение в ImageButton в Android
- 7 ответов:
- Android — ImageButton Control
- Android button style set
- ImageButton Attributes
- Example
- Exercise
- Установите изображение в ImageButton в Android
- 7 ответов:
- Пример использования ImageButton в Android
- Пример использования ImageButton в Android
ImageButton (Кнопка-изображение)
Общая информация
Находится в разделе Buttons.
Компонент ImageButton представляет собой кнопку с изображением (вместо текста). По умолчанию ImageButton похож на обычную кнопку.
В режиме дизайна изображение на кнопке определяется атрибутом android:src
Можно сделать двойной щелчок, чтобы сразу установить нужное свойство.
Методы
Программно можно установить изображения через различные методы.
setImageBitmap() Используется, чтобы указать в качестве изображения существующий экземпляр класса Bitmap setImageDrawable() Используется, чтобы указать в качестве изображения существующий экземпляр класса Drawable setImageResource() Используется, чтобы указать в качестве изображения существующий идентификатор ресурса (см. пример) setImageURI() Используется, чтобы указать в качестве изображения существующий адрес типа Uri. В некоторых случаях элемент кэширует изображение и после изменения изображения по прежнему выводит старую версию. Рекомендуется использовать инструкцию setImageURI(null) для сброса кэша и повторный вызов метода с нужным Uri
Примеры
С помощью метода setImageURI() можно обратиться к ресурсу типа Drawable по его идентификатору:
Например, можно задать путь Uri:
Можно обратиться к ресурсу по его типу/имени:
В этом случае код будет следующим:
Щелчок
Как и у обычной кнопки, интерес представляет только щелчок. В нашем примере мы будем менять поочередно картинки на кнопке (нужно подготовить две картинки в папке drawable)
Теперь при каждом щелчке изображение на кнопке будет циклически переключаться между двумя картинками.
Продолжительное нажатие
Кроме обычного щелчка, в Android есть особый вид нажатия на кнопку — продолжительное нажатие. Это событие происходит, когда пользователь нажимает и удерживает кнопку в течение одной секунды. Этот тип нажатия обрабатывается независимо от обычного щелчка.
Для обработки продолжительного нажатия нужно реализовать класс View.OnLongClickListener и передать его в метод setOnLongClickListener(). Класс OnLongClickListener имеет один обязательный метод OnLongClick(). В принципе это похоже на метод OnClick(), только имеет возвращаемое значение.
Запустите проект и убедитесь, что при быстром нажатии ничего не происходит, а при более продолжительном нажатии всплывает сообщение.
Источник
Установите изображение в ImageButton в Android
у меня есть 6 ImageButton в моей деятельности, я устанавливаю изображения через мой код в них ( не используя xml).
Я хочу, чтобы они покрывали 75% площади кнопки. Но там, где некоторые изображения занимают меньше площади, некоторые из них слишком велики, чтобы вписаться в imageButton. Как программно изменить размер и показать их? Ниже приведен снимок экрана
ниже приведен XML-файл
и фрагмент класса MyClass.java:
7 ответов:
Я хочу, чтобы они покрывали 75% площади кнопки.
использовать android:padding=»20dp» (отрегулируйте заполнение по мере необходимости), чтобы контролировать, сколько изображение занимает на кнопке.
но где, как некоторые изображения охватывают меньше площади, некоторые из них слишком велики, чтобы вписаться в imageButton. Как программно изменить размер и показать их?
использовать android:scaleType=»fitCenter» чтобы иметь Android масштабировать изображения, и android:adjustViewBounds=»true» чтобы они корректировали свои границы из-за масштабирования.
все эти атрибуты могут быть установлены в коде на каждом ImageView во время выполнения. Однако, на мой взгляд, гораздо проще установить и просмотреть в xml.
и не использовать sp для всего, кроме размера текста, он масштабируется в зависимости от предпочтения размера текста, установленного пользователем, поэтому ваш sp размеры будут больше, чем предполагалось, если пользователь имеет «большой» текст настройки. Используйте dp вместо этого, поскольку он не масштабируется размером текста пользователя предпочтение.
вот фрагмент того, как должна выглядеть каждая кнопка:
Источник
Android — ImageButton Control
An ImageButton is an AbsoluteLayout which enables you to specify the exact location of its children. This shows a button with an image (instead of text) that can be pressed or clicked by the user.
Android button style set
ImageButton Attributes
Following are the important attributes related to ImageButton control. You can check Android official documentation for complete list of attributes and related methods which you can use to change these attributes are run time.
Inherited from android.widget.ImageView Class −
Sr.No | Attribute & Description | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 |
Sr.No | Attribute & Description | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
1 |
Step | Description |
---|---|
1 | You will use Android studio IDE to create an Android application and name it as myapplication under a package com.example.myapplication as explained in the Hello World Example chapter. |
2 | Modify src/MainActivity.java file to add a click event. |
3 | Modify the default content of res/layout/activity_main.xml file to include Android UI control. |
4 | No need to define default constants in android, Android studio takes care of default constants. |
5 | Run the application to launch Android emulator and verify the result of the changes done in the application. |
Following is the content of the modified main activity file src/com.example.myapplication/MainActivity.java. This file can include each of the fundamental lifecycle methods.
In the below example abc indicates the image of tutorialspoint
Following will be the content of res/layout/activity_main.xml file −
Following will be the content of res/values/strings.xml to define these new constants −
Following is the default content of AndroidManifest.xml −
Let’s try to run your myapplication application. I assume you had created your AVD while doing environment setup. To run the app from Android Studio, open one of your project’s activity files and click Run icon from the toolbar. Android Studio installs the app on your AVD and starts it and if everything is fine with your setup and application, it will display following Emulator window −
The following screen will appear after ImageButton is clicked,It shows a toast message.
Exercise
I will recommend to try above example with different attributes of ImageButton in Layout XML file as well at programming time to have different look and feel of the ImageButton. Try to make it editable, change to font color, font family, width, textSize etc and see the result. You can also try above example with multiple ImageButton controls in one activity.
Источник
Установите изображение в ImageButton в Android
у меня есть 6 ImageButton в моей деятельности, я устанавливаю изображения через мой код в них ( не используя xml).
Я хочу, чтобы они покрывали 75% площади кнопки. Но там, где некоторые изображения занимают меньше площади, некоторые из них слишком велики, чтобы вписаться в imageButton. Как программно изменить размер и показать их? Ниже приведен снимок экрана
ниже приведен XML-файл
и фрагмент класса MyClass.java:
7 ответов:
Я хочу, чтобы они покрывали 75% площади кнопки.
использовать android:padding=»20dp» (отрегулируйте заполнение по мере необходимости), чтобы контролировать, сколько изображение занимает на кнопке.
но где, как некоторые изображения охватывают меньше площади, некоторые из них слишком велики, чтобы вписаться в imageButton. Как программно изменить размер и показать их?
использовать android:scaleType=»fitCenter» чтобы иметь Android масштабировать изображения, и android:adjustViewBounds=»true» чтобы они корректировали свои границы из-за масштабирования.
все эти атрибуты могут быть установлены в коде на каждом ImageView во время выполнения. Однако, на мой взгляд, гораздо проще установить и просмотреть в xml.
и не использовать sp для всего, кроме размера текста, он масштабируется в зависимости от предпочтения размера текста, установленного пользователем, поэтому ваш sp размеры будут больше, чем предполагалось, если пользователь имеет «большой» текст настройки. Используйте dp вместо этого, поскольку он не масштабируется размером текста пользователя предпочтение.
вот фрагмент того, как должна выглядеть каждая кнопка:
Источник
Пример использования ImageButton в Android
В этой статье мы познакомимся с Android виджетом ImageButton . Рассмотрим пример использования и способы взаимодействия.
ImageButton — компонент для построения пользовательского интерфейса в Android. Он представляет собой кнопку с изображением. Виджет ImageButton представлен в Android классом android.widget.ImageButton , с которым мы сегодня и попрактикуемся.
Пример использования ImageButton в Android
Компонент ImageButton обладает всеми свойствами обычной кнопки, но имеет возможность использовать изображение вместо текста.
Это делается также, как и в виджете ImageView с помощью атрибута android:src . Давайте рассмотри пример разметки виджета в макете
Инициализировать в коде виджет тоже просто:
Android предоставляет несколько методов для работы с ImageButton :
- Метод setImageResource() используется при установке изображения по его id (например, в коде выше)
- Метод setImageBitmap() используется, если у вас уже есть экземпляр Bitmap, который вы хотите sустановить на ImageButton .
- Метод setImageDrawable() для установки изображения-экземпляра Drawable .
- Метод setImageURI() для установки изображения по известному Uri .
Установка слушателя и клики по виджету ImageButton происходят точно также, как и в Button.
Следите за обновлениями раздела Разработка под Андроид и подписывайтесь на обновления!
Источник