Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Работа с наборами изображений. LayerDrawable
LayerDrawable представляет набор изображений. Такой набор задается общим элементом <layer-list> и включает в себя несколько элементов item, которые собственно и задают отдельные изображения. Пример 1. Описание LayerDrawable.
Смысл атрибутов элемента item следующий: · android:drawable: представляет ссылку на ресурс изображения · android:id: уникальный идентификатор данного ресурса. Имеет следующую форму:@+id/name. · android:top: смещение с верхнего края в пикселях · android:right: смещение справа в пикселях · android:bottom: смещение снизу в пикселях · android:left: смещение слева в пикселях По умолчанию все ресурсы изображений при выводе на экран масштабируются, заполняя все пространство предназначенного им элемента управления, например, кнопки. Для отмены масштабирования внутри элемента item добавляется дополнительный элемент <bitmap>. Для дополнительного указания положения изображения на поле виджета применяют атрибута android:gravity. Например, для помещения в центре поля, атрибуту надо задать значение "center" Пример 2. Задано несколько изображений в файлах android_red.png, android_green.png и android_blue.png. Необходимо создать ресурс в виде файла layers.xml в папке res/drawable, который бы принимал эти изображения и управлял ими при выводе на экран. Необходимо отменить их масштабирование и обеспечить вывод в центре виджетов.
Постройте ImageView, использующий данный ресурс. Вопросы для проверки знаний. 1. В каком общем элементе задают набор изображений, какой элемент задает описание одного изображения? 2. В чем заключается масштабирование при выводе изображений на управляющий элемпент и как его можно отменить?
10.4. Класс ImageView. Размещение изображений на экране. Класс ImageView задает значения и методы просмотра изображений в Студии. Объекты данного классаявляются базовыми контейнерами для загрузки в них изображений, которые можно брать из разных источников. Для загрузки изображения в XML-файле используется атрибут android:src. С его помощью можно задать отображаемое элементом изображение. Причем в качестве значения атрибута может выступать как файл изображения, так и ресурс drawable и даже обычный цвет. Пример 1. XML-файл, описывающий вертикальный линейный макет, в котором размещено 3 изображения: 1) рисунок-заглавие (программное имя: image1, тип drawable, находится в файле с именем “Name”), 2) полоса (программное имя: image2,), 3) рисунок (программное имя: image3,)hbceyjrе Задание следующее.
Рассмотрим методы загрузки изображений из класса ImageView: - setImageResource(int resId) — загрузка изображения с использованием идентификатора, - setImageBitmap(Bitmap bitmap) — загрузка растрового изображения, - setImageDrawable(Drawable drawable) - загрузка готового изображения, - setImageURI(Uri uri) — загрузка изображения по его URI. Метод setImageResource(). Сначала в хмl-описании исходного изображения надо указать его id и задать программное имя (например, draw1), а также атрибут src (например, android:src="@drawable.my_draw"), затем по программному имени получить с помощью метода findViewById ссылку на объект типа ImageView и передать его свойства в новый объект этого же типа (в примере – ImV1 ), после чего в графическое свойство данного элемента метод setImageResource переносит исходное изображение по его атрибуту android:src ( @drawable.my_draw):
ImageView ImV1 = (ImageView) findViewById(R.id. draw1); ImV1.setImageResource(R.drawable.my_draw);
Метод setImageBitmap(). Используется класс BitmapFactory для чтения ресурса изображения в объект Bitmap, а затем в ImageView указывается полученный Bitmap.
ImageView imgView = (ImageView) findViewById(R.id.imageView1); imgView.setImageBitmap(BitmapFactory.decodeResource(this.getResources(), R.drawable.cat));
Метод setImageDrawable(). Если у вас есть готовое изображение, например, на SD-карте, то его можно использовать в качестве объекта Drawable. ImageView imgView = (ImageView) findViewById(R.id.imageView1); imgView.setImageDrawable(Drawable.createFromPath("/mnt/sdcard/cat.jpg"));
Метод setImageResource(). Сначала нужно получить ссылку на ImageView, а затем используется идентификатор изображения из ресурсов:
Метод setImageURI(). Берётся URI файла изображения и используется в качестве источника изображения. Этот способ годится для работы с локальными изображениями. ImageView imgView = (ImageView) findViewById(R.id.imageView1); imgView.setImageURI(URI.parse("file://mnt/sdcard/cat.jpg"));
Другие методы Также вам часто придется использовать методы, связанные с размерами и масштабированием: setMaxHeight(), setMaxWidth(), getMinimunHeight(), getMinimunWidth(), getScaleType(), setScaleType(). Вопросы для проверки знаний. 1. Какие два свойства есть у простых кнопок? 2. Для чего xml-описанию кнопки задается дополнительное свойство android:id? 3. Для чего создается вспомогательный объект класса Button, в который помещается все содержание кнопки, какой метод при этом используется? 4. Какие три метода можно использовать для разработки программного кода функции-обработчика? 5. Для чего в файле activity.main.xml для кнопок задается свойство android:onClick? 6. Какие действия описываются в теле функции-обработчика? 7. Как можно упростить обработку нажатий на кнопки при большом их числе?
|
||||||||||||
Последнее изменение этой страницы: 2017-01-27; просмотров: 492; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.118.0.240 (0.008 с.) |