-
-
Notifications
You must be signed in to change notification settings - Fork 5
Design
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 сообщает приложению, какие компоненты и с каким контентом отображать
Home • Interviews • Android Architecture • Android Jetpack • Android Jetpack Compose • Android Releases • Android SDK • Android Views • Basic • Design • Git • GitHub • Gradle • Java • Kotlin • Kotlin Coroutines • RxJava