Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
407 of 502 menu
◀ ▶

Метод getDrawable

Метод getDrawable класса Resources возвращает Drawable из res/drawable/ или mipmap. На API 21+ используют overload с theme для vector drawable. В Compose тот же файл часто грузят через painterResource.

Синтаксис

resources.getDrawable(R.drawable.ic_logo, theme)

Параметры

Параметр Описание
id Идентификатор R.drawable.
theme Тема для загрузки vector и tint attrs.

Пример

Давайте загрузим drawable и зададим tint:

import android.os.Bundle import androidx.activity.ComponentActivity import androidx.activity.compose.setContent import androidx.compose.foundation.Image import androidx.compose.material3.Text import androidx.compose.foundation.layout.Column import androidx.compose.ui.graphics.asImageBitmap import androidx.core.graphics.drawable.toBitmap import com.example.app.R class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) val icon = resources.getDrawable(R.drawable.ic_logo, theme) icon.setTint(resources.getColor(R.color.brand, theme)) setContent { Column { Text(text = "abcde") Image( bitmap = icon.toBitmap().asImageBitmap(), contentDescription = "12345", ) } } } }

На экране над или под текстом "abcde" появится иконка из drawable.

Смотрите также

  • метод setTint,
    которым меняют цвет drawable
  • функция painterResource,
    способ показать drawable в Compose
  • класс Drawable,
    тип возвращаемого значения
  • метод getColor,
    откуда берут tint для setTint
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить