Skip to content
Michael Bely edited this page Apr 29, 2024 · 34 revisions

Important

ВНИМАНИЕ!
ЭТОТ РАЗДЕЛ БОЛЬШЕ НЕ ПОДДЕРЖИВАЕТСЯ!
РОАДМАП ПЕРЕЕХАЛ В NOTION

Material Design Icons
Name that Color
IconKitcher: App Icon Generator
HEX Colors
Material Icons
Material2 Color System
Converter PNG to SVG
Name than Color

Bitmap
Растровое цифровое изображение, состоящее из матрицы точек. Каждая точка соответствует отдельному пикселю на дисплее. Каждой точке может быть присвоен цвет

9-Patch
Растровые изображения, размер которых автоматически изменяется в соответствии с содержимым представления и размером экрана. Выбранные части изображения масштабируются по горизонтали или вертикали на основе индикаторов, нарисованных внутри изображения.

Density
Плотность экрана - характеристика устройства, отражающая количество пикселей на физической площади экрана. В Android используется сокращение DPI (dot per inch). Экраны должны быть сверстаны так, чтобы размеры элементов выглядели одинаково на экранах с разной плотностью пикселей

dp
Density-independent pixels. Независимые от разрешения пиксели. Используются, чтобы элементы сохраняли размер независимо от разрешения экрана. 1 dp = 160 px (базовая плотность)

sp
Scalable pixels. Используется для определения размеров текста. Не следует использовать для размеров макета. По умолчанию sp имеет тот же размер, что и dp, но изменяется в зависимости от настроек текста пользователя

nodpi
Ресурсы для всех разрешений экранов. Система не масштабирует ресурсы, помеченные этим квалификатором, независимо от текущей плотности экрана

anydpi
Эти ресурсы имеют приоритет выше, чем у квалификаторов конкретной плотности экрана. Как правило используются для векторных картинок

Layer list
LayerDrawable - drawable, который управляет массивом других drawables. Каждый drawable ресуется порядке списка, последнее рисуется сверху

<layer-list
    xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        android:drawable="@drawable/drawable_resource"
        android:id="@id/resource_name"
        android:top="dimension"
        android:right="dimension"
        android:bottom="dimension"
        android:left="dimension"/>
    <item 
        android:top="20dp"
        android:left="20dp">
        <bitmap 
            android:src="@drawable/android_blue"
            android:gravity="center"/>
    </item>
</layer-list>

State list
StateListDrawable — drawable, определенный в XML, который использует несколько разных изображений для представления одной и той же графики в зависимости от состояния объекта

<selector 
    xmlns:android="http://schemas.android.com/apk/res/android">
    <item 
        android:state_pressed="true"
        android:drawable="@drawable/button_pressed"/> <!-- pressed -->
    <item 
        android:state_focused="true"
        android:drawable="@drawable/button_focused"/> <!-- focused -->
    <item 
        android:state_hovered="true"
        android:drawable="@drawable/button_focused"/> <!-- hovered -->
    <item 
        android:drawable="@drawable/button_normal"/> <!-- default -->
</selector>

Level list
An XML file that defines a drawable that manages a number of alternate Drawables, each assigned a maximum numerical value. Creates a LevelListDrawable

<level-list 
    xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        android:drawable="@drawable/status_off"
        android:maxLevel="0"/>
    <item
        android:drawable="@drawable/status_on"
        android:maxLevel="1"/>
</level-list>

WindowCompat
Позволяет приложению использовать всю область экрана (statusBar + navigationBar)

WindowCompat.setDecorFitsSystemWindows(window, false)

Server-Driven UI
SDUI. Подход для динамичного и гибкого пользовательского интерфейса, когда сервер посредством API сообщает приложению, какие компоненты и с каким контентом отображать

Clone this wiki locally