чернила

Вдохновляйте на создание лучших в своем классе приложений для перьевого ввода. Снизьте порог входа для разработчиков, чтобы получить высокопроизводительные и красивые возможности рукописного ввода.
Последнее обновление Стабильный релиз Кандидат на релиз Бета-версия Альфа-релиз
13 августа 2025 г. - - - 1.0.0-альфа06

Объявление зависимостей

Чтобы добавить зависимость от Ink, необходимо добавить репозиторий Google Maven в свой проект. Подробнее см. в репозитории Google Maven .

Добавьте зависимости для необходимых артефактов в файл build.gradle вашего приложения или модуля:

Круто

dependencies {
  
    implementation "androidx.ink:ink-authoring:1.0.0-alpha06"
    implementation "androidx.ink:ink-brush:1.0.0-alpha06"
    implementation "androidx.ink:ink-geometry:1.0.0-alpha06"
    implementation "androidx.ink:ink-nativeloader:1.0.0-alpha06"
    implementation "androidx.ink:ink-rendering:1.0.0-alpha06"
    implementation "androidx.ink:ink-strokes:1.0.0-alpha06"
    
}

Котлин

dependencies {


    implementation("androidx.ink:ink-authoring:1.0.0-alpha06")
    implementation("androidx.ink:ink-brush:1.0.0-alpha06")
    implementation("androidx.ink:ink-geometry:1.0.0-alpha06")
    implementation("androidx.ink:ink-nativeloader:1.0.0-alpha06")
    implementation("androidx.ink:ink-rendering:1.0.0-alpha06")
    implementation("androidx.ink:ink-strokes:1.0.0-alpha06")
}

Дополнительные сведения о зависимостях см. в разделе Добавление зависимостей сборки .

Обратная связь

Ваши отзывы помогают улучшить Jetpack. Сообщите нам, если вы обнаружите новые проблемы или у вас есть идеи по улучшению этой библиотеки. Пожалуйста, ознакомьтесь с уже существующими проблемами в этой библиотеке, прежде чем создавать новую. Вы можете проголосовать за существующую проблему, нажав на кнопку со звёздочкой.

Создать новый выпуск

Более подробную информацию см. в документации по системе отслеживания проблем .

Заметок о выпуске для этого артефакта нет.

Версия 1.0

Версия 1.0.0-альфа06

13 августа 2025 г.

Выпущен androidx.ink:ink-*:1.0.0-alpha06 . Версия 1.0.0-alpha06 содержит следующие коммиты .

Новые функции

  • Кисть-выделитель эмодзи: выделяйте части документа любыми эмодзи по вашему выбору, чтобы придать ему забавный вид и помочь поддерживать порядок.
  • Дополнительные вспомогательные API для примитивных форм геометрического модуля
  • Улучшение совместимости и производительности устройств

Изменения API

  • Упрощенный API для InProgressStrokesView , завершение работы с API геометрии, выделение эмодзи, удаление фабричных функций из MutableParallelogram в пользу методов заполнения, поддержка начального значения для рандомизированного поведения кисти. ( I38280 )

Исправления ошибок

  • Исправлена проблема с производительностью и однородностью цвета во влажном/сухом состоянии. ( Ifcd1d )

Версия 1.0.0-альфа05

18 июня 2025 г.

Выпущен androidx.ink:ink-*:1.0.0-alpha05 . Версия 1.0.0-alpha05 содержит следующие коммиты .

Новые функции

  • Составьте модули взаимодействия для модулей разработки, кисти и геометрии.

Изменения API

  • Новые модули взаимодействия и API Compose, очистка API ( I0e464 )
  • Методы InProgressStroke.enqueueInputs/updateShape , возвращавшие kotlin.Result , удалены. Клиентам следует использовать вместо них, например, enqueueInputsOrThrow или enqueueInputsOrIgnore . InProgressStroke.getNeedsUpdate переименован в isUpdateNeeded . InProgressStroke.populateOutlinePosition теперь возвращает свой выходной параметр, что позволяет организовывать цепочки вызовов в соответствии с другими методами в Ink. Интерфейс TextureBitmapStore перенесен из модуля рендеринга в модуль кисти. BoxAccumulator.populateFrom теперь принимает неизменяемый Box, допускающий значение NULL, вместо изменяемого BoxAccumulator . Чтобы было понятнее, что именно изменяется, вызывающим следует изменить boxAccumulator.add(other) на boxAccumulator.add(other.box) . BrushUtil.toBuilderWithAndroidColor/createBuilderWithAndroidColor удалены, вместо этого используйте setAndroidColor Brush.Builder после построения. ( Ia7155 )
  • Ранее экспериментальное свойство InProgressStrokesView.textureBitmapStore теперь является закрытым. Для этого свойства по-прежнему существуют публичные методы доступа. ( I1d706 )

Исправления ошибок

  • Улучшена производительность пользовательских кистей, содержащих много частиц.

Версия 1.0.0-альфа04

9 апреля 2025 г.

Выпущен androidx.ink:ink-*:1.0.0-alpha04 . Версия 1.0.0-alpha04 содержит следующие коммиты .

Новые функции

  • Вводит новые экспериментальные API для пользовательских объектов BrushFamily , позволяющие использовать новые кисти, такие как Pencil и Laser Pointer. API позволяет загружать кисти, определённые этим прототипом. ( I8809a )

Версия 1.0.0-альфа03

12 февраля 2025 г.

Выпущен androidx.ink:ink-*:1.0.0-alpha03 . Версия 1.0.0-alpha03 содержит следующие коммиты .

Новые функции

  • Экономия места на диске и в сети: сериализация StrokeInputBatch , экономящая множество строк кода, при этом получаемые объекты составляют лишь малую часть размера традиционно хранимых штрихов. ( Ie898d )
  • Выделение лассо: кисть со штриховой линией для рисования выделенной линии и функция для преобразования выделенной линии в PartitionedMesh для геометрических запросов. ( Ia38a0 )

Версия 1.0.0-альфа02

11 декабря 2024 г.

Выпущен androidx.ink:ink-*:1.0.0-alpha02 . Версия 1.0.0-alpha02 содержит следующие коммиты .

Изменения API

  • Исправлены различные ошибки. ( I05dd8 )

Внешний вклад

  • Отменить поддержку BuildCompat.isAtLeastV . Вызывающие функции должны напрямую проверять SDK_INT на соответствие 35. ( I294d1 )

Версия 1.0.0-альфа01

2 октября 2024 г.

Выпущен androidx.ink:ink-*:1.0.0-alpha01 . Версия 1.0.0-alpha01 содержит следующие коммиты .

Новые функции

  • Модульная и настраиваемая библиотека, упрощающая создание, визуализацию и обработку красивых штрихов рукописного ввода, созданных в вашем приложении.

Изменения API

Новые модули, которые помогут разработчикам создавать насыщенные возможности рукописного ввода:

  • Разработка: используйте InProgressStrokesView для высокопроизводительной визуализации штрихов с малой задержкой в режиме реального времени по мере получения входных данных.
  • Рендеринг: используйте CanvasStrokeRenderer и ViewStrokeRenderer для отрисовки готовых штрихов чернил как части пользовательского интерфейса приложения.
  • Штрихи: основные типы данных, используемые для функций рукописного ввода.
  • Кисть: настраиваемая спецификация того, как будут выглядеть мазки и реагировать на действия пользователя.
  • Геометрия: от геометрических операций, таких как пересечение и покрытие, до мощных инструментов, таких как выделение и стирание.