Найти в Дзене
Юрий Бухонов

Ресурсы изображений

Одним из наиболее распространенных источников ресурсов являются файлы изображений. Android поддерживает следующие форматы файлов: .png (предпочтителен), .jpg (приемлем), .gif (нежелателен). Для графических файлов в проекте уже по умолчанию создана папка res/drawable. При добавлении графических файлов в эту папку для каждого из них Android создает ресурс Drawable. После этого мы можем обратиться к ресурсу следующим образом в коде Java: R.drawable.имя_файла Или в коде xml: @[имя_пакета:]drawable/имя_файла Итак, для работы с изображениями создадим новый проект. Пусть он называется ImagesApp: В качестве шаблона activity выберем Empty Activity: После создания проекта скопируем в проект в папку res/drawable какой-нибудь файл изображения. Здесь разу стоит учитывать, что файл изображения будет добавляться в приложение, тем самым увеличивая его размер. Кроме того, большие изображения отрицательно влияют на производительность. Поэтому следует использовать небольшие и оптимизрованные

Одним из наиболее распространенных источников ресурсов являются файлы изображений. Android поддерживает следующие форматы файлов: .png (предпочтителен), .jpg (приемлем), .gif (нежелателен). Для графических файлов в проекте уже по умолчанию создана папка res/drawable. При добавлении графических файлов в эту папку для каждого из них Android создает ресурс Drawable. После этого мы можем обратиться к ресурсу следующим образом в коде Java:

R.drawable.имя_файла

Или в коде xml:

@[имя_пакета:]drawable/имя_файла

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

В качестве шаблона activity выберем Empty Activity:

После создания проекта скопируем в проект в папку res/drawable какой-нибудь файл изображения. Здесь разу стоит учитывать, что файл изображения будет добавляться в приложение, тем самым увеличивая его размер. Кроме того, большие изображения отрицательно влияют на производительность. Поэтому следует использовать небольшие и оптимизрованные (сжатые) графические файлы.

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

Можно изменить название файла, а можно оставить так как есть.

Для работы с изображениями в Android можно использовать различные элементы, но непосредственно для вывода изображений предназначен ImageView. Поэтому изменим файл activity_main.xml следующим образом:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="
http://schemas.android.com/apk/res/android"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent">

<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/dubi2" />
</RelativeLayout>

В данном случае для отображения файла в ImageView у элемента устанавливается атрибут android:src. В его значении указывается имя графического ресурса, которое совпадает с именем файла без расширения. И после этого уже в Preview или в режиме дизайнере в Android Studio можно будет увидеть применение изображения, либо при запуске приложения:

Если бы мы создавали ImageView в коде java и из кода применяли бы ресурс, то activity могла бы выглядеть так:

package com.example.eugene.imagesapp;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.ImageView;

public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ImageView imageView = new ImageView(this);
// применяем ресурс
imageView.setImageResource(R.drawable.dubi2);
//setContentView(R.layout.activity_main);
setContentView(imageView);
}
}