דיו

  
לספק השראה לאפליקציות עט ברמה הכי גבוהה. להקטין את המחסום בפני מפתחים כדי ליצור חוויות כתיבה יפות וביצועים גבוהים. יש תמיכה בסימון בדיו ב-Android וב-JVM בצד השרת (בשלב הזה יש תמיכה ב-Linux ל-x86_64).
העדכון האחרון גרסה יציבה גרסה מועמדת להפצה גרסת בטא גרסת אלפא
‫23 בספטמבר 2026 ‫1.0.0 - - ‎1.1.0-alpha09

הצהרה על יחסי תלות

כדי להוסיף תלות ב-Ink, צריך להוסיף את מאגר Google Maven לפרויקט. מידע נוסף זמין במאמר בנושא מאגר Maven של Google.

אתם יכולים להוסיף את יחסי התלות של הארטיפקטים שאתם צריכים בקובץ build.gradle של האפליקציה או המודול:

Groovy

dependencies {
  
    implementation "androidx.ink:ink-authoring:1.1.0-alpha09"
    implementation "androidx.ink:ink-authoring-compose:1.1.0-alpha09"
    implementation "androidx.ink:ink-brush:1.1.0-alpha09"
    implementation "androidx.ink:ink-brush-compose:1.1.0-alpha09"
    implementation "androidx.ink:ink-geometry:1.1.0-alpha09"
    implementation "androidx.ink:ink-geometry-compose:1.1.0-alpha09"
    implementation "androidx.ink:ink-nativeloader:1.1.0-alpha09"
    implementation "androidx.ink:ink-rendering:1.1.0-alpha09"
    implementation "androidx.ink:ink-storage:1.1.0-alpha09"
    implementation "androidx.ink:ink-strokes:1.1.0-alpha09"
    
}

Kotlin

dependencies {


    implementation("androidx.ink:ink-authoring:1.1.0-alpha09")
    implementation("androidx.ink:ink-authoring-compose:1.1.0-alpha09")
    implementation("androidx.ink:ink-brush:1.1.0-alpha09")
    implementation("androidx.ink:ink-brush-compose:1.1.0-alpha09")
    implementation("androidx.ink:ink-geometry:1.1.0-alpha09")
    implementation("androidx.ink:ink-geometry-compose:1.1.0-alpha09")
    implementation("androidx.ink:ink-nativeloader:1.1.0-alpha09")
    implementation("androidx.ink:ink-rendering:1.1.0-alpha09")
    implementation("androidx.ink:ink-storage:1.1.0-alpha09")
    implementation("androidx.ink:ink-strokes:1.1.0-alpha09")
}

מידע נוסף זמין במאמר הוספת יחסי תלות ב-build.

משוב

המשוב שלכם עוזר לנו לשפר את Jetpack. נשמח לדעת אם גיליתם בעיות חדשות או אם יש לכם רעיונות איך לשפר את הספרייה הזו. כדאי לעיין בבעיות הידועות בספרייה הזו לפני שמדווחים על בעיה. כדי להוסיף הצבעה בדיווח על בעיה קיימת, לוחצים על כפתור הכוכב.

יצירת דיווח על בעיה חדשה

מידע נוסף זמין במאמרי העזרה בנושא Issue Tracker.

גרסת הדיו 1.1

גרסה ‎1.1.0-alpha09

‫23 בספטמבר 2026

‫androidx.ink:ink-*:1.1.0-alpha09 מופץ. גרסה ‎1.1.0-alpha09 מכילה את השמירות האלה.

שינויים ב-API

  • שינוי של Brush color shift (הזזת צבע המברשת) כך שיפעל במרחב הצבעים Oklab, ששומר טוב יותר על בהירות נתפסת בהזזות של גוון. שינינו את השמות של ממשקי ה-API של SATURATION ושל LUMINOSITY ל-CHROMA ול-LIGHTNESS בהתאמה. (I0ed42)

תיקוני באגים

  • התלות ב-androidx.lifecycle:lifecycle-runtime עודכנה ל-2.10.0. הגרסה הזו נדרשת כדי להריץ בדיקות lint של זמן ריצה של מחזור חיים בחבילה עם AGP בגרסה 9.5.0-alpha04 ואילך. (I99bfd, ‏ b/556807521)

גרסה ‎1.1.0-alpha08

‫9 בספטמבר 2026

‫androidx.ink:ink-*:1.1.0-alpha08 מופץ. גרסה ‎1.1.0-alpha08 מכילה את השמירות האלה.

שינויים ב-API

  • הוספת תמיכה ברינדור של KMP iOS באמצעות MetalRenderer, במסגרת אנוטציית ההצטרפות ExperimentalInkCrossPlatformRenderingApi, על סמך ממשקי API נפוצים של KMP לפונקציונליות עיקרית
  • שינוי השם של Target.TEXTURE_ANIMATION_PROGRESS_OFFSET לTarget.PAINT_ANIMATION_PROGRESS_OFFSET. (I8809f)
  • הוספת עומסים עודפים ImmutableAffineTransform.translate(float x, float, y) ו- MutableAffineTransform populateFromTranslation(float x, float y) (I8809f)
  • שינוי השם של נכס DampingNode מ-dampingSource ל-dampOver (מזהה 3178)
  • שינוי השם של נכס DampingNode מ-dampingGap ל-strength (I69432)
  • צריך להשתמש בסוג Vec כשמגדירים את EasingFunction.CubicBezier במקום Floats (I69432)
  • הוספת הערה לגבי פונקציות המחק לעריכת רשת WorkerThread Stroke.subtract ו-Stroke.split (I69432)

תיקוני באגים

  • התאמת Brush דוגמאות ל-KMP‏ (I77125)

גרסה ‎1.1.0-alpha07

‫12 באוגוסט 2026

‫androidx.ink:ink-*:1.1.0-alpha07 מופץ. גרסה ‎1.1.0-alpha07 מכילה את השמירות האלה.

שינויים ב-API

  • תיקון של רגרסיה בביצועים שמשפיעה על מברשות חלקיקים צפופות, עדכון של קבועי Brush.Version על סמך משוב מ-API‏ (I87f0f)

גרסה ‎1.1.0-alpha06

‫29 ביולי 2026

‫androidx.ink:ink-*:1.1.0-alpha06 מופץ. גרסה ‎1.1.0-alpha06 מכילה את השמירות האלה.

שינויים ב-API

  • הוספנו ל-API את ה-methods‏ calculateMinimumRequiredVersion עבור תת-סוגים של BrushFamily. (I338c9)
  • חשיפת שדות של רכיב AffineTransform (Ic2ec3)
  • תיקון של דליפת זיכרון ב-InProgressStrokesView, שיפור של ארטיפקטים חזותיים של מחק חלקי ניסיוני של קו, שיפור של ייצוג protobuf לשכבות של טקסטורות של מכחולים מותאמים אישית (I6ff86)
  • הוספת בנאי לאתחול של MutableAffineTransform (בהתאם ל-ImmutableAffineTransform) (I96ec7)
  • הוספה InProgressStroke.clear (Ie0032)
  • הוספת שיטות toImmutable למבני נתונים עם מחלקות משנה שניתנות לשינוי ושאינן ניתנות לשינוי (I53835)
  • העברה של KMP‏ (Icbf38, ‏ b/521850119, ‏ b/534309122)

תיקוני באגים

  • הוספנו תמיכה נוספת בגרסאות של מברשות ובאנימציות של טקסטורות. (Iea9ba)

גרסה ‎1.1.0-alpha05

‫15 ביולי 2026

‫androidx.ink:ink-*:1.1.0-alpha05 מופץ. גרסה ‎1.1.0-alpha05 מכילה את השמירות האלה.

שינויים ב-API

  • השקנו גרסת ניסיון של סוג חדש של מחק, שנקרא "מחק חלקי", "מחק רשת" או "מחק פיקסלים". המחק הזה עורך את הגיאומטריה של הקו ומפצל קווים, במקום למחוק קווים שלמים או להסתיר אותם בצבע הרקע. הבעיות הידועות כוללות היעדר החלקת קצוות (anti-aliasing) בקצוות החתוכים, והיעדר ממשקי API של סריאליזציה לשמירת התוצאות של המחיקה PartitionedMesh. שתי הבעיות האלה ייפתרו בגרסאות עתידיות.
  • הוספנו הערת Throws חסרה ל-StrokeInputBatchSerialization.decode, ולכן נדרש עדכון מצד צרכני Java של השיטה הזו. (I83473, ‏ b/522256938)

תיקוני באגים

  • תיקון קריסה מקורית שנגרמת מבעיה בדיוק המספרי (I2e1f0, ‏ 6618e69, ‏ b/523190724)
  • הסרת אקסטרוזיות מנוונות ב-BrushTipExtruder (469b629)
  • תיקון RejectedExecutionException ב-InProgressStrokesView (b/526696762)

גרסה ‎1.1.0-alpha04

‫17 ביוני 2026

‫androidx.ink:ink-*:1.1.0-alpha04 מופץ. גרסה ‎1.1.0-alpha04 מכילה את השמירות האלה.

שינויים ב-API

  • תוקנו בעיות בדיוק של נקודה צפה שגרמו לארטיפקטים חזותיים בקווי מתאר סופיים, והשפיעו על מכשירים מסוימים אחרי שדרוגי מערכת ההפעלה

  • הוספת KMP-common API למודול האחסון (במקום ByteArray Java InputStream/OutputStream).

  • מוסיפים מאפיין BrushBehavior.developerComment כדי לאחסן מטא-נתונים שמסבירים את העיצוב של משפחת מברשות בהתאמה אישית. הכלי הזה מיועד לתמיכה בממשק המשתמש של Brush Designer.

  • תיקנו באג בבדיקות העקביות של השרשור ב-CanvasInProgressStrokesRenderHelperV33.

  • תיקנו כמה באגים בטיפול בשדות אופציונליים של MotionEvent (למשל, הטיה, לחץ).

  • שיפור התיעוד של API של מברשות בהתאמה אישית.

  • להוסיף סוגים חדשים של BrushPaint.ColorFunction.

גרסה ‎1.1.0-alpha03

‫19 במאי 2026

‫androidx.ink:ink-*:1.1.0-alpha03 מופץ. גרסה ‎1.1.0-alpha03 מכילה את השמירות האלה.

שינויים ב-API

  • הפיכת API להתאמה אישית של מכחול דיו לציבורי (I8e2e1)
  • פיצול BrushPaint.TextureLayer לתתי-מחלקות ספציפיות יותר (I8848a)

גרסה ‎1.1.0-alpha02

‫22 באפריל 2026

‫androidx.ink:ink-*:1.1.0-alpha02 מופץ. גרסה ‎1.1.0-alpha02 מכילה את השמירות האלה.

שינויים ב-API

  • הוספת עומס יתר של BrushFamily.decode שמציין תאימות מקסימלית לגרסה (I1c7bc)
  • הוצאת BrushFamily serialization API מסטטוס ניסיוני (Idd16e)

תיקוני באגים

  • תיקון הבהוב כשמשתמשים ב-InProgressStrokesView.maskPath במכשירים מסוימים (I1c7bc, b/496920044)

גרסה ‎1.1.0-alpha01

‫11 במרץ 2026

‫androidx.ink:ink-*:1.1.0-alpha01 מופץ. גרסה ‎1.1.0-alpha01 מכילה את השמירות האלה.

תכונות חדשות

  • מגוון תיקוני באגים קטנים

שינויים ב-API

  • הוספת InProgressShape.isCanceled, תיקון בעיות בו-זמניות במודול העריכה. (Ibfd32, ‏ b/474385518, ‏ b/470695777)
  • הצגת גרסה ללא ארגומנטים של CanvasStrokeRenderer.create ו-InProgressStroke.updateShape ל-Java ‏ (Id80a1, ‏ b/457715938)

תיקוני באגים

  • תיקנו באג שגרם לקריסות ב-InProgressStrokesView אחרי ניתוק/חיבור מחדש מהחלון ב-API 29-32, אפשרנו לפעולות של Vec לקבל את אותו MutableVec כקלט ופלט, ומיזגנו את ההגדרות של Proguard לקובץ אחד. (Ia4da0)
  • הגברת התלות ב-graphics-core ל-1.0.4‏ (Ibfa18)

גירסה 1.0

גרסה 1.0.0

‫17 בדצמבר 2025

‫androidx.ink:ink-*:1.0.0 מופץ. גרסה 1.0.0 מכילה את השמירות האלה.

תיקוני באגים

  • הגדלת התלות ב-graphics-core ל-1.0.4 (Ibfa18)

גרסה ‎1.0.0-rc01

‫3 בדצמבר 2025

‫androidx.ink:ink-*:1.0.0-rc01 מופץ. גרסה ‎1.0.0-rc01 מכילה את השמירות האלה.

תיקוני באגים

  • מעדכנים את גרסת התלות. (Iecd04)

גרסה ‎1.0.0-beta02

‫19 בנובמבר 2025

‫androidx.ink:ink-*:1.0.0-beta02 מופץ. גרסה ‎1.0.0-beta02 מכילה את השמירות האלה.

שינויים ב-API

  • ממשקי API ניסיוניים בהתאמה אישית עם זמני אחזור נמוכים, תיקוני באגים שונים (Ib8d2f)

תיקוני באגים

  • שיפור הדיוק של נקודה צפה (floating-point) בסריאליזציה של StrokeInputBatch, תיקון סחף בערכים מקידוד ופענוח חוזרים
  • חיטוי קפדני יותר של קלט המערכת.
  • תיקון התמיכה בטקסטורה של מברשת ברכיב הקומפוזבילי InProgressStrokes

גרסה ‎1.0.0-beta01

‫22 באוקטובר 2025

‫androidx.ink:ink-*:1.0.0-beta01 מופץ. גרסה ‎1.0.0-beta01 מכילה את השמירות האלה.

תיקוני באגים

  • תיקוני באגים לקראת גרסת beta01‏ (I9900e)
  • הפחתת ארטיפקטים של רינדור בקווי מתאר בגלל יותר מדי קלטים מודלים שקרובים מדי זה לזה.
  • תוקנה קריסה נדירה במודלים של קלט.

גרסה ‎1.0.0-alpha07

‫8 באוקטובר 2025

‫androidx.ink:ink-*:1.0.0-alpha07 מופץ. גרסה ‎1.0.0-alpha07 מכילה את השמירות האלה.

תכונות חדשות

  • הפרמטר SelfOverlap של StockBrushes highlighter ושל emojiHighlighter, שמחליף את InProgressStrokesView rendererFactory
  • שיפור ההטמעה של החלקת קלט המשיכות, שמבטל את רעשי המדידה של המכשיר אבל משקף בצורה מדויקת יותר את קלט של משתמשים בהשוואה להטמעה הקודמת של החלקת קלט המשיכות
  • שיפור העקביות עם ממשקי API אחרים של Android/Jetpack לגבי יחידות זווית (מעלות לעומת רדיאנים), טרנספורמציות (הטיה לעומת גזירה) ועוד

שינויים ב-API

  • שינוי API שקשור לזווית לשימוש במעלות וכולל יחידה בשמות, הבהרה לגבי יחידות בכלי המרה של זווית ותמיכה במעלות וברדיאנים, שינוי StockBrushes API לקבלת גרסת מברשת מלאי כפרמטר של פונקציית יצירה וחשיפת בקרת התנהגות של חפיפה עצמית למברשות של הדגשה, שינוי השם של MutableAffineTransform.populateFromTranslate ל-populateFromTranslation, הסרת InProgressStrokesView.setRenderFactory/getRenderFactory. (Id9eab, ‏ b/436656418)
  • שינוי השם של shear ל-skew, הוספת הבהרות לתיעוד, הסרת CanvasStrokeRenderer.strokeModifiedRegionOutsetPx, הוספת InProgressStroke.changesWithTime (Ia5e70, b/436656418)

תיקוני באגים

  • שיפור המודלים של הקלט כדי שהמשיכות ישקפו את הקלט בצורה מדויקת יותר. (I93097)

גרסה ‎1.0.0-alpha06

‫13 באוגוסט 2025

‫androidx.ink:ink-*:1.0.0-alpha06 מופץ. גרסה ‎1.0.0-alpha06 מכילה את השמירות האלה.

תכונות חדשות

  • מברשת אמוג'י להדגשה: אפשר להדגיש חלקים במסמך עם כל אמוג'י שתבחרו, כדי להוסיף מגע כיפי ולשמור על סדר.
  • ממשקי API נוספים לעזרה בצורות פרימיטיביות של מודול גיאומטריה
  • שיפור התאימות והביצועים של המכשיר

שינויים ב-API

  • ‫API פשוט יותר ל-InProgressStrokesView, סיום של ממשקי API של גיאומטריה, הדגשת אימוג'י, הסרת פונקציות של יצירת אובייקטים מ-MutableParallelogram לטובת שיטות לאכלוס, תמיכה בערך התחלתי (seed) להתנהגויות אקראיות של מברשות. (I38280)

תיקוני באגים

  • תוקנו בעיות בביצועים ובצבעים של מוצרים רטובים ויבשים. (Ifcd1d)

גרסה ‎1.0.0-alpha05

‫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 שאי אפשר לשנות במקום ב-BoxAccumulator שאפשר לשנות, כדי להבהיר מה משתנה. המתקשרים צריכים לשנות את boxAccumulator.add(other) ל-boxAccumulator.add(other.box). BrushUtil.toBuilderWithAndroidColor/createBuilderWithAndroidColor הוסרו. במקומם צריך להשתמש ב-setAndroidColor של Brush.Builder אחרי הבנייה. (Ia7155)
  • הנכס הניסיוני InProgressStrokesView.textureBitmapStore הוא עכשיו פרטי. עדיין יש לכם פונקציות ציבוריות לגישה למאפיין הזה. (I1d706)

תיקוני באגים

  • שיפור הביצועים של מברשות מותאמות אישית שמכילות הרבה חלקיקים.

גרסה ‎1.0.0-alpha04

‫9 באפריל 2025

‫androidx.ink:ink-*:1.0.0-alpha04 מופץ. גרסה ‎1.0.0-alpha04 מכילה את השמירות האלה.

תכונות חדשות

  • הוספנו ממשקי API ניסיוניים חדשים לאובייקטים מותאמים אישית של BrushFamily, שמאפשרים להשתמש במברשות חדשות כמו עיפרון וסמן לייזר. ה-API מאפשר לטעון מברשות שמוגדרות על ידי הפרוטו הזה. (I8809a)

גרסה ‎1.0.0-alpha03

‫12 בפברואר 2025

‫androidx.ink:ink-*:1.0.0-alpha03 מופץ. גרסה ‎1.0.0-alpha03 מכילה את השמירות האלה.

תכונות חדשות

  • חיסכון בגודל הדיסק והרשת: סריאליזציה של StrokeInputBatch, חיסכון בשורות קוד רבות, והאובייקטים שמתקבלים הם חלק קטן מאוד מהגודל של משיכות מכחול שמאוחסנות בדרך כלל. (Ie898d)
  • בחירה באמצעות לאסו: מברשת עם קו מקווקו לציור קו בחירה, ופונקציה להפיכת קו הבחירה ל-PartitionedMesh לשאילתות גיאומטריות. (Ia38a0)

גרסה ‎1.0.0-alpha02

‫11 בדצמבר 2024

‫androidx.ink:ink-*:1.0.0-alpha02 מופץ. גרסה ‎1.0.0-alpha02 מכילה את השמירות האלה.

שינויים ב-API

  • מגוון תיקוני באגים. (I05dd8)

External Contribution

  • הוצאה משימוש של BuildCompat.isAtLeastV. במקום זאת, מי שמתקשר צריך לבדוק את SDK_INT מול 35 ישירות. (I294d1)

גרסה ‎1.0.0-alpha01

‫2 באוקטובר 2024

‫androidx.ink:ink-*:1.0.0-alpha01 מופץ. גרסה 1.0.0-alpha01 מכילה את השמירות האלה.

תכונות חדשות

  • ספרייה מודולרית וניתנת להגדרה שמאפשרת ליצור, לעבד ולשנות בקלות קווים יפים של דיו שנכתבו באפליקציה.

שינויים ב-API

מודולים חדשים שיעזרו למפתחים ליצור חוויות עשירות של שימוש בעט:

  • יצירה: אפשר להשתמש ב-InProgressStrokesView כדי להציג את הקווים בזמן אמת בביצועים גבוהים ועם זמן אחזור נמוך, כשהקלט מתקבל.
  • רינדור: משתמשים ב-CanvasStrokeRenderer וב-ViewStrokeRenderer כדי לצייר את קווי הדיו המוגמרים כחלק מממשק המשתמש של האפליקציה.
  • משיכות מכחול: סוגי נתונים מרכזיים שמשמשים לתכונות של דיו.
  • מכחול: הגדרה שקובעת איך הקווים ייראו ויתנהגו בתגובה לקלט של המשתמש.
  • גיאומטריה: פעולות גיאומטריות כמו חיתוך וכיסוי, כדי להפעיל כלים כמו בחירה ומחיקה.