X.X. класса ImageView Обработка готовых изображений (объекты класса ImageView) 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

X.X. класса ImageView Обработка готовых изображений (объекты класса ImageView)



Для просмотра изображений в Студии предназначены элементы

 

Узнать размеры экрана

Для вычисления размеров экрана можно воспользоваться двумя способами. Второй способ более правильный.

TextView tvResult = (TextView)findViewById(R.id.textView1); // Узнаем размеры экрана из ресурсовDisplayMetrics displaymetrics = getResources().getDisplayMetrics(); // узнаем размеры экрана из класса DisplayDisplay display = getWindowManager().getDefaultDisplay();DisplayMetrics metricsB = new DisplayMetrics();display.getMetrics(metricsB); tvResult.setText("[Используя ресурсы] \n" + "Ширина: " + displaymetrics.widthPixels + "\n" + "Высота: " + displaymetrics.heightPixels + "\n" + "\n" + "[Используя Display] \n" + "Ширина: " + metricsB.widthPixels + "\n" + "Высота: " + metricsB.heightPixels + "\n");

Ресурсы типа Drawable ]

Рисуемые (drawable) ресурсы составляют главную концепцию для графики, которая может быть отрисована на экране, и которую можно запросить через такое API как getDrawable(int), или применить к другому XML-ресурсу Android Studio Tips and Tricks

IN THIS DOCUMENT

1. Productivity Features

2. Working with IntelliJ

3. Key Commands

SEE ALSO

1. Download Android Studio

2. IntelliJ IDEA Android Tutorials

3. IntelliJ FAQ on migrating to IntelliJ IDEA

If you're unfamiliar with using Android Studio and the IntelliJ IDEA interface, this page provides some tips to help you get started with some of the most common tasks and productivity enhancements.

Productivity Features

Android Studio includes a number of features to help you be more productive in your coding. This section notes a few of the key features to help you work quickly and efficiently.

Smart Rendering

With smart rendering, Android Studio displays links for quick fixes to rendering errors. For example, if you add a button to the layout without specifying the width and height atttributes, Android Studio displays the rendering message Automatically add all missing attributs. Clicking the message adds the missing attributes to the layout.

Bitmap rendering in the debugger

While debugging, you can now right-click on bitmap variables in your app and invoke View Bitmap. This fetches the associated data from the debugged process and renders the bitmap in the debugger.

Figure 1. Bitmap Rendering

Output window message filtering

When checking build results, you can filter messages by message type to quickly locate messages of interest.

с помощью атрибутов наподобие android:drawable и android:icon. Есть несколько разных типов drawable-ресурсов.

Bitmap File - растровая картинка, графический файл с расширением.png,.jpg или.gif. Создается с помощью классаBitmapDrawable.

Подробнее о ресурсе файла Bitmap

 

 

   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   

 

 

Nine-Patch File - это файл PNG с растягиваемыми регионами, чтобы можно было изменить размеры изображения, базируясь на его содержимом (.9.png). Создается с помощью класса NinePatchDrawable.

Подробнее о ресурсе Nine-Patch

 

Layer List - список слоев, специальный drawable-ресурс, который управляет массивом из других drawable-ресурсов. Этот список отрисовывается в порядке следования элементов в массиве, так что элемент с самым большим индексом будет нарисован на самом верху. Создается с помощью класса LayerDrawable.

 

Bitmap-файлом (растровой картинкой) считаются файлы с расширением.png,.jpg или.gif. Android создает Drawable-ресурс для любого такого файла который Вы разместите в папке res/drawable/, при этом имена файлов без расширения образуют идентификатор ресурса (resource ID).

Примечание: в именах файлов не должно быть пробелов, заглавных и русских букв, и имя обязательно должно начинаться с буквы.

Для обращения к ресурсу может использоваться компилируемый класс BitmapDrawable. На языке Java доступ к ресурсу осуществляется с помощью R.drawable.filename, в XML обращение к ресурсу происходит через @[package:]drawable/filename.

Например, картинка сохранена в файл res/drawable/myimage.png, и этот layout XML применит картинку к View:

< ImageView

android:layout_height="wrap_content"

android:layout_width="wrap_content"

android:src="@drawable/myimage" />

Следующий код получит картинку как объект Drawable:

Resources res = getResources();

Drawable drawable = res.getDrawable(R.drawable.myimage);

См. также:

• 2D Graphics site:developer.android.com.
• BitmapDrawable site:developer.android.com.

[ XML Bitmap ]

XML bitmap является ресурсом, заданным в XML, который указывает на файл bitmap. В результате появляется алиас (псевдоним) для сырого файла растровой картинки (raw bitmap file). XML может указать дополнительные свойства для картинки, такие как создание иллюзии увеличения глубины цвета (dithering) и мозаика (tiling).

Примечание: Вы можете использовать элемент < bitmap > как дочерний в элементе < item >. Например, когда создается список состояний (state list) или список слоев (layer list), Вы можете исключить атрибут android:drawable из элемента < item > и встроить внутрь него < bitmap >, который определит рисуемый объект.

XML bitmap размещается в файле res/drawable/filename.xml, при этом имя файла без расширения дает идентификатор ресурса (resource ID). Компилируемый тип данных для ресурса BitmapDrawable. К ресурсу происходит обращение на Java через R.drawable.filename, в XML через @[package:]drawable/filename.

Синтаксис:

<?xml version="1.0" encoding="utf-8"? >

< bitmap

xmlns:android="http://schemas.android.com/apk/res/android"

android:src="@[package:]drawable/drawable_resource"

android:antialias=["true" | "false"]

android:dither=["true" | "false"]

android:filter=["true" | "false"]

android:gravity=["top" | "bottom" | "left" | "right" | "center_vertical" |
"fill_vertical" | "center_horizontal" | "fill_horizontal" |
"center" | "fill" | "clip_vertical" | "clip_horizontal"]

android:mipMap=["true" | "false"]

android:tileMode=["disabled" | "clamp" | "repeat" | "mirror"] />

Описание элементов

< bitmap > задает источник для картинки и её свойства. Атрибуты:

xmlns:android строка. Задает пространство имен XML, которое должно быть "http://schemas.android.com/apk/res/android";. Это требуется только если < bitmap > является корневым элементом, и не требуется, когда < bitmap > встроен внутри < item >.

android:src рисуемый ресурс, обязательный элемент. Дает ссылку на drawable resource.

android:antialias Boolean. Разрешает или запрещает антиалиазинг.

android:dither Boolean. Разрешает или запрещает dithering картинки, если картинка не имеет ту же конфигурацию пикселей, что и экран (например ARGB 8888 bitmap, которая должна быть отображена на экране RGB 565).

android:filter Boolean. Разрешает или запрещает фильтрацию картинки. Фильтрация используется, когда картинка сжимается или расширяется, чтобы улучшить её внешний вид.

android:gravity ключевое слово. Задает гравитацию для картинки. Гравитация показывает, где расположить картинку в её контейнере, если картинка меньше, чем контейнер. Здесь может быть указано одно или большее количество (разделенных операцией ИЛИ '|') следующих констант:

Значение Описание
top Помещает объект в верхнюю часть контейнера, без изменения его размера.
bottom То же самое, но по нижнему срезу контейнера.
left То же самое, но по левому срезу.
right То же самое, но по правому срезу.
center_vertical Размещает объект по вертикальному центру контейнера, без изменения его размеров.
fill_vertical Увеличивает вертикальный размер объекта, если это нужно для полного заполнения контейнера.
center_horizontal Размещает объект по горизонтальному центру контейнера, без изменения его размеров.
fill_horizontal Увеличивает горизонтальный размер объекта, если это нужно для полного заполнения контейнера.
center Размещает объект в центре контейнера и по вертикали и по горизонтали, без изменения его размера.
fill Увеличивает объект по горизонтали и вертикали, если это нужно для полного заполнения контейнера. Это поведение по умолчанию.
clip_vertical Дополнительная опция, которая может быть установлена, чтобы верхняя и/или нижняя части дочернего объекта были обрезаны границами контейнера. Обрезка базируется на вертикальной gravity: top gravity обрезает объект снизу, bottom gravity обрезает сверху, и если гравитации по вертикали нет, то обрезаются оба края, и верхний и нижний.
clip_horizontal Дополнительная опция, которая может быть установлена, чтобы левая и/или правая части дочернего объекта были обрезаны границами контейнера. Обрезка базируется на горизонтальной gravity: left gravity обрезает объект справа, right gravity обрезает слева, и если гравитации по горизонтали нет, то обрезаются оба края, и верхний и нижний.

 

ImageView

Общая информация
Масштабирование через свойство Scale Type
Загрузка изображения из галереи
Получить размеры ImageView - будьте осторожны
Программное изменение размеров ImageView
Копирование изображений между ImageView
Примеры

Общая информация

Для загрузки изображения в XML-файле используется атрибут android:src.

ImageView является базовым элементом-контейнером для использования графики. Можно загружать изображения из разных источников, например, из ресурсов программы, контент-провайдеров. В классе ImageView существует несколько методов для загрузки изображений:

· setImageResource(int resId) — загружает изображение по идентификатору ресурса

· setImageBitmap(Bitmap bitmap) — загружает растровое изображение

· setImageDrawable(Drawable drawable) - загружает готовое изображение

· setImageURI(Uri uri) — загружает изображение по его URI

Метод setImageResource()

Сначала нужно получить ссылку на ImageView, а затем используется идентификатор изображения из ресурсов:

 

ImageView imgView = (ImageView) findViewById(R.id.imageView1);

imgView.setImageResource(R.drawable.cat);

Метод 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"));

Метод setImageURI()

Берётся URI файла изображения и используется в качестве источника изображения. Этот способ годится для работы с локальными изображениями.

 

ImageView imgView = (ImageView) findViewById(R.id.imageView1);

imgView.setImageURI(URI.parse("file://mnt/sdcard/cat.jpg"));

Другие методы

Также вам часто придется использовать методы, связанные с размерами и масштабированием: setMaxHeight(), setMaxWidth(), getMinimunHeight(), getMinimunWidth(), getScaleType(), setScaleType().



Поделиться:


Последнее изменение этой страницы: 2017-01-27; просмотров: 450; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.219.236.62 (0.018 с.)