حبر
| آخر الأخبار | الإصدار الثابت | إصدار محتمل | الإصدار التجريبي | الإصدار الأوّلي |
|---|---|---|---|---|
| 23 سبتمبر 2026 | 1.0.0 | - | - | 1.1.0-alpha09 |
تحديد الاعتماديات
لإضافة اعتمادية على Ink، يجب تضمين مستودع Google Maven في مشروعك. اطّلِع على مستودع Maven من Google لمزيد من المعلومات.
أضِف الاعتماديات الخاصة بالعناصر التي تحتاج إليها في ملف build.gradle لتطبيقك أو وحدتك:
أنيق
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") }
لمزيد من المعلومات حول الاعتماديات، يُرجى الاطّلاع على إضافة اعتماديات الإصدار.
الملاحظات
تساعدنا ملاحظاتك في تحسين Jetpack. يُرجى إعلامنا إذا اكتشفت مشاكل جديدة أو كانت لديك أفكار لتحسين هذه المكتبة. يُرجى الاطّلاع على المشاكل الحالية في هذه المكتبة قبل إنشاء مشكلة جديدة. يمكنك إضافة صوتك إلى مشكلة حالية من خلال النقر على زر النجمة.
يُرجى الاطّلاع على مستندات Issue Tracker للحصول على مزيد من المعلومات.
Ink Version 1.1
الإصدار 1.1.0-alpha09
23 سبتمبر 2026
تم طرح androidx.ink:ink-*:1.1.0-alpha09. يتضمّن الإصدار 1.1.0-alpha09 هذه التعديلات.
التغييرات في واجهة برمجة التطبيقات
- تغيير "تغيير لون الفرشاة" ليعمل في مساحة ألوان Oklab، ما يحافظ بشكل أفضل على درجة السطوع المدرَكة في تغييرات الألوان تمت إعادة تسمية واجهات برمجة التطبيقات
SATURATIONوLUMINOSITYالخاصة بميزة "التحريك بالفرشاة" لتصبحCHROMAوLIGHTNESSعلى التوالي. (I0ed42)
إصلاح الأخطاء
- تم تعديل الاعتمادية
androidx.lifecycle:lifecycle-runtimeإلى الإصدار 2.10.0. هذا الإصدار مطلوب لتشغيل عمليات التحقّق من أخطاء lint المجمَّعة في وقت التشغيل لدورة الحياة مع الإصدار 9.5.0-alpha04 أو إصدار أحدث من "مكوّن Android الإضافي لبرنامج Gradle". (I99bfd، b/556807521)
الإصدار 1.1.0-alpha08
9 سبتمبر 2026
تم طرح androidx.ink:ink-*:1.1.0-alpha08. يتضمّن الإصدار 1.1.0-alpha08 هذه التعديلات.
التغييرات في واجهة برمجة التطبيقات
- إضافة إمكانية عرض KMP iOS من خلال
MetalRenderer، ضمن التعليق التوضيحيExperimentalInkCrossPlatformRenderingApiالذي يتطلّب الموافقة، استنادًا إلى واجهات 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(Id3178) - إعادة تسمية الموقع
DampingNodeمنdampingGapإلىstrength(I69432) - استخدِم النوع
Vecعند تحديدEasingFunction.CubicBezierبدلاً منFloat(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 هذه التعديلات.
التغييرات في واجهة برمجة التطبيقات
- إصلاح مشكلة تراجع الأداء التي تؤثر في فُرش الجزيئات الكثيفة، وتعديل ثوابت Brush.Version استنادًا إلى ملاحظات واجهة برمجة التطبيقات (I87f0f)
الإصدار 1.1.0-alpha06
29 يوليو 2026
تم طرح androidx.ink:ink-*:1.1.0-alpha06. يتضمّن الإصدار 1.1.0-alpha06 هذه التعديلات.
التغييرات في واجهة برمجة التطبيقات
- تمت إضافة طرق
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 هذه التعديلات.
التغييرات في واجهة برمجة التطبيقات
- إصدار تجريبي من نوع ممحاة جديد يُعرف باسم "الممحاة الجزئية" أو "تعديل الشبكة" أو "ممحاة البكسل"، وهو يعدّل هندسة الضربة ويقسمها بدلاً من حذف الضربات بأكملها أو إخفائها بلون الخلفية. تشمل المشاكل المعروفة عدم توفّر ميزة "التنعيم" على الحواف المقطوعة، وعدم توفّر واجهات برمجة تطبيقات نشر على نحو متسلسِل لحفظ نتائج
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 هذه التعديلات.
التغييرات في واجهة برمجة التطبيقات
إصلاح مشاكل دقة الفاصلة العائمة التي تؤدي إلى تشوّهات مرئية في اللمسات النهائية، ما يؤثر في أجهزة معيّنة بعد ترقية نظام التشغيل
إضافة واجهة برمجة تطبيقات KMP-common لوحدة التخزين (التحويل من/إلى
ByteArrayبدلاً من JavaInputStream/OutputStream)أضِف خاصية
BrushBehavior.developerCommentلتخزين البيانات الوصفية التي تشرح تصميم مجموعة فرش مخصّصة. وهي مخصّصة لدعم واجهة مستخدم "مصمّم الفرشاة".تم إصلاح خطأ في عمليات التحقّق من اتساق سلاسل المحادثات في
CanvasInProgressStrokesRenderHelperV33.تم إصلاح بعض الأخطاء في معالجة الحقول الاختيارية
MotionEvent(مثل الميل والضغط).تحسين مستندات واجهة برمجة التطبيقات الخاصة بالفرشاة المخصّصة
أضِف أنواع
BrushPaint.ColorFunctionجديدة.
الإصدار 1.1.0-alpha03
19 مايو 2026
تم طرح androidx.ink:ink-*:1.1.0-alpha03. يتضمّن الإصدار 1.1.0-alpha03 هذه التعديلات.
التغييرات في واجهة برمجة التطبيقات
- إتاحة واجهة برمجة التطبيقات لتخصيص فرشاة الحبر آليًا للجميع (I8e2e1)
- تقسيم
BrushPaint.TextureLayerإلى فئات فرعية أكثر تحديدًا (I8848a)
الإصدار 1.1.0-alpha02
22 أبريل 2026
تم طرح androidx.ink:ink-*:1.1.0-alpha02. يتضمّن الإصدار 1.1.0-alpha02 هذه التعديلات.
التغييرات في واجهة برمجة التطبيقات
- عرض حمل زائد من
BrushFamily.decodeيحدّد الحد الأقصى للتوافق مع الإصدار (I1c7bc) - إخراج واجهة برمجة التطبيقات الخاصة بالتسلسل
BrushFamilyمن المرحلة التجريبية (Idd16e)
إصلاح الأخطاء
- تم إصلاح مشكلة الوميض عند استخدام
InProgressStrokesView.maskPathعلى أجهزة معيّنة (I1c7bc، b/496920044)
الإصدار 1.1.0-alpha01
11 مارس 2026
تم طرح androidx.ink:ink-*:1.1.0-alpha01. يتضمّن الإصدار 1.1.0-alpha01 هذه التعديلات.
الميزات الجديدة
- إصلاحات متنوّعة لأخطاء بسيطة
التغييرات في واجهة برمجة التطبيقات
- إضافة
InProgressShape.isCanceled، وإصلاح مشاكل التزامن في وحدة التأليف (Ibfd32، b/474385518، b/470695777) - إتاحة إصدار بدون وسيطة من
CanvasStrokeRenderer.createوInProgressStroke.updateShapeللغة Java (Id80a1، b/457715938)
إصلاح الأخطاء
- إصلاح خطأ يؤدي إلى حدوث أعطال في
InProgressStrokesViewبعد فصل/إعادة ربط النافذة في الإصدارات من 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 هذه التعديلات.
التغييرات في واجهة برمجة التطبيقات
- واجهات برمجة تطبيقات تجريبية مخصّصة للأشكال ذات زمن الاستجابة المنخفض، وإصلاحات متنوعة للأخطاء (Ib8d2f)
إصلاح الأخطاء
- تحسين دقة النقطة العائمة في عملية التسلسل
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، والتي تحلّ محلّInProgressStrokesViewrendererFactory - تحسين تنفيذ ميزة "تنعيم إدخال ضربات الفرشاة"، ما يؤدي إلى إزالة الضوضاء الناتجة عن قياس الجهاز، ولكنّه يعكس بيانات أدخلها المستخدم بدقة أكبر من عملية التنفيذ السابقة لميزة "تنعيم إدخال ضربات الفرشاة"
- تحسين التوافق مع واجهات برمجة تطبيقات Android/Jetpack الأخرى لوحدات الزاوية (الدرجات مقابل الراديان) وعمليات التحويل (الانحراف مقابل القص) وغير ذلك
التغييرات في واجهة برمجة التطبيقات
- تغيير واجهة برمجة التطبيقات ذات الصلة بالزوايا لاستخدام الدرجات وتضمين الوحدة في الأسماء، وتوضيح الوحدات في أدوات تحويل الزوايا وإتاحة استخدام الدرجات والراديان، وتغيير واجهة برمجة التطبيقات
StockBrushesلتلقّي إصدار الفرشاة الأساسية كمَعلمة دالة المصنع وإتاحة التحكّم في سلوك التداخل الذاتي لفرشاة التمييز، وإعادة تسميةMutableAffineTransform.populateFromTranslateإلىpopulateFromTranslation، وإزالةInProgressStrokesView.setRenderFactory/getRenderFactory(Id9eab، b/436656418) - إعادة تسمية القص إلى التشويه، وتوضيح بعض المستندات، وإزالة
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 هذه التعديلات.
الميزات الجديدة
- فرشاة تمييز الإيموجي الجاهزة: يمكنك تمييز أجزاء من المستند باستخدام أي إيموجي تختاره، وذلك لإضافة لمسة مرحة والمساعدة في الحفاظ على التنظيم.
- المزيد من واجهات برمجة التطبيقات المساعدة للأشكال الأساسية في وحدة الأشكال الهندسية
- تحسين توافق الجهاز وأدائه
التغييرات في واجهة برمجة التطبيقات
- واجهة برمجة تطبيقات مبسطة لـ
InProgressStrokesView، وواجهات برمجة تطبيقات هندسية نهائية، وأداة تمييز الرموز التعبيرية، وإزالة دوال المصنع منMutableParallelogramلصالح طرق التعبئة، وإتاحة استخدام قيمة أولية لسلوكيات الفرشاة العشوائية (I38280)
إصلاح الأخطاء
- تم إصلاح مشكلة في الأداء ومشكلة في اتساق الألوان الرطبة والجافة. (Ifcd1d)
الإصدار 1.0.0-alpha05
18 يونيو 2025
تم طرح androidx.ink:ink-*:1.0.0-alpha05. يتضمّن الإصدار 1.0.0-alpha05 هذه التعديلات.
الميزات الجديدة
- إنشاء وحدات إمكانية التشغيل التفاعلي لوحدات التأليف والفرشاة والأشكال الهندسية
التغييرات في واجهة برمجة التطبيقات
- وحدات وواجهات برمجة تطبيقات جديدة للتوافق مع Compose، وتنظيف واجهة برمجة التطبيقات (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 هذه التعديلات.
الميزات الجديدة
- تتضمّن واجهات برمجة تطبيقات تجريبية جديدة لعناصر
BrushFamilyمخصّصة، ما يتيح استخدام فُرش جديدة مثل "قلم الرصاص" و"مؤشر الليزر". تسمح واجهة برمجة التطبيقات بتحميل الفرش المحدّدة بواسطة هذا البروتوكول. (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 هذه التعديلات.
التغييرات في واجهة برمجة التطبيقات
- إصلاحات أخطاء متنوّعة (I05dd8)
المساهمة الخارجية
- إيقاف
BuildCompat.isAtLeastVبدلاً من ذلك، يجب أن يتحقّق المتصلون من SDK_INT مقابل 35 مباشرةً. (I294d1)
الإصدار 1.0.0-alpha01
2 أكتوبر 2024
تم طرح androidx.ink:ink-*:1.0.0-alpha01. يتضمّن الإصدار 1.0.0-alpha01 هذه التعديلات.
الميزات الجديدة
- مكتبة معيارية وقابلة للإعداد لتسهيل إنشاء ضربات حبر جميلة وعرضها ومعالجتها في تطبيقك
التغييرات في واجهة برمجة التطبيقات
وحدات جديدة لمساعدة المطوّرين في إنشاء تجارب كتابة غنية:
- إنشاء المحتوى: استخدِم
InProgressStrokesViewلعرض ضربات الفرشاة في الوقت الفعلي بأداء عالٍ ووقت استجابة منخفض عند تلقّي المدخلات. - العرض: استخدِم
CanvasStrokeRendererوViewStrokeRendererلرسم ضربات الحبر المكتملة كجزء من واجهة مستخدم التطبيق. - الضربات: أنواع البيانات الأساسية المستخدَمة في ميزات الكتابة بالحبر
- الفرشاة: مواصفات قابلة للضبط حول شكل ضربات الفرشاة وطريقة تفاعلها مع إدخالات المستخدم.
- الأشكال الهندسية: عمليات هندسية مثل التقاطع والتغطية لتشغيل أدوات مثل التحديد والمحو