UI রচনা করুন

লেআউট, অঙ্কন এবং ইনপুট সহ ডিভাইসের সাথে ইন্টারঅ্যাক্ট করার জন্য কম্পোজ UI এর মৌলিক উপাদানগুলি প্রয়োজন।
সর্বশেষ আপডেট স্থিতিশীল রিলিজ প্রার্থী মুক্তি বিটা রিলিজ আলফা রিলিজ
সেপ্টেম্বর 18, 2024 1.7.2 - - 1.8.0-আলফা02

গঠন

কম্পোজ হল androidx মধ্যে 7টি Maven Group Id-এর সংমিশ্রণ। প্রতিটি গোষ্ঠীতে কার্যকারিতার একটি লক্ষ্যযুক্ত উপসেট রয়েছে, প্রতিটির নিজস্ব রিলিজ নোটের সেট রয়েছে।

এই টেবিলটি রিলিজ নোটের প্রতিটি সেটের গ্রুপ এবং লিঙ্কগুলি ব্যাখ্যা করে।

গ্রুপ বর্ণনা
compose.animation ব্যবহারকারীর অভিজ্ঞতাকে সমৃদ্ধ করতে তাদের জেটপ্যাক রচনা অ্যাপ্লিকেশনগুলিতে অ্যানিমেশন তৈরি করুন।
compose.compiler @Composable ফাংশন ট্রান্সফর্ম করুন এবং একটি Kotlin কম্পাইলার প্লাগইন দিয়ে অপ্টিমাইজেশান সক্ষম করুন।
compose.foundation বিল্ডিং ব্লক ব্যবহার করার জন্য প্রস্তুত সহ জেটপ্যাক কম্পোজ অ্যাপ্লিকেশন লিখুন এবং আপনার নিজস্ব ডিজাইন সিস্টেম টুকরা তৈরি করতে ভিত্তি প্রসারিত করুন।
compose.material মেটেরিয়াল ডিজাইন কম্পোনেন্ট ব্যবহারের জন্য প্রস্তুত জেটপ্যাক কম্পোজ UI তৈরি করুন। এটি রচনার উচ্চ স্তরের এন্ট্রি পয়েন্ট, যা www.material.io-তে বর্ণিত উপাদানগুলির সাথে মেলে এমন উপাদানগুলি প্রদান করার জন্য ডিজাইন করা হয়েছে৷
compose.material3 মেটেরিয়াল ডিজাইন 3 উপাদান সহ জেটপ্যাক কম্পোজ UI তৈরি করুন, মেটেরিয়াল ডিজাইনের পরবর্তী বিবর্তন। মেটেরিয়াল 3-এ আপডেটেড থিমিং এবং উপাদান এবং মেটেরিয়াল ইউ ব্যক্তিগতকরণ বৈশিষ্ট্য রয়েছে যেমন ডায়নামিক কালার, এবং নতুন Android 12 ভিজ্যুয়াল স্টাইল এবং সিস্টেম UI এর সাথে সমন্বয় করার জন্য ডিজাইন করা হয়েছে।
compose.runtime কম্পোজের প্রোগ্রামিং মডেল এবং স্টেট ম্যানেজমেন্টের মৌলিক বিল্ডিং ব্লক এবং কম্পোজ কম্পাইলার প্লাগইনকে লক্ষ্য করার জন্য মূল রানটাইম।
compose.ui লেআউট, অঙ্কন এবং ইনপুট সহ ডিভাইসের সাথে ইন্টারঅ্যাক্ট করার জন্য কম্পোজ UI এর মৌলিক উপাদানগুলি প্রয়োজন।

নির্ভরতা ঘোষণা করা

রচনার উপর নির্ভরতা যোগ করতে, আপনাকে অবশ্যই আপনার প্রকল্পে Google Maven সংগ্রহস্থল যোগ করতে হবে। আরও তথ্যের জন্য Google এর Maven সংগ্রহস্থল পড়ুন।

আপনার অ্যাপ বা মডিউলের জন্য build.gradle ফাইলে আপনার প্রয়োজনীয় আর্টিফ্যাক্টগুলির জন্য নির্ভরতা যোগ করুন:

গ্রোভি

dependencies {
    implementation "androidx.compose.ui:ui:1.7.2"
}

android {
    buildFeatures {
        compose true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.5.15"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

কোটলিন

dependencies {
    implementation("androidx.compose.ui:ui:1.7.2")
}

android {
    buildFeatures {
        compose = true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.5.15"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

নির্ভরতা সম্পর্কে আরও তথ্যের জন্য, বিল্ড নির্ভরতা যুক্ত করুন দেখুন।

প্রতিক্রিয়া

আপনার প্রতিক্রিয়া জেটপ্যাককে আরও ভাল করতে সাহায্য করে। আপনি যদি নতুন সমস্যা আবিষ্কার করেন বা এই লাইব্রেরির উন্নতির জন্য ধারনা পান তাহলে আমাদের জানান। আপনি একটি নতুন তৈরি করার আগে অনুগ্রহ করে এই লাইব্রেরিতে বিদ্যমান সমস্যাগুলি দেখুন৷ আপনি তারকা বোতামে ক্লিক করে একটি বিদ্যমান সমস্যায় আপনার ভোট যোগ করতে পারেন।

একটি নতুন সমস্যা তৈরি করুন

আরও তথ্যের জন্য ইস্যু ট্র্যাকার ডকুমেন্টেশন দেখুন।

সংস্করণ 1.8

সংস্করণ 1.8.0-alpha02

সেপ্টেম্বর 18, 2024

androidx.compose.ui:ui-*:1.8.0-alpha02 প্রকাশিত হয়েছে। সংস্করণ 1.8.0-alpha02-এ এই কমিট রয়েছে।

এপিআই পরিবর্তন

  • TextOverflow.StartEllipsis এবং TextOverflow.MiddleEllipsis এখন উপলব্ধ যা একক লাইনের পাঠ্যের লাইনের শুরুতে বা মাঝখানে উপবৃত্তাকার স্থাপন করতে দেয়। ( I38913 , b/185418980 )

বাগ ফিক্স

  • Dalog dismissOnClickoutside ঠিক করুন ( 39a3d , b/364508685 )
  • ডায়ালগ বিষয়বস্তুর ছায়া ক্লিপ করবেন না ( e8e2f , b/363027803 )
  • কম্পোজ এবং একটি ভিউ ( 58377 , b/350534714 ) এর মধ্যে ফোকাস অনুসন্ধান সরে গেলে ভুল আচরণ ঠিক করুন

বাহ্যিক অবদান

  • AlignmentLines Map এখন VerticalAlignmentLine বা HorizontalAlignmentLine কংক্রিট প্রকারগুলি গ্রহণ করে। ( I02912 )
  • নতুন সাধারণ ByteArray.decodeToImageBitmap(): ImageBitmap পদ্ধতি। ( I83c21 )

সংস্করণ 1.8.0-alpha01

4 সেপ্টেম্বর, 2024

androidx.compose.ui:ui-*:1.8.0-alpha01 প্রকাশিত হয়েছে। সংস্করণ 1.8.0-alpha01-এ এই কমিট রয়েছে।

সংস্করণ 1.7

সংস্করণ 1.7.2

সেপ্টেম্বর 18, 2024

androidx.compose.ui:ui-*:1.7.2 প্রকাশিত হয়েছে। সংস্করণ 1.7.2-এ এই কমিটগুলি রয়েছে।

বাগ ফিক্স

  • ভার্বোস ট্রেসিং সরিয়ে অ্যাক্সেসিবিলিটি নোড তথ্য এবং শব্দার্থবিদ্যা ইভেন্টের পারফরম্যান্স উন্নত করা হয়েছে। ( I89156 , b/362530618 )
  • অসাধারণভাবে বড় পরিমাপের আকার পাস করলে ComposeView আর ক্র্যাশ হবে না ( da5db , b/347036173 )
  • একটি অ্যাক্সেসিবিলিটি স্ক্রিনরিডার সমস্যা সমাধান করা হয়েছে যেখানে বোতামগুলিতে LiveRegion ঘোষণা করা হয়নি। ( f66fa7 , b/348590026 )

সংস্করণ 1.7.1

10 সেপ্টেম্বর, 2024

  • অ্যান্ড্রয়েড শিল্পকর্মে কোনো পরিবর্তন নেই। -desktop আর্টিফ্যাক্টগুলি সরানো হয়েছে এবং -jvmStubs এবং -linuxx64Stubs আর্টিফ্যাক্টগুলি যোগ করা হয়েছে। এই লক্ষ্যগুলির কোনটিই ব্যবহার করার জন্য নয়, তারা জেটব্রেইন রচনার প্রচেষ্টাকে সাহায্য করার জন্য স্থানধারক।

সংস্করণ 1.7.0

4 সেপ্টেম্বর, 2024

androidx.compose.ui:ui-*:1.7.0 প্রকাশিত হয়েছে।

1.6.0 থেকে গুরুত্বপূর্ণ পরিবর্তন

সংস্করণ 1.7.0-এর গুরুত্বপূর্ণ পরিবর্তনগুলি এই ব্লগপোস্টে কভার করা হয়েছে।

সংস্করণ 1.7.0-rc01

আগস্ট 21, 2024

androidx.compose.ui:ui-*:1.7.0-rc01 প্রকাশিত হয়েছে। সংস্করণ 1.7.0-rc01-এ এই কমিট রয়েছে।

উল্লেখযোগ্য পরিবর্তন

  • ui:ui মডিউল এখন ফাউন্ডেশনের ন্যূনতম সংস্করণের প্রয়োজনীয়তাকে বাধ্য করে:ফাউন্ডেশন কমপক্ষে 1.7.0-rc01 বা নতুন হতে হবে। এটি 1.7.0-alpha01-এর প্রথম দিকে ঘটে যাওয়া NestedScrollSource পরিবর্তনের ক্ষেত্রে UI এবং ফাউন্ডেশনের মধ্যে আচরণের অসঙ্গতি প্রতিকারের জন্য প্রয়োগ করা হয়েছে।

সংস্করণ 1.7.0-beta07

7 আগস্ট, 2024

androidx.compose.ui:ui-*:1.7.0-beta07 প্রকাশিত হয়েছে। সংস্করণ 1.7.0-beta07-এ এই কমিট রয়েছে।

বাগ ফিক্স

  • টেক্সট ইনপুট সম্পর্কিত SemanticsNodeInteraction ফাংশনগুলি performTextReplacement , performTextInput , এবং performTextClearance এখন দাবী ত্রুটিগুলি ফেলতে চলেছে যখন সেগুলিকে শুধুমাত্র TextFields কল করা হয়৷ ( I4ae8f )

সংস্করণ 1.7.0-beta06

জুলাই 24, 2024

androidx.compose.ui:ui-*:1.7.0-beta06 প্রকাশিত হয়েছে। সংস্করণ 1.7.0-beta06-এ এই কমিট রয়েছে।

সংস্করণ 1.7.0-beta05

10 জুলাই, 2024

androidx.compose.ui:ui-*:1.7.0-beta05 প্রকাশিত হয়েছে। সংস্করণ 1.7.0-beta05-এ এই কমিট রয়েছে।

বাগ ফিক্স

  • একটি বাগ সংশোধন করা হয়েছে যেখানে সফ্টওয়্যার কীবোর্ড পরিবর্তন করার ফলে TextField ফোকাস হারিয়ে যাওয়া এবং ফিরে না আসা পর্যন্ত নতুন কীবোর্ড থেকে ইনপুট গ্রহণ করবে না।
  • SurfaceView বিষয়বস্তুর সাথে রেন্ডার করার সময় স্তরের বিষয়বস্তুগুলি অব্যাহত রাখার প্রচেষ্টা অনিচ্ছাকৃত পার্শ্ব প্রতিক্রিয়া সৃষ্টি করবে এমন একটি সমস্যা সমাধান করা হয়েছে।

সংস্করণ 1.7.0-beta04

জুন 26, 2024

androidx.compose.ui:ui-*:1.7.0-beta04 প্রকাশিত হয়েছে। 1.7.0-beta04 সংস্করণে এই কমিটগুলি রয়েছে।

বাগ ফিক্স

  • খুব বড় টেক্সট লাইন (যেমন 10k অক্ষর) পরিমাপ করার সময় ক্র্যাশ এড়িয়ে চলুন ( 8157ab )
  • GraphicsLayer API-এর জন্য সফ্টওয়্যার রেন্ডারিং সমর্থন অক্ষম করুন৷ ( 35ddd8 )
  • লেয়ার পারসিসটেন্স লজিকে ক্র্যাশের জন্য ঠিক করুন। ( 70b13e )
  • লেয়ার অবজেক্ট অপ্টিমাইজেশান পুনরায় ব্যবহার করা প্রত্যাবর্তন করা হয়েছে, কারণ এটি রেন্ডারিং সমস্যা সৃষ্টি করেছে। ( 70b13e )

সংস্করণ 1.7.0-beta03

জুন 12, 2024

androidx.compose.ui:ui-*:1.7.0-beta03 প্রকাশিত হয়েছে৷ 1.7.0-beta03 সংস্করণে এই কমিটগুলি রয়েছে।

সংস্করণ 1.7.0-beta02

29 মে, 2024

androidx.compose.ui:ui-*:1.7.0-beta02 প্রকাশিত হয়েছে। সংস্করণ 1.7.0-beta02-এ এই কমিট রয়েছে।

এপিআই পরিবর্তন

  • নাম পরিবর্তন করে SemanticsProperties.EditableIsEditable এবং SemanticsPropertyReceiver.editable val isEditable এ পরিবর্তন করা হয়েছে। সম্পত্তি এখন একটি বুলিয়ান এবং সর্বদা পাঠ্য ক্ষেত্র দ্বারা নির্দিষ্ট করা হয়। ( I8acd8 )
  • অ্যাক্সেসিবিলিটি বেঞ্চমার্ক প্যারামিটারের নাম পরিবর্তন করুন। ( I3d440 )
  • লিঙ্ক স্টাইল করার জন্য আপডেট করা API: TextLinkStyles এখন LinkAnnotation কনস্ট্রাক্টর এবং AnnotatedString.fromHtml পদ্ধতির অংশ ( I90b2b )। এছাড়াও উপাদান থেকে TextDefaults মুছে ফেলা হয়েছে ( I5477b )

বাগ ফিক্স

  • এর উদ্দেশ্যকে আরও ভালভাবে প্রতিফলিত করার জন্য LayoutCoordinates.introducesFrameOfReference নাম পরিবর্তন করে LayoutCoordinates.introducesMotionFrameOfReference করা হয়েছে। সেই পতাকার উপর ভিত্তি করে স্থানাঙ্ক গণনা করতে সম্পর্কিত ফাংশনের নাম পরিবর্তন করা হয়েছে। ( I3a330 )

সংস্করণ 1.7.0-beta01

14 মে, 2024

androidx.compose.ui:ui-*:1.7.0-beta01 প্রকাশিত হয়েছে। সংস্করণ 1.7.0-beta01-এ এই কমিট রয়েছে।

এপিআই পরিবর্তন

  • performCustomAccessibilityActionWithLabel এবং performCustomAccessibilityActionWhere performCustomAccessibilityActionWithLabelMatching জন্য performCustomAccessibilityActionLabelled পুনঃনামকরণ করা হয়েছে। ( I5387f )
  • AnnotatedString.hasEqualsAnnotations এখন hasEqualAnnotations ( I685c0 )
  • টেক্সটে মেটেরিয়াল থিমযুক্ত লিঙ্ক পাওয়ার জন্য API আপডেট করা হয়েছে। বিশেষত, থিমযুক্ত LinkAnnotations এবং থিমযুক্ত লিঙ্কগুলির সাথে HTML পার্স করার জন্য TextDefaults থেকে পদ্ধতিগুলি সরিয়ে দেওয়া হয়েছে। পরিবর্তে, একটি TextLinkStyles ক্লাস যোগ করা হয়েছে যা টেক্সট কম্পোজেবলের প্যারামিটার হিসাবে লিঙ্কগুলিকে স্টাইল করার অনুমতি দেয়। ( I31b93 )

বাগ ফিক্স

  • ইভেন্ট 63e1504 চলাকালীন গতিশীলভাবে পয়েন্টার ইনপুট সংশোধক যোগ করার সময় অতিরিক্ত ব্যবহারের ক্ষেত্রে সংশোধন করে

সংস্করণ 1.7.0-alpha08

1 মে, 2024

androidx.compose.ui:ui-*:1.7.0-alpha08 প্রকাশিত হয়েছে। সংস্করণ 1.7.0-alpha08-এ এই কমিট রয়েছে।

এপিআই পরিবর্তন

  • পরিবর্তনযোগ্য আকৃতি বাস্তবায়নের জন্য সমর্থন যোগ করে। Shape#createOutline এখন গ্রাফিক্স স্তরের মধ্যে পরিলক্ষিত হয়, তাই ভিতরের রাষ্ট্রীয় মানগুলি পড়ার ফলে যখন রাষ্ট্র পরিবর্তন হয় তখন অবৈধ হয়ে যায়, যা আরও কার্যক্ষম আকৃতির অ্যানিমেশনের অনুমতি দেয়। ( Id1629 , b/326070216 )
  • introducesFrameOfReference জন্য isPositionedByParentWithDirectManipulation নাম পরিবর্তন করা হয়েছে। মনে রাখবেন যে এটির এখন বিপরীত প্রভাব রয়েছে, যার অর্থ ডিফল্টরূপে, বেশিরভাগ LayoutCoordinates রেফারেন্সের একটি ফ্রেম প্রবর্তন করে এবং, শুধুমাত্র যখন সরাসরি ম্যানিপুলেশনের অধীনে স্থাপন করা হয় তখন সম্পত্তিটি মিথ্যা হবে। শুধুমাত্র একটি রেফারেন্সের ফ্রেম প্রবর্তনকারীর সাথে অবস্থান অনুসন্ধান করতে, positionInLocalFrameOfReference(...) ব্যবহার করুন। অথবা একটি LookaheadScope থেকে positionInLocalLookaheadFrameOfReference । ( ifc5f7 )
  • LookaheadScope API গুলিকে স্থিতিশীল করা হয়েছে ( I21507 )
  • API কাউন্সিল প্রতিক্রিয়া অনুযায়ী getScrollViewportLength এর জন্য অ্যাকশন ল্যাম্বডা পরিবর্তন করুন। ( Ibc74a )
  • int-এর পরিবর্তে ফ্লোট প্যারামিটার ব্যবহার করার জন্য GraphicsLayer রূপরেখা APIs আপডেট করা হয়েছে। ফ্লোট ভিত্তিক অফসেট এবং সাইজ ইনলাইন ক্লাসে ইতিমধ্যে বিদ্যমান অনির্দিষ্ট ধ্রুবকগুলির পক্ষে UnsetOffset/UnsetSize IntSize সেন্টিনেল মানগুলি সরানো হয়েছে ( I2fb03 , b/333863462 )
  • পরীক্ষার সময় মাউস ইনপুট ইনজেকশন করার সময়, MouseInjectionScope.click() , MouseInjectionScope.doubleClick() , MouseInjectionScope.tripleClick() , MouseInjectionScope.longClick() এখন একটি button: MouseButton পরামিতিগুলিকে আরও ইউনিলিক করার জন্য অ্যাপটিকে আরও যোগ্য করে তোলে৷ ডিফল্ট মান হল MouseButton.Primary . সকল পদ্ধতির জন্য প্রাথমিক। ( I31a23 , b/190493367 , b/261439695 )
  • LinkInteractionListener ভিতরে onClicked থেকে onClick নাম পরিবর্তন করা হয়েছে। ( IAA35c )
  • TextInclusionStrategy.isInside এর নাম পরিবর্তন করে isIncluded করুন। Paragraph/MultiParagraph#getRangeForRect() রিটার্ন টাইপটি বাতিলযোগ্য নয়। ( I51f26 )

বাগ ফিক্স

  • reverseScrolling=true সহ পাত্রে স্ক্রল করার জন্য স্থায়ী দীর্ঘ স্ক্রিনশট ক্যাপচার। ( I7c59c )

বাহ্যিক অবদান

  • নেস্টেড LazyLists এ আইটেম প্রিফেচ করার জন্য সমর্থন যোগ করা হয়েছে (যেমন একটি LazyColumn যা নেস্টেড LazyRows রেন্ডার করে)। এই LazyLists জন্য স্ক্রল করার সময় এই পরিবর্তনটি ফ্রেম ড্রপ কমিয়ে দেবে বলে আশা করা হচ্ছে। বাস্তবায়ন ডিফল্ট হল প্রথম 2টি নেস্টেড আইটেম প্রিফেচ করা, তবে এই আচরণটি নতুন LazyLayoutPrefetchStrategy(nestedPrefetchItemCount) এবং LazyListPrefetchStrategy#onNestedPrefetch APIs দ্বারা নিয়ন্ত্রিত হতে পারে। ( I51952 )

সংস্করণ 1.7.0-alpha07

এপ্রিল 17, 2024

androidx.compose.ui:ui-*:1.7.0-alpha07 প্রকাশিত হয়েছে। সংস্করণ 1.7.0-alpha07-এ এই কমিট রয়েছে।

এপিআই পরিবর্তন

  • ClickableText অবচিত হিসাবে চিহ্নিত করা হয়েছে। পাঠ্যটিতে লিঙ্ক যুক্ত করতে, আপনার লিঙ্কের সাথে সম্পর্কিত একটি LinkAnnotation সহ একটি AnnotatedString তৈরি করুন এবং এই AnnotatedString পাঠ্য রচনাযোগ্যটিতে পাস করুন। ( I34d4b , b/323346994 )
  • হাতের লেখার অঙ্গভঙ্গির জন্য ViewConfiguration.HandwritingGestureLineMargin প্রবর্তন করুন। BasicTextField জন্য JoinOrSplit অঙ্গভঙ্গি সমর্থন করুন ( Ie6e13 , b/325660505 )
  • FocusProperties.enter এবং FocusProperties.exit আর পরীক্ষামূলক নয়। FocusDirection.Enter এবং FocusDirection.Exit আর পরীক্ষামূলক নয়৷ FocusRequester.Cancel আর পরীক্ষামূলক নয় ( I461a1 , b/261564106 )
  • লেআউট স্থানাঙ্ক অনুসন্ধান করার সময়, আপনি এখন প্যারেন্ট লেআউট দ্বারা সেট করা অফসেট বাদ দিতে excludeDirectManipulationOffset আর্গুমেন্ট ব্যবহার করতে পারেন যা Placeable.PlacementScope.withDirectManipulationPlacement ব্যবহার করে তাদের সন্তানদের রেখেছে। একইভাবে, একটি লেআউট যা তার বাচ্চাদের অবস্থান ঘন ঘন পরিবর্তন করে এখন withDirectManipulationPlacement (যেমন স্ক্রোল, ডিফল্টরূপে বাস্তবায়িত) ব্যবহার করে তাদের স্থাপন করতে পারে। এটি অ্যানিমেট করার জন্য কী অফসেট করতে হবে এবং তাদের পদ্ধতির অ্যানিমেট করার সিদ্ধান্ত নেওয়ার সময় সরাসরি কী প্রয়োগ করতে হবে তা আলাদা করার সুযোগ পেয়ে এটি approachLayout ভিত্তিক অ্যানিমেশনগুলিকে আরও স্বজ্ঞাত হতে সাহায্য করে৷ ( I60ec7 )
  • দীর্ঘ স্ক্রিনশটগুলির জন্য বৈশিষ্ট্য পতাকা সরানো হয়েছে৷ ( I28648 , b/329128246 )
  • LazyColumn এখন লম্বা স্ক্রিনশটে স্টিকি হেডার সঠিকভাবে রেন্ডার করবে। ( I8d239 , b/329296635 )
  • NestedScroll উত্সগুলির বর্ধিত সংজ্ঞা যা এখন অ্যানিমেশন (সাইড ইফেক্ট) এবং মাউস হুইল এবং কীবোর্ড ( UserInput ) অন্তর্ভুক্ত করে সেই উত্সগুলির বর্ধিত সংজ্ঞার জন্য মিটমাট করতে UserInput এবং SideEffect দ্বারা ড্র্যাগ এবং ফ্লিং প্রতিস্থাপিত হচ্ছে৷ ( I40579 )
  • পুরানো isMeasurementApproachComplete() এবং isPlacementApproachInProgress() প্রতিস্থাপন করতে নতুন isMeasurementApproachInProgress() এবং isPlacementApproachInProgress isPlacementApproachComplete() সহ ApproachLayoutModifierNode এবং Modifier.approachLayout এখন স্থিতিশীল।
  • অপসারিত intermediateLayout সংশোধক সরানো হয়েছে৷ ( I3e91c )
  • RenderNode এবং পিকচারের মতো ডিসপ্লেলিস্ট ব্যাকড API-এর শুরু/শেষ রেকর্ডিং পদ্ধতিগুলিকে মিরর করতে রেকর্ড করতে GraphicsLayer#buildLayer পুনঃনামকরণ করুন।
  • rememberObserver লিভারেজ করার জন্য rememberGraphicsLayer আপডেট করা হয়েছে। ( I312c1 , b/288494724 , b/330758155 )
  • UrlAnnotation বাতিল করা হয়েছে, পরিবর্তে LinkAnnotation.Url ব্যবহার করুন। আপনি যদি ম্যাটেরিয়াল থিমিং ব্যবহার করে থাকেন, তাহলে TextDefaults অবজেক্ট ব্যবহার করুন যাতে ম্যাটেরিয়াল থিমিং এর সাথে টীকা তৈরি করা যায় ( I8d180 , b/323346545 )
  • সাধারণ স্টাইলিং ছাড়াও টেক্সট লিঙ্কগুলি চাপানো স্টেট স্টাইলিং বিকল্প পেয়েছে, হোভার করা এবং ফোকাস করা হয়েছে ( I5f864 , b/139312671 )
  • String.parseAsHtml নাম পরিবর্তন করে AnnotatedString.Companion.fromHtml করা হয়েছে। ( I43dcd )
  • parseAsHtml পদ্ধতিতে স্টাইলিং আর্গুমেন্ট ( linkStyle , focusedLinkStyle , hoveredLinkStyle ) এবং একটি লিঙ্ক ইন্টারঅ্যাকশন লিসেনার যোগ করা হয়েছে। HTML-ট্যাগযুক্ত স্ট্রিংকে <a> ট্যাগের সাথে পার্স করার সময়, পদ্ধতিটি এই জাতীয় প্রতিটি ট্যাগের জন্য একটি LinkAnnotation.Url তৈরি করবে এবং প্রতিটি টীকাতে স্টাইলিং অবজেক্ট এবং লিঙ্ক ইন্টারঅ্যাকশন লিসেনারকে পাস করবে। ( I7c977 )
  • LinkAnnotation এখন স্টেট-ভিত্তিক স্টাইলিং আর্গুমেন্ট এবং একটি LinkInteractionListener নেয়। একটি হাইপারলিঙ্ক পেতে AnnotatedString এ এই টীকা যোগ করুন। focusedState এবং/অথবা hoveredState পাস করে আপনি লিঙ্কগুলির জন্য ভিজ্যুয়াল configuration নির্ধারণ করতে পারেন যখন সেগুলি ফোকাস করা হয় এবং/অথবা হোভার করা হয়। ( I81ce4 , b/139312671 )
  • ImeOptions.hintLocales আর বাতিলযোগ্য নয়। আপনি যদি একটি খালি লোকেল তালিকা পাস করতে চান, তাহলে অনুগ্রহ করে LocaleList.Empty ব্যবহার করুন। ( IC5bc4 )

বাগ ফিক্স

  • সুন্দরভাবে খারাপ/দুর্নীতিগ্রস্ত ঐতিহাসিক ইনপুট ইভেন্ট ডেটা পরিচালনা করে (খারাপ অফসেট ডেটা উপেক্ষা করে)।
  • একটি সক্রিয় পয়েন্টার ইনপুট ইভেন্ট স্ট্রীমের সময় যখন একটি পয়েন্টার ইনপুট সংশোধক অন্য একটি পয়েন্টার ইনপুট সংশোধকের আগে গতিশীলভাবে যোগ করা হয় তখন অপ্রত্যাশিত পয়েন্টার ইভেন্টগুলি ঠিক করে (উদাহরণস্বরূপ, একটি হোভার এন্টার এবং হোভার প্রস্থান [মাউস/স্টাইলাস] এর মধ্যে)।

সংস্করণ 1.7.0-alpha06

3 এপ্রিল, 2024

androidx.compose.ui:ui-*:1.7.0-alpha06 প্রকাশিত হয়েছে। সংস্করণ 1.7.0-alpha06-এ এই কমিট রয়েছে।

নতুন বৈশিষ্ট্য

  • স্টাইল করা স্ট্রিংগুলির জন্য parseAsHtml পদ্ধতি যোগ করা হয়েছে: এটি HTML ট্যাগ দ্বারা চিহ্নিত একটি স্ট্রিংকে AnnotatedString এ রূপান্তর করতে দেয়। মনে রাখবেন যে সমস্ত ট্যাগ সমর্থিত নয়, উদাহরণস্বরূপ আপনি এখনও বুলেট তালিকা প্রদর্শন করতে সক্ষম হবেন না। ( I84d3d , I30626 , b/139326648 )
  • অফিসিয়াল Android API ( ScrollCaptureCallback ) ব্যবহার করে কম্পোজ স্ক্রোল পাত্রে দীর্ঘ স্ক্রিনশটগুলির জন্য পরীক্ষামূলক সমর্থন প্রয়োগ করা হয়েছে। এই বৈশিষ্ট্যটি পরীক্ষামূলক এবং বর্তমানে সমস্ত ক্ষেত্রে সঠিকভাবে পরিচালনা নাও করতে পারে৷ যে কারণে এটি বর্তমানে ডিফল্টরূপে অক্ষম করা হয়েছে। অপ্ট-ইন করতে, ComposeFeatureFlag_LongScreenshotsEnabled পতাকাটিকে সত্যে সেট করুন৷ ( I2b055 , b/329296471 )

এপিআই পরিবর্তন

  • fun ClipEntry.getMetadata() val ClipEntry.clipMetadata এ পরিবর্তিত হয়েছে। ( I50155 )
  • ClipboardManager.getClipMetadata এবং ClipboardManager.hasClip ফাংশন সরানো হয়েছে। বর্তমান ক্লিপ এন্ট্রির মেটাডেটা পড়তে অনুগ্রহ করে clipEntry.getMetadata() ব্যবহার করুন। এছাড়াও ClipboardManager.getClip এর ফলাফল পরীক্ষা করুন যদি এটি শূন্য হয় বা না বোঝার জন্য ক্লিপবোর্ডে বর্তমান ক্লিপ আছে কিনা। ( I50498 )
  • এখন আপনি GraphicsLayer অবজেক্টকে placeable.placeWithLayer() ফাংশনে পাস করতে পারেন ( I1b22f )
  • ClipboardManager.setClip এখন ক্লিপবোর্ড সাফ করতে সক্ষম হওয়ার জন্য নাল গ্রহণ করে। ( I7d2e9 )
  • বিল্ড টুলিং ( I99531 ) এর মধ্যে বাস্তবায়নের বিবরণ হিসাবে ব্যবহৃত ভিউ লুকিয়ে রাখতে সহায়তার জন্য রিসোর্স আইডি যোগ করা হয়েছে
  • GraphicsLayer#toImageBitmap সাসপেন্ড পদ্ধতি যোগ করা হয়েছে একটি GraphicsLayer এ বিটম্যাপের বিষয়বস্তু রেন্ডারিং সমর্থন করার জন্য। এটি API স্তর 22+ (অন্তর্ভুক্ত) এ একটি হার্ডওয়্যার এক্সিলারেটেড রেন্ডারিং অপারেশন যা সমস্ত অ্যান্ড্রয়েড ডিভাইসের 99% এরও বেশি সমর্থন করে। অ্যান্ড্রয়েড এপিআই লেভেল 21-এ এটি সফ্টওয়্যার রেন্ডারিং-এ ফিরে আসে। ( I9e114 )
  • একটি Android RectF ComposeRect ( I39925 , b/325660505 ) তে রূপান্তর করার সহায়ক পদ্ধতি
  • সমস্ত KeyboardOptions প্যারামিটারের এখন ডিফল্টরূপে একটি অনির্দিষ্ট মান রয়েছে। KeyboardOptions.merge পদ্ধতি যোগ করা হয়েছে।
  • KeyboardOptions.autoCorrect থেকে autoCorrectEnabled এ পুনঃনামকরণ করা হয়েছে এবং এটিকে বাতিলযোগ্য করা হয়েছে, যেখানে নাল নির্দেশ করে কোনো মান নির্দিষ্ট করা হয়নি। ( IA8ba0 , b/295951492 )
  • BasicTextField(state) ভেরিয়েন্ট এবং BasicSecureTextField এখন সফ্টওয়্যার কীবোর্ড দ্বারা গৃহীত পদক্ষেপগুলি প্রক্রিয়া করতে KeyboardActions এর পরিবর্তে KeyboardActionHandler ব্যবহার করে। ( I58dda )

সংস্করণ 1.7.0-alpha05

20 মার্চ, 2024

androidx.compose.ui:ui-*:1.7.0-alpha05 প্রকাশিত হয়েছে। সংস্করণ 1.7.0-alpha05-এ এই কমিট রয়েছে।

নতুন বৈশিষ্ট্য

  • একটি ডিসপ্লে তালিকায় অঙ্কন কমান্ড রেকর্ড করতে নতুন GraphicsLayer API প্রবর্তন করুন সেইসাথে অতিরিক্ত বৈশিষ্ট্য যা প্রদর্শন তালিকার রেন্ডারিংকে প্রভাবিত করে। এটি একটি জটিল দৃশ্যকে ছোট ছোট অংশে বিভক্ত করার জন্য একটি বিচ্ছিন্নতার সীমানা প্রদান করে যা সম্পূর্ণ দৃশ্যটি পুনরায় তৈরি না করে একে অপরের পৃথকভাবে আপডেট করা যেতে পারে। GraphicsLayer করা রূপান্তরগুলি প্রদর্শন তালিকা পুনরায় রেকর্ড না করেই করা যেতে পারে। Modifier.graphicsLayer বিপরীতে, GraphicsLayer অন্য কোথাও কম্পোজযোগ্য বিষয়বস্তু রেন্ডার করার অনুমতি দেয় এবং অ্যানিমেটেড ব্যবহারের ক্ষেত্রে উপযোগী যেখানে বিষয়বস্তু বিভিন্ন দৃশ্যে রেন্ডার হওয়ার আশা করা হয়।

এপিআই পরিবর্তন

  • GraphicsLayer.draw(Canvas) আর পাবলিক এপিআই নয়। অনুগ্রহ করে স্তরটি আঁকার পরিবর্তে DrawScope.drawLayer(GraphicsLayer) এক্সটেনশন ফাংশন ব্যবহার করুন। ( I7a7c0 )
  • restrictedConstraints() দুটি পদ্ধতিতে বিভক্ত করুন: fitPrioritizingWidth() এবং fitPrioritizingHeight() ( I6d7fd )
  • Android L ব্যবহারের জন্য HardwareCanvas স্টাব চালু করা হয়েছে ( I1c3b5 , b/288494724 )
  • স্কোপড অ্যাক্সেসের জন্য GraphicsContext এ অ্যাক্সেস এক্সপোজ করার জন্য মালিক, DelegateableNode এবং drawWithCache সংশোধক বাস্তবায়ন আপডেট করার পাশাপাশি একটি GraphicsContext কম্পোজিশন প্রকাশ করতে কম্পোজ ফ্রেমওয়ার্ক আপডেট করুন যা Modfiers ছিঁড়ে গেলে স্বয়ংক্রিয়ভাবে GraphicsLayer দৃষ্টান্তগুলি পরিষ্কার করবে। ( I64a2f , b/288494724 )
  • নিম্ন-স্তরের IME-সম্পর্কিত পরীক্ষা এবং অন্যান্য নিম্ন-স্তরের IME ব্যবহারের ক্ষেত্রে লিখতে সাহায্য করার জন্য InterceptPlatformTextInput চালু করা হয়েছে। PlatformTextInputTestOverride বাতিল করা হয়েছে। ( I862ed , b/322680547 )
  • GraphicsLayer.setOutline(Outline) এক্সটেনশন ফাংশন যোগ করা হয়েছে। ( Ib81f4 )
  • GraphicsLayer দৃষ্টান্ত তৈরি করার জন্য একটি কারখানা তৈরি করতে GraphicsContext ফাংশন কনস্ট্রাক্টর প্রবর্তন করুন ( Ib98d6 , b/288494724 )
  • এক্সপোজড GraphicsLayer API ড্রয়িং কমান্ড ক্যাপচার করার ক্ষেত্রে ডেভেলপারকে সংজ্ঞায়িত নমনীয়তা প্রদান করে যা অন্য কোথাও আঁকার জন্য ব্যবহার করা যেতে পারে এবং শেষ ফলাফলে বিভিন্ন ভিজ্যুয়াল এফেক্টও প্রয়োগ করতে পারে। ( I80245 , b/288494724 )
  • Paragraph#getRangeForRect উপস্থাপন করুন যা একটি প্রদত্ত আয়তক্ষেত্র এলাকা দ্বারা আচ্ছাদিত পাঠ্যের একটি পরিসীমা প্রদান করে। ( Iee516 , b/325660505 )
  • onLinkClicked যুক্তি দিয়ে BasicText এর পরীক্ষামূলক ওভাররাইড সরানো হয়েছে। হাইপারলিঙ্ক সমর্থনের জন্য একটি প্রতিস্থাপন API ভবিষ্যতে অনুসরণ করবে। ( I107d5 )

বাগ ফিক্স

  • ঐচ্ছিক কম্পোজিটিং ভিজ্যুয়াল ইফেক্ট এবং রূপান্তর সহ অঙ্কন কমান্ডের ক্যাপচারিং এবং রিপ্লেতে সমর্থন করার জন্য GraphicsLayer প্রত্যাশা/প্রকৃত API সংজ্ঞা যোগ করা হয়েছে। GraphicsLayer দৃষ্টান্ত তৈরি এবং পরিচালনা সহ গ্রাফিক্স নির্ভরতা ধারণ করতে GraphicsContext ইন্টারফেস প্রবর্তন করুন। ( I4a8d6 , b/288494724 )
  • 1D ফোকাস অনুসন্ধানের সাথে একটি ইন্টারপ সমস্যা সমাধান করা হয়েছে যেখানে ফোকাস একটি ComposeView আটকে যাবে যা অন্যান্য ভিউগুলির মধ্যে এমবেড করা হয়েছিল। ( I08fd4 )

বাহ্যিক অবদান

  • LocalLifecycleOwner কম্পোজ UI থেকে lifecycle-runtime-compose স্থানান্তরিত হয়েছে যাতে এর রচনা-ভিত্তিক সহায়ক APIগুলি রচনা UI এর বাইরে ব্যবহার করা যেতে পারে। অবদানের জন্য ধন্যবাদ Jake Wharton. ( I6c41b , b/328263448 )
  • সব পক্ষপাত-ভিত্তিক প্রান্তিককরণ সাব-টাইপগুলিতে ধারাবাহিকভাবে বায়াস ফ্লোট বৈশিষ্ট্যগুলি প্রকাশ করুন। ( I69f0f , b/328088992 )

সংস্করণ 1.7.0-alpha04

6 মার্চ, 2024

androidx.compose.ui:ui-*:1.7.0-alpha04 প্রকাশিত হয়েছে। সংস্করণ 1.7.0-alpha04-এ এই কমিট রয়েছে।

এপিআই পরিবর্তন

  • Android U. ( I002e4 ) এর পরে ডিভাইসগুলিতে বেসিক টেক্সটফিল্ড2-এর জন্য স্টাইলাস হস্তাক্ষর বৈশিষ্ট্য সমর্থন করে
  • এই CL-তে আমরা GetScrollViewportLength শব্দার্থিক ক্রিয়া যুক্ত করছি যাতে আমরা a11y সিস্টেমে কম্পোজে স্ক্রোল করা উপাদানগুলির সম্পর্কে তথ্য পাইপ করতে পারি। এই CL ফাউন্ডেশন স্ক্রোলযোগ্য তালিকায় উল্লিখিত সম্পত্তির ব্যবহারও প্রযোজ্য। ( IC5fa2 )
  • FocusRequester.createRefs এখন স্থিতিশীল ( I4d92c , b/261436820 )
  • সংশোধক নোডগুলিকে স্থানীয় কম্পোজিশন না পড়ে বর্তমান অ্যান্ড্রয়েড View পেতে অনুমতি দেওয়ার জন্য DelegatableNode.requireView() চালু করা হয়েছে৷ ( I40768 )
  • নতুন API Path.reverse() একটি পথের দিক পরিবর্তন করতে ( I36348 )
  • একটি পছন্দের ভাষা প্রিসেট করতে নির্দিষ্ট লোকেল সহ IME গুলিকে ইঙ্গিত করার ক্ষমতা সহ TextFields প্রদান করতে KeyboardOptionshintLocales যোগ করা হয়েছে৷
  • Locale থেকে platformLocale প্রপার্টি প্রকাশ করুন যা অন্তর্নিহিত প্ল্যাটফর্ম অবজেক্ট প্রদান করে, যেমন java.util.Locale । ( I921c6 )

সংস্করণ 1.7.0-alpha03

21 ফেব্রুয়ারি, 2024

androidx.compose.ui:ui-*:1.7.0-alpha03 প্রকাশিত হয়েছে। সংস্করণ 1.7.0-alpha03 এই কমিট ধারণ করে।

এপিআই পরিবর্তন

  • MaxLines এবং ওভারফ্লো সহ ContextualFlowRow এবং বর্ধিত FlowRow / Column প্রবর্তন করা হচ্ছে। আমরা ContextualFlowRow এবং ContextualFlowColumn এর আত্মপ্রকাশের পাশাপাশি, এখন maxLines এবং ওভারফ্লো সমর্থন সমন্বিত পরীক্ষামূলক FlowRow এবং FlowColumn এ বর্ধিতকরণ ঘোষণা করতে পেরে উত্তেজিত। এই আপডেটটি পারফরম্যান্সের সর্বোত্তম উপাদান প্রদান করার জন্য ডিজাইন করা হয়েছে, যেখানে ContextualFlow* একটি ছোট maxLines কনফিগারেশন এবং গতিশীল +N আরও বোতাম ব্যবহার করে প্রচুর সংখ্যক আইটেমের জন্য উপযুক্ত, এবং FlowRow এবং FlowColumn অল্প সংখ্যক আইটেমের জন্য উপযুক্ত, কম 100 টিরও বেশি আইটেম। গুরুত্বপূর্ণ: FlowRow বা FlowColumn এ বিদ্যমান আচরণ বজায় রাখার জন্য যেখানে সমস্ত আইটেম তৈরি করা হয়েছে তা নির্বিশেষে তারা ক্রস অক্ষের সর্বোচ্চ মাপসই করে, overflow সেট করুন FlowRowOverflow.Visible বা FlowColumnOverflow.Visible .প্রাথমিককরণের সময় দৃশ্যমান। ক্রিয়াশীল এই নতুন বৈশিষ্ট্যগুলির উদাহরণগুলির জন্য ContextualFlowRowSample এবং FlowRowSample অন্বেষণ করুন৷ ( Ib9135 , b/293577082 )
  • maxTextLength শব্দার্থবিদ্যা বৈশিষ্ট্য যোগ করুন যা পাঠ্য ক্ষেত্রে সেট করা উচিত যা সর্বাধিক অনুমোদিত সংখ্যক অক্ষর ফিল্টার করে। ( I24d9f , b/170648072 )
  • Modifier.inspectable র‍্যাপারটি বাতিল করা হয়েছে৷ এই API প্রয়োজনের তুলনায় আপনার সংশোধককে আরও বেশি অবৈধতা তৈরি করবে, তাই এটির ব্যবহার এখন নিরুৎসাহিত করা হচ্ছে। ডেভেলপারদেরকে ModifierNodeElementinspectableProperties() পদ্ধতি প্রয়োগ করতে উৎসাহিত করা হয় যদি তারা টুলিং-এ সংশোধক বৈশিষ্ট্যগুলি প্রকাশ করতে চায়। ( Ib3236 )
  • PopupProperties এর জন্য নতুন কনস্ট্রাক্টর যা WindowManager.LayoutParams ফ্ল্যাগের উপর সম্পূর্ণ নিয়ন্ত্রণের অনুমতি দেয়। ( Ibb33e , b/312485503 )
  • একটি Modifier.Node এর বর্তমান LayoutCoordinates পেতে একটি উপায় হিসাবে DelegatableNode.requireLayoutCoordinates() চালু করা হয়েছে onPlaced ওভাররাইড করার প্রয়োজন ছাড়াই এবং স্থানাঙ্কগুলিকে একটি সম্পত্তিতে সঞ্চয় করার প্রয়োজন নেই৷ ( IA8657 )
  • একটি Modifier.Node পাওয়ার উপায় হিসাবে DelegatableNode.currentLayoutCoordinates প্রবর্তন করা হয়েছে। onPlaced ওভাররাইড করার প্রয়োজন ছাড়াই নোডের বর্তমান LayoutCoordinates নিজে একটি সম্পত্তিতে স্থানাঙ্কগুলি সংরক্ষণ করা হয়েছে। ( আইয়াইবা )
  • androidx.compose.foundation.text2 প্যাকেজের অধীনে BasicTextField2 এবং সম্পর্কিত APIগুলিকে androidx.compose.foundation.text এ সরানো হয়েছে। ( I9f635 )
  • একটি সুস্পষ্ট পরিবর্তনকারী নোডে কাস্টম পদ্ধতির যুক্তি তৈরি করতে সমর্থন করার জন্য একটি নতুন ApproachLayoutModifierNode API যোগ করা হয়েছে৷ এছাড়াও অ্যানিমেশনগুলির জন্য একটি নতুন পরীক্ষামূলক DeferredTargetAnimation API যোগ করা হয়েছে যার লক্ষ্য তাত্ক্ষণিকভাবে অজানা। ( I60745 )
  • একটি পাথের দিকনির্দেশ অনুসন্ধান করতে এবং একটি Path থেকে কনট্যুরগুলি বের করতে নতুন Path API। ( I63d04 )
  • একটি Path একটি নির্দিষ্ট বিন্দু রয়েছে কিনা তা পরীক্ষা করতে PathHitTest এবং Path.contains(Offset) যোগ করা হয়েছে। ( I3b218 )
  • TextLayoutResult এখন getLineBaseline(lineIndex) পদ্ধতিটি প্রকাশ করে। এটি বিদ্যমান সুবিধার বৈশিষ্ট্যগুলি firstBaseline এবং lastBaseline ছাড়াও পাঠ্যের একটি নির্বিচারী লাইনের বেসলাইন পড়ার অনুমতি দেয়। ( Ide4e8 , b/237428541 )
  • শুধুমাত্র দুটি AnnotatedStrings এর টীকা তুলনা করার পদ্ধতি যোগ করা হয়েছে। ( I32659 )

বাগ ফিক্স

  • SemanticsPropertyReceiver.performImeAction এবং SemanticsActions.PerformImeAction এর সাথে একটি পিছনের সামঞ্জস্যের সমস্যা সমাধান করা হয়েছে। ( Id0528 , b/322269946 )

সংস্করণ 1.7.0-alpha02

7 ফেব্রুয়ারি, 2024

androidx.compose.ui:ui-*:1.7.0-alpha02 প্রকাশিত হয়েছে। সংস্করণ 1.7.0-alpha02 এই কমিট ধারণ করে।

এপিআই পরিবর্তন

  • SemanticsPropertyReceiver.performImeAction এর সাথে একটি বাইনারি সামঞ্জস্যের সমস্যা সমাধান করা হয়েছে। ( I65865 , b/322269946 )
  • PopupProperties কনস্ট্রাক্টর যেটি একটি usePlatformDefaultWidth প্যারামিটার নেয় সেটি আর পরীক্ষামূলক নয়। ( I8f8d2 )
  • ComposeTestRule.waitUntil এর একটি ওভারলোড যোগ করা হয়েছে যা টাইমআউট বার্তায় অন্তর্ভুক্ত করার জন্য শর্তের একটি স্ট্রিং বিবরণ নেয়। ( I9413e )
  • একই সংশোধক শৃঙ্খলে যোগ করা শব্দার্থবিদ্যা বৈশিষ্ট্যগুলি সরাতে নতুন শব্দার্থবিদ্যা API unset() । নতুন শব্দার্থবিদ্যা সম্পত্তি isOpaque . ( I8c583 , b/317966058 , b/246056649 )
  • PointerInputChange এর সর্বজনীন API-এ অনুলিপি পদ্ধতি থেকে originalEventPosition সরানো হয়েছে। ( আই 7 বিড )

বাগ ফিক্স

  • একটি a11y বাগ সংশোধন করা হয়েছে যা নির্বাচন করার সময় অ-ট্যাব এবং অ-রেডিও বোতামগুলিকে ক্লিকযোগ্য হতে দেয়। ( I2181c )
  • VelocityTracker এখন ডিফল্টরূপে পয়েন্ট যোগ করার জন্য ফিক্স থাকবে। কোনো সমস্যা থাকলে VelocityTrackerAddPointsFix কে মিথ্যা সেট করে ফিক্স এখনও বন্ধ করা যেতে পারে। ( Ib3877 , b/269487059 )
  • TextStyle এবং ParagraphStyle এ পিছনের দিকে বাইনারি অসঙ্গতি স্থির করা হয়েছে। ( I179f0 , b/320819734 )

বাহ্যিক অবদান

  • প্ল্যাটফর্ম-নির্দিষ্ট পরামিতি ছাড়াই একটি নতুন DialogProperties কনস্ট্রাক্টর যোগ করা হয়েছে। ( I45829 )
  • প্ল্যাটফর্ম-নির্দিষ্ট পরামিতি ছাড়াই একটি নতুন PopupProperties কনস্ট্রাক্টর যোগ করা হয়েছে। ( I9a038 )

সংস্করণ 1.7.0-alpha01

24 জানুয়ারী, 2024

androidx.compose.ui:ui-*:1.7.0-alpha01 প্রকাশিত হয়েছে। সংস্করণ 1.7.0-alpha01 এই কমিট ধারণ করে।

এপিআই পরিবর্তন

  • ClipEntry এবং ClipMetadata যোগ করে ClipboardManager প্রসারিত করা হয়েছে ছবির মতো নির্বিচারে বিষয়বস্তুকে সমর্থন করার জন্য।
  • DeviceConfigurationOverride এপিআই ui-test যোগ করে যাতে স্থানীয়ভাবে পরীক্ষার অধীনে সামগ্রীর আচরণকে ওভাররাইড করার অনুমতি দেওয়া হয়, যেমন একটি উপলব্ধ আকার, লোকেল, লেআউট দিকনির্দেশ, ফন্ট স্কেল বা থিম নির্দিষ্ট করা।

সংস্করণ 1.6

সংস্করণ 1.6.8

জুন 12, 2024

androidx.compose.ui:ui-*:1.6.8 প্রকাশিত হয়েছে। সংস্করণ 1.6.8-এ এই কমিটগুলি রয়েছে।

বাগ ফিক্স

  • ফন্ট স্কেল সর্বনিম্ন সংজ্ঞায়িত সারণী থেকে কম হলে ফন্ট স্কেলিং-এ স্থির অসঙ্গতি। এই ক্ষেত্রে, আমরা এখন রৈখিক 1x স্কেল এবং সর্বনিম্ন সংজ্ঞায়িত টেবিলের মধ্যে ইন্টারপোলেট করি, যাতে স্কেল বাড়ার সাথে সাথে ফন্টের আকার একঘেয়েভাবে বৃদ্ধি পায়। ( Icbae3 )

সংস্করণ 1.6.7

1 মে, 2024

androidx.compose.ui:ui-*:1.6.7 প্রকাশিত হয়েছে। সংস্করণ 1.6.7-এ এই কমিটগুলি রয়েছে।

সংস্করণ 1.6.6

এপ্রিল 17, 2024

androidx.compose.ui:ui-*:1.6.6 প্রকাশিত হয়েছে। সংস্করণ 1.6.6-এ এই কমিট রয়েছে।

বাগ ফিক্স

  • একটি বিরল BasicTextField ক্র্যাশ সংশোধন করে।

সংস্করণ 1.6.5

3 এপ্রিল, 2024

androidx.compose.ui:ui-*:1.6.5 প্রকাশিত হয়েছে। সংস্করণ 1.6.5-এ এই কমিটগুলি রয়েছে।

সংস্করণ 1.6.4

20 মার্চ, 2024

androidx.compose.ui:ui-*:1.6.4 প্রকাশিত হয়েছে। সংস্করণ 1.6.4-এ এই কমিটগুলি রয়েছে।

সংস্করণ 1.6.3

6 মার্চ, 2024

androidx.compose.ui:ui-*:1.6.3 প্রকাশিত হয়েছে। সংস্করণ 1.6.3-এ এই কমিটগুলি রয়েছে।

সংস্করণ 1.6.2

21 ফেব্রুয়ারি, 2024

androidx.compose.ui:ui-*:1.6.2 প্রকাশিত হয়েছে। সংস্করণ 1.6.2-এ এই কমিট রয়েছে।

সংস্করণ 1.6.1

7 ফেব্রুয়ারি, 2024 androidx.compose.ui:ui-*:1.6.1 প্রকাশিত হয়েছে। সংস্করণ 1.6.1-এ এই কমিট রয়েছে।

বাগ ফিক্স

  • SemanticsPropertyReceiver.performImeAction এবং SemanticsActions.PerformImeAction এর সাথে একটি পিছনের সামঞ্জস্যের সমস্যা সমাধান করা হয়েছে। ( Ie0bb2 , b/322269946 )
  • যখন কেউ অস্বাভাবিকভাবে বড় আকার ফেরত দেয় তখন পরিমাপ করার সময় লেআউটগুলি এখন একটি ত্রুটি জারি করে৷ এই ধরনের ত্রুটি সাধারণত ঘটে যখন পরিমাপ Constraints.Infinity পরীক্ষা না করে সরাসরি সর্বাধিক সীমাবদ্ধতা ব্যবহার করে। চেকটি ডেভেলপারদের লেআউটে থাকা লেআউটের পরিবর্তে ভুল মাপের সমস্যা খুঁজে পেতে সাহায্য করবে। ( I339a9 )

সংস্করণ 1.6.0

24 জানুয়ারী, 2024

androidx.compose.ui:ui-*:1.6.0 প্রকাশিত হয়েছে। সংস্করণ 1.6.0 এই কমিট ধারণ করে.

সংস্করণ 1.6.0-rc01

জানুয়ারী 10, 2024

androidx.compose.ui:ui-*:1.6.0-rc01 প্রকাশিত হয়েছে। সংস্করণ 1.6.0-rc01-এ এই কমিট রয়েছে।

বাগ ফিক্স

  • অতিরিক্ত পুনর্গঠন কমিয়ে কর্মক্ষমতা উন্নত করতে অপ্টিমাইজ করা ভেক্টর গ্রাফিক্স বাস্তবায়ন।

সংস্করণ 1.6.0-beta03

13 ডিসেম্বর, 2023

androidx.compose.ui:ui-*:1.6.0-beta03 প্রকাশিত হয়েছে। 1.6.0-beta03 সংস্করণে এই কমিট রয়েছে।

নতুন বৈশিষ্ট্য

  • নোডকে বিচ্ছিন্ন না করেই এখন একটি LayoutCoordinates জন্য বিচ্ছিন্ন করা সম্ভব। কম্পোজ লেআউট ইন্সপেক্টর ( If693 ) এর বিরুদ্ধে সতর্ক থাকুন

বাগ ফিক্স

  • PlatformImeOptions এখন একটি ইন্টারফেসের পরিবর্তে একটি কংক্রিট ক্লাস। ( if40a4 )
  • LocalSoftwareKeyboardController এবং LocalTextInputService দ্বারা সৃষ্ট অতিরিক্ত ডাউনস্ট্রিম পুনর্গঠনগুলি প্রতিবার রুট পুনর্গঠন করার সময় নতুন মান প্রদান করা হচ্ছে। ( I42190 , b/310510985 )

সংস্করণ 1.6.0-beta02

নভেম্বর 29, 2023

androidx.compose.ui:ui-*:1.6.0-beta02 প্রকাশিত হয়েছে। সংস্করণ 1.6.0-beta02-এ এই কমিট রয়েছে।

সংস্করণ 1.6.0-beta01

15 নভেম্বর, 2023

androidx.compose.ui:ui-*:1.6.0-beta01 প্রকাশিত হয়েছে। সংস্করণ 1.6.0-beta01-এ এই কমিট রয়েছে।

এপিআই পরিবর্তন

  • DragAndDropTarget সংশোধক এখন স্পষ্টভাবে DragAndDropTarget গ্রহণ করে এবং একটি ড্র্যাগ এবং ড্রপ সেশন বেছে নেওয়ার জন্য একটি ল্যাম্বডা রয়েছে। DragAndDropModifierNode এর জন্য এখন দুটি ফ্যাক্টরি ফাংশন রয়েছে। একটি স্থানান্তর গ্রহণের জন্য এবং একটি ডেটা স্থানান্তরের জন্য ( I69481 )
  • ফ্লোট হিসাবে উপস্থাপনের জন্য maximumFlingVelocity আপডেট করা হয়েছে। maximumFlingVelocity ঐক্য সম্পর্কে আরও স্পষ্ট হওয়ার জন্য আপডেট করা ডকুমেন্টেশন। ( I8adc7 )
  • DragAndDropModifierNode ফ্যাক্টরিতে onDragAndDropStart নাম পরিবর্তন করে acceptDragAndDropTransfer করা হয়েছে। ড্র্যাগ অ্যান্ড ড্রপ সেশন থেকে গ্রহণ করার জন্য dragAndDropTarget টার্গেট মডিফায়ারে acceptsDragAndDropTransfer যোগ করা হয়েছে। ড্র্যাগ এবং ড্রপ সেশনে আগ্রহী হলে এই ল্যাম্বডা একটি কার্যকর DragAndDropTarget প্রদান করে। ড্র্যাগ ইভেন্ট প্রক্রিয়াকরণের জন্য অন্যান্য ল্যাম্বডাস এটি দ্বারা প্রতিস্থাপিত হয়েছে। একটি DragAndDropTarget ফ্যাক্টরি ফাংশন যোগ করা হয়েছে ড্র্যাগ এবং ড্রপ সেশন থেকে গ্রহণ করার জন্য ( Iebf3a )
  • DragAndDropInfo টাইপ হিসাবে সরানো হয়েছে DragAndDropModifierNode.drag এখন transferData , ডেকোরেশন সাইজ এবং ড্র্যাগ ডেকোরেশন DrawScope lambda-এর প্যারামিটার নেয়

    DragAndDropTarget একটি একক বিমূর্ত পদ্ধতির পরিবর্তে নির্দিষ্ট ড্র্যাগ এবং ড্রপ ইভেন্টগুলির জন্য পদ্ধতি রয়েছে

    একটি DragAndDropModifierNode এর ফ্যাক্টরি ফাংশনে onDragAndDropEvent নাম পরিবর্তন করে onDragAndDropStart করা হয়েছে যাতে আরও ভালভাবে যোগাযোগ করা যায় যে প্রদত্ত DragAndDropTarget শুধুমাত্র একটি প্রদত্ত ড্র্যাগ এবং ড্রপ সেশনের জন্য বৈধ।

    DragAndDropEventType সরানো হয়েছে ( I645b1 )

  • establishTextInputSession জন্য PlatformTextInputModifierNode.runTextInputSession নামকরণ করা হয়েছে। ( I03cd0 )

  • ট্রাভার্সেবল নোড এপিআই নামগুলিকে আরও বোধগম্য করতে উন্নত করে। ( IA4474 )

  • TextSubstitution দ্বারা OriginalText প্রতিস্থাপন করুন। ( IFa5a8 )

  • PlatformTextInputModifierNode.textInputSession নাম পরিবর্তন করে runTextInputSession করা হয়েছে। ( Ie9c6b )

  • SubcomposeLayout এর বাচ্চাদের (এবং LazyColumn এর উপর ভিত্তি করে লেআউটগুলি) যেগুলি ভবিষ্যতে পুনঃব্যবহারের জন্য ধরে রাখা হয়েছে তা নিষ্ক্রিয় বলে বিবেচিত হবে৷ এই ধরনের নোড পরীক্ষা করার জন্য নতুন assertIsDeactivated() পরীক্ষা API চালু করা হয়েছিল। পরীক্ষার বাকি apis ডিফল্টরূপে নিষ্ক্রিয় নোডগুলিকে ফিল্টার করবে। ( I2ef84 , b/187188981 )

  • সরানো হয়েছে FocusDirection.In এবং FocusDirection.Out ব্যবহার করুন FocusDirection.Enter এবং FocusDirection.Exit এর পরিবর্তে প্রস্থান করুন ( I2f660 )

  • ম্যাটেরিয়াল SwipeToReveal API গুলি (কার্ড এবং চিপগুলির জন্য) এখন সেই স্লটগুলি তৈরি করতে ডেটা ক্লাস ভিত্তিক উদাহরণগুলির পরিবর্তে একটি স্লট ভিত্তিক API (কম্পোজ দ্বারা সুপারিশকৃত) এর উপর নির্ভর করে৷ এটি একটি ব্রেকিং পরিবর্তন, নতুন API কীভাবে ব্যবহার করবেন তার উদাহরণের জন্য দয়া করে ডেমো এবং নমুনা কোডটি দেখুন। ( IA8943 )

  • FontStyle(int) কনস্ট্রাক্টর অবহেলিত, পরিবর্তে FontStyle.Normal বা FontStyle.Italic ব্যবহার করুন। ( I66610 )

  • FontScalable ইন্টারফেসের নাম পরিবর্তন করে FontScaling ( Ie804a )

বাগ ফিক্স

  • SoftwareKeyboardController.show() আর সফ্টওয়্যার কীবোর্ড দেখাবে না যদি কোন টেক্সট এডিটর ফোকাস না হয়। ( I2165a , b/301477279 )
  • হার্ডওয়্যার কী একই কম্পোজ ভিউতে ডাউন ইভেন্ট না পাওয়া কীগুলির জন্য আপ ইভেন্টগুলি এখন উপেক্ষা করা হবে। ( Ib37b4 , b/305518328 )
  • ArcLine সুইপ গ্রেডিয়েন্টের জন্য রেন্ডারার সমর্থন যোগ করুন। ( I4d5bb )
  • PageSize.Fixed এর জন্য সমান এবং হ্যাশকোড প্রয়োগ করুন। ( IE3ede , b/300134276 )
  • উইন্ডো ইনসেট পরিবর্তনের সাথে বাইনারি সামঞ্জস্যের সমস্যাটি ঠিক করুন ( Iee695 )
  • Material3 চিপ/বোতামের জন্য উপাদানের মূল স্তরটি সরান কারণ মাইক্রোবেঞ্চমার্কগুলি এটি ছাড়া আরও ভাল কার্যকারিতা দেখায়। ( I55555 )
  • TestDispatcher গুলি effectContext টু কম্পোজ টেস্ট হিসাবে পাস করেছে এখন পরীক্ষা এবং ফ্রেম ঘড়ি তৈরি করতে ব্যবহার করা হবে। ( IA7178 )

সংস্করণ 1.6.0-alpha08

18 অক্টোবর, 2023

androidx.compose.ui:ui-*:1.6.0-alpha08 প্রকাশিত হয়েছে। সংস্করণ 1.6.0-alpha08 এই কমিট ধারণ করে।

এপিআই পরিবর্তন

  • Modifier.dragAndDrawSource onDrawDragShadow lambda-এর নাম পরিবর্তন করে drawDragDecoration রাখা হয়েছে এবং DragAndDropInfo সাইজ প্যারামিটারের নাম পরিবর্তন করে dragDecorationSize রাখা হয়েছে। ( Id0e30 , b/303904810 )
  • একটি মিলিত নোড দৃশ্যমান কিনা তা নিশ্চিত না করেও পরীক্ষা করার জন্য SemanticsNodeInteraction.isDisplayed() এবং SemanticsNodeInteraction.isNotDisplayed() পরিচয় করিয়ে দিন। ( I2c196 , b/302100809 )
  • null প্রতিস্থাপনের জন্য ParagraphTextStyle এর TextAlign , TextDirection , Hyphens এবং LineBreak ক্ষেত্রগুলির জন্য একটি বিশেষ Unspecified মান প্রবর্তন করা হয়েছে। যেহেতু এই ক্লাসগুলি ইনলাইন ক্লাস, তাই nullable কে Unspecified দিয়ে প্রতিস্থাপন করে, আমরা আদিম টাইপ বক্সিং এড়িয়ে চলি। TextStyle এবং অনুচ্ছেদ শৈলীতে কনস্ট্রাক্টর, গেটার এবং অন্যান্য পদ্ধতিগুলি উল্লেখিত প্যারামিটারগুলিকে নন-নাল টাইপ হিসাবে গ্রহণ করার জন্য আপডেট করা হয়েছিল। ( I4197e , b/299490814 )
  • XML থেকে GoogleFont পড়ার জন্য GoogleFont ওভারলোড যোগ করুন। ( if8f59 )
  • LoremIpsum PreviewParameterProvider একটি ওপেন ক্লাস বানিয়েছে। ( I41bf5 , b/266918816 , b/300116360 )

বাগ ফিক্স

  • FontFamilyResolver এখন ক্যাশে ম্যানেজমেন্ট কোরোটিনের জন্য Dispatchers.Main ব্যবহার করে। ( IE8dd9 )
  • AndroidViewBinding এখন সিঙ্ক্রোনাসভাবে আপনার লেআউটে একটি Fragment FragmentContainerView অন্তর্ভুক্ত করে onRelease ব্যবহার করে ( commit পরিবর্তে এটি আগে ব্যবহার করছিল) ব্যবহার করে একটি ফ্র্যাগমেন্ট commitNow অন্তর্ভুক্ত করে স্ফীত করা হয়, এইভাবে লাইভ এডিট পদ্ধতিতে পরিবর্তনের সাথে সাথে কম্পোজিশন প্রতিস্থাপনের সাথে সমস্যাগুলি সমাধান করে৷ ( I58fbf )

সংস্করণ 1.6.0-alpha07

4 অক্টোবর, 2023

androidx.compose.ui:ui-*:1.6.0-alpha07 প্রকাশিত হয়েছে। 1.6.0-alpha07 সংস্করণে এই কমিট রয়েছে।

এপিআই পরিবর্তন

  • কাস্টম টেক্সট এডিটরদের জন্য পরীক্ষা লেখার জন্য PlatformTextInputMethodTestOverride চালু করা হয়েছে। ( Id159b )
  • ড্র্যাগ এবং ড্রপ সেশন শুরু করার জন্য dragAndDropSource সংশোধক এবং ড্র্যাগ এবং ড্রপ সেশন থেকে প্রাপ্তির জন্য dragAndDropTarget সংশোধক যোগ করে। ( Ib7828 , b/286038936 )
  • যোগ করা হয়েছে ColorList এবং ColorSet সংগ্রহ যা বরাদ্দ এড়িয়ে যায়। ( I744bd )
  • অ-লিনিয়ার ফন্ট স্কেলিং অক্ষম করতে DisableNonLinearFontScalingInCompose অস্থায়ী পতাকা যোগ করা হয়েছে৷ আপনার পরীক্ষায় DisableNonLinearFontScalingInCompose = true সেট করুন যদি আপনার সেগুলি পরিষ্কার করার জন্য সময় লাগে। এই পতাকাটি রচনা 1.6.0-beta01-এ সরানো হবে৷ ( IC9486 )

বাগ ফিক্স

  • অপ্টিমাইজ করা XML ভেক্টর অঙ্কনযোগ্য পার্সিং। ( Ibb015 )

সংস্করণ 1.6.0-alpha06

20 সেপ্টেম্বর, 2023

androidx.compose.ui:ui-*:1.6.0-alpha06 প্রকাশিত হয়েছে। সংস্করণ 1.6.0-alpha06 এই কমিট ধারণ করে।

এপিআই পরিবর্তন

  • উপাদান আইকন অতিরিক্ত অপ্টিমাইজেশান. ( I3e08d )
  • অনুরূপ নোড খুঁজে পেতে আপ/ডাউন মডিফায়ার ট্রি অতিক্রম করার ক্ষমতা যোগ করে। ( I2d234 )
  • focusRestorer() সংশোধক ( Ie1d43 ) এ onRestoreFailed() কলব্যাক যোগ করা হয়েছে
  • ColorInt , FloatRange , IntRange , Size এবং আরও অনেক কিছু নির্দিষ্ট করতে বিভিন্ন গ্রাফিক্স API-এ androidx টীকা যোগ করা হয়েছে৷ ( Id65c8 , b/290950582 )
  • showSystemUi=true যোগ করুন PreviewScreenSizes সংজ্ঞা ( Ib61d3 )

আচরণ পরিবর্তন

  • কম্পোজ এখন ভাল পঠনযোগ্যতা এবং অ্যাক্সেসযোগ্যতার জন্য নন-লিনিয়ার ফন্ট স্কেলিং ব্যবহার করে। সিস্টেম সেটিংসে ফন্ট স্কেল > 100% হলে, ছোট টেক্সট সাধারণত আকারে বাড়বে, কিন্তু ইতিমধ্যে-বড় টেক্সট শুধুমাত্র একটু বাড়বে। এছাড়াও, SP-তে সংজ্ঞায়িত লাইনের উচ্চতাগুলি স্বয়ংক্রিয়ভাবে 100% স্কেলের অভিপ্রেত উচ্চতার সমানুপাতিক থাকার জন্য সামঞ্জস্য করবে। আরও তথ্যের জন্য ফন্ট স্কেলিং সেরা অনুশীলন দেখুন। ( I11518 )

সংস্করণ 1.6.0-alpha05

6 সেপ্টেম্বর, 2023

androidx.compose.ui:ui-*:1.6.0-alpha05 প্রকাশিত হয়েছে। সংস্করণ 1.6.0-alpha05 এই কমিট ধারণ করে।

এপিআই পরিবর্তন

  • AndroidComposeViewAccessibilityDelegateCompat এ সামগ্রী ক্যাপচার সক্ষম করুন৷ ( Ib2969 )
  • ScrollView এবং RecyclerView মত ভিউ উপাদানগুলিতে ফ্লিং বেগ ViewConfiguration.ScaledMaximumFlingVelocity এ ক্যাপ করা হয়েছে। রচনায় এখন maximumFlingVelocity এর নিজস্ব সংস্করণ রয়েছে যা এখন Draggable এ প্রযোজ্য। ( Ibf974 )
  • প্ল্যাটফর্ম ড্র্যাগ এবং ড্রপ API-কে সমর্থন করার জন্য প্রাথমিক ভারা যুক্ত করে। ( if84ce )
  • RotaryScrollEvent ( Iba3bf ) এ deviceId যোগ করুন
  • নতুন ডিভাইস ( Ib25b4 ) অন্তর্ভুক্ত করার জন্য ui-tooling ডিভাইস API আপডেট করা হয়েছে

সংস্করণ 1.6.0-alpha04

23 আগস্ট, 2023

androidx.compose.ui:ui-*:1.6.0-alpha04 প্রকাশিত হয়েছে। 1.6.0-alpha04 সংস্করণে এই কমিট রয়েছে।

এপিআই পরিবর্তন

  • ReusableComposition নিষ্ক্রিয় করার জন্য একটি পদ্ধতি যোগ করা হয়েছে, পর্যবেক্ষণগুলি সরিয়ে দেওয়া হয়েছে কিন্তু নোডগুলিকে জায়গায় রাখা হয়েছে। নিষ্ক্রিয় করা রচনাটিকে setContent কল করে আবার সক্রিয় করা যেতে পারে। ( Ib7f31 )
  • জীবনচক্র পরিচালনা এবং সাবকম্পোজিশনের পুনঃব্যবহারের জন্য ReusableComposition ইন্টারফেস যুক্ত করুন। ( I812d1 , b/252846775 )
  • Modifier.focusGroup স্থিতিশীল API-এ উন্নীত হয়েছে। ( I7ffa3 )
  • ColorInt , FloatRange , IntRange , Size এবং আরও অনেক কিছু নির্দিষ্ট করতে বিভিন্ন গ্রাফিক্স API-এ androidx টীকা যোগ করা হয়েছে৷ ( I70487 , b/290950582 )
  • পরামিতিগুলির উন্নত পরিদর্শনযোগ্যতার জন্য কংক্রিট সাবক্লাস প্রকার থাকতে ColorFilter API আপডেট করা হয়েছে। ( I5fe29 )
  • UI পূর্বরূপের জন্য ব্যবহার করা যেতে পারে এমন বৈধ পরিধান ডিভাইসগুলি তালিকাভুক্ত করতে পরিধান-টুলিং-প্রিভিউ লাইব্রেরি প্রবর্তন করুন ( Ib036e )
  • ঘনত্ব ইন্টারফেসের ফন্ট স্কেলিং অংশ পরিচালনা করতে FontScalable ইন্টারফেস তৈরি করা হয়েছে। ( I2cf3f )

সংস্করণ 1.6.0-alpha03

9 আগস্ট, 2023

androidx.compose.ui:ui-*:1.6.0-alpha03 প্রকাশিত হয়েছে। সংস্করণ 1.6.0-alpha03 এই কমিট ধারণ করে।

এপিআই পরিবর্তন

  • নতুন ধরনের এন্টার/এক্সিট ট্রানজিশন যা এন্টার এবং এক্সিট অ্যানিমেশনের সময় অ্যানিমেটিং কন্টেইনারের আকারের উপর ভিত্তি করে বিষয়বস্তুকে স্কেল করে। LookaheadScope কম্পোজেবল মজা এবং ইন্টারফেস এখন স্থিতিশীল। ( Ifb2ce )
  • privateImeOptions কনফিগার করার জন্য সমর্থন যোগ করা হয়েছে ( Idb772 )

বাগ ফিক্স

  • PopupPositionProvider.calculatePosition এখন স্বয়ংক্রিয়ভাবে পপআপের অবস্থান আপডেট করবে যখন গণনায় পড়া অবস্থা পরিবর্তন করা হবে। ( I676a1 , b/292257547 )
  • ফিক্সড টেক্সট ফিল্ডগুলি কীবোর্ড দেখাচ্ছে এবং readOnly সত্য হলে সম্পাদনাযোগ্য। ফোকাস করার সময় readOnly সত্য থেকে মিথ্যাতে পরিবর্তিত হলে কীবোর্ডটি দেখা যাচ্ছে না তাও ঠিক করা হয়েছে। ( I34a19 , b/246909589 )
  • UI পরীক্ষায় বিশ্বব্যাপী দাবীর প্রসারিত প্রয়োগ। ( I1f90d )

সংস্করণ 1.6.0-alpha02

জুলাই 26, 2023

androidx.compose.ui:ui-*:1.6.0-alpha02 প্রকাশিত হয়েছে। সংস্করণ 1.6.0-alpha02 এই কমিট ধারণ করে।

এপিআই পরিবর্তন

  • একটি পরিষেবা লোকেটার ইন্টারফেস যোগ করা হয়েছে যা কম্পোজিশনের বাস্তবায়নকারীদের দ্বারা প্রয়োগ করা যেতে পারে যা কম্পোজিশন বাস্তবায়নের অনুমতি দেয় যা মূল কম্পোজিশনে অন্য কম্পোজিশন প্রতিনিধি পরিষেবা লুকআপে অর্পণ করে। এটিকে ডাইরেক্টি বলা উচিত নয় এবং রানটাইমে পরীক্ষামূলক API তৈরি করতে সক্ষম করতে ব্যবহৃত হয় যা কম্পোজারের মোড়ানো সংস্করণ থেকে পাওয়া যায় যেমন UI মডিউল করে। ( I296b9 )
  • সম্পূর্ণরূপে পুনরায় ডিজাইন করা PlatformTextInput* API। ( I6c93a , b/274661182 , b/267235947 , b/277380808 )
  • SoftwareKeyboardController এবং LocalSoftwareKeyboardController আর পরীক্ষামূলক নয়। LocalSoftwareKeyboardController ও এখন একটি সঠিক CompositionLocal । ( I4c364 )
  • LookaheadLayout এবং LookaheadLayoutScope কয়েকটি রিলিজের জন্য বাতিল করা হয়েছে এবং এখন সরিয়ে দেওয়া হয়েছে। প্রতিস্থাপন API গুলি হল LookaheadScope যা যেকোনো লেআউটের সাথে কাজ করতে পারে। ( I12ac3 )
  • SemanticsNodeInteraction.requestFocus যোগ করা হয়েছে পরীক্ষায় ফোকাস করার অনুরোধ করার আরও সুবিধাজনক এবং আবিষ্কারযোগ্য উপায় হিসেবে। ( IE8722 )
  • ভবিষ্যতে ফ্রেমওয়ার্ক পরীক্ষা করে ব্যবহারের জন্য বিশ্বব্যাপী দাবী নিবন্ধনের জন্য পরীক্ষামূলক API যোগ করুন। ( I12d77 )

বাগ ফিক্স

  • AndroidView এর update কলব্যাকের প্রথম আমন্ত্রণটি এখন স্থগিত করা হবে যতক্ষণ না ভিউ সংযুক্ত করা হয়, যখন AndroidView এর প্রবর্তনকারী রচনাটি প্রয়োগ করা হয় তখন চালানোর পরিবর্তে। এটি একটি বাগ সংশোধন করে যেখানে update কলব্যাকটি অবৈধ হয়ে যাবে না যদি এটি পড়া একটি রাষ্ট্র একটি প্রভাব দ্বারা অবিলম্বে পরিবর্তিত হয়। ( IE9438 , b/291094055 )

সংস্করণ 1.6.0-alpha01

জুন 21, 2023

androidx.compose.ui:ui-*:1.6.0-alpha01 প্রকাশিত হয়েছে। সংস্করণ 1.6.0-alpha01-এ এই কমিট রয়েছে।

নতুন বৈশিষ্ট্য

  • LazyList এ সাহায্য করুন এটি লুকআহেড পাসে LazyList যেকোন অ্যানিমেশন (যেমন আইটেম প্লেসমেন্ট অ্যানিমেশন, AnimatedVisibility ইত্যাদি) বাইপাস করতে এবং সমস্ত বাচ্চাদের জন্য লুকআহেডের আকার এবং অবস্থান গণনা করতে দেয়৷ লুকআহেড পাসের পরে, LazyList বাচ্চারা লুকআহেড পাসে দেখা বাস্তবতার সাথে স্বাধীনভাবে অ্যানিমেট করতে পারে।

আচরণের পরিবর্তন: কম্পোজে অন্তর্ভুক্ত ফন্টপ্যাডিং এখন ডিফল্টরূপে মিথ্যা

includeFontPadding এখন কম্পোজে ডিফল্টরূপে মিথ্যা ( 21d806 )।

includeFontPadding হল একটি লিগ্যাসি অ্যাট্রিবিউট যা পাঠ্যের বেসলাইনের উপরে বা নীচে প্রসারিত হতে পারে এমন যেকোন অক্ষরগুলিকে মিটমাট করার জন্য প্রথম লাইন এবং শেষ লাইনের উপরে অতিরিক্ত প্যাডিং অন্তর্ভুক্ত করা উচিত কিনা তা নিয়ন্ত্রণ করে।

এই কম্পোজ সংস্করণটি আপডেট করলে তা পরিবর্তন করবে যে কীভাবে আপনার UI-তে সমস্ত পাঠ্য রেন্ডার হয় তা আপনি প্রদর্শিত প্রতিটি পাঠ্যের প্রথম লাইন এবং শেষ লাইনের উপরে অতিরিক্ত প্যাডিং অপসারণ করে।

আপনার UI প্রয়োজনীয়তা এবং আপনি যে ফন্ট মেট্রিক্স ব্যবহার করছেন তার উপর নির্ভর করে, পরিবর্তনগুলি ন্যূনতম হওয়া উচিত। তবে আপনি ব্লকারদের সম্মুখীন হতে পারেন যেমন: - ভাঙা স্ক্রিনশট পরীক্ষা। প্রয়োজনে UI ঠিক করুন, এবং সোনালী ছবিগুলি পুনরুত্থিত করুন। - টেক্সট সামান্য মিসলাইন করা হয়েছে. কোনো কাস্টম নেতিবাচক প্যাডিং সরান বা প্রয়োজন হলে প্যাডিং যোগ করুন।

আপনি প্রতিটি পাঠ্যের জন্য PlatformTextStyle ব্যবহার করে includeFontPadding করতে অপ্ট-ইন করতে পারেন:

Text(
 text = myText,
 style = TextStyle(
   lineHeight = 2.5.em,
   platformStyle = PlatformTextStyle(
     includeFontPadding = true/false
   )
   /* … */
  )
)

আপনি আপনার উপাদান শৈলীগুলি কনফিগার করে আপনার সমস্ত পাঠ্যের জন্য includeFontPadding অন্তর্ভুক্ত করতে পারেন। নোট করুন যে প্যারামিটারের নামগুলি এম 2 এবং এম 3 এর মধ্যে পরিবর্তিত হবে।

val Typography = Typography(
   body1 = TextStyle(
       fontFamily =    /* … */,
       fontSize =    /* … */,
       platformStyle = PlatformTextStyle(
           includeFontPadding = false
       )
   /* … */
   )
)

MaterialTheme(
   typography = Typography,
   /* … */
)

আপনি বিকাশকারী ডকুমেন্টেশন এবং এই ব্লগ পোস্টে কমপোজ includeFontPadding সম্পর্কে আরও সন্ধান করতে পারেন।

আপনি যদি এই পরিবর্তনের সাথে সংযুক্ত সমস্যা/বাগগুলি অনুভব করেন তবে ইস্যু ট্র্যাকার ব্যবহার করে একটি বাগ ফাইল করুন।

এপিআই পরিবর্তন

  • সমর্থন InputConnection#requestCursorUpdates ( আই 0 সি 69 বি )
  • FocusRequester.saveFocusedChild এবং FocusRequester.restoreFocusedChild ( আইসি 557 ই , বি/272302679 , বি/275157318 ) যুক্ত হয়েছে
  • লোড করতে ব্যর্থ হওয়া সম্পদ পাথের বিবরণ সহ বিটম্যাপ সম্পদগুলি লোড করার চেষ্টা করার সময় নিক্ষিপ্ত থ্রোয়েবলগুলি মোড়ানো মোড়কে ResourceResolutionException টাইপ যুক্ত করুন। ( I19f44 , খ/230166331 , বি/278424788 )
  • কর্মক্ষমতা এবং মেমরি বরাদ্দের জন্য অনুকূলিত অ্যাক্সেসযোগ্যতা। ( আইইডি 48 )
  • পাঠ্য অনুবাদ সমর্থন করার জন্য শব্দার্থবিজ্ঞানের বৈশিষ্ট্য এবং ক্রিয়া যুক্ত করা হয়েছে। ( I4a6bc )
  • বর্তমান পরিমাপ পাসটি লুকাহহেড পাস কিনা তা নির্দেশ করতে IntrinsincMeasureScope এবং এর বাস্তবায়নগুলিতে (যেমন MeasureScope ) নতুন সম্পত্তি। ( I7a812 )
  • বিকল্প ঘনত্ব/লেআউটডাইরেকশন এবং আকার সহ একটি ভিন্ন ক্যানভাসে রেন্ডারিং রেন্ডারিং করার ক্ষমতা প্রবর্তনের জন্য DrawScope এপিআই আপডেট করা হয়েছে।
  • ঘনত্ব এবং বিন্যাসের দিকনির্দেশের কনফিগারেশন সমর্থন করার পাশাপাশি ক্যানভাসকে কনফিগারযোগ্য করে তোলার জন্য DrawContext আপডেট করা হয়েছে। ( আই 1 এফ 9 বি , বি/225408150 )
  • চরিত্রের সীমাবদ্ধ বাক্সগুলি গণনা করতে Paragraph#fillBoundingBoxes যুক্ত করুন। ( If30ee )
  • সাধারণ MultiPreviews একটি সেট যুক্ত করা হয়েছে ( আইএ 5 এ 27 )

বাগ ফিক্স

  • যুক্ত FocusTargetModifierNode ইন্টারফেস যা কাস্টম FocusTarget তৈরি করতে ব্যবহার করা যেতে পারে। ( I9790e )
  • TextMeasurer কনস্ট্রাক্টরের default*fallback* পরামিতিগুলির নামকরণ করা হয়েছে। ( I940a5 )
  • onImeAction এবং SemanticsActions.PerformImeAction জন্য SemanticsPropertyReceiver.performImeAction নামকরণ করা হয়েছে OnImeAction ( I8e841 )
  • নেস্টেড স্ক্রোলিং (বিশেষত, NestedScrollConnection সংযোগে) একটি টেনে নিয়ে মাউস স্ক্রোলকে আলাদা করতে চাকা যুক্ত করে। ( Ie57e4 )
  • ফিরে আসা অবজেক্টটি মূল android.graphics.Paint ( আই 22 বি 4 সি ) মোড়ানো হিসাবে toComposePaint প্রতিস্থাপন করতে asComposePaint এপিআই যুক্ত করেছে
  • SemanticsProperties.imeAction এবং SemanticsActions.performImeAction জন্য একটি নতুন প্যারামিটারের সাথে প্রতিস্থাপন করুন performefformemeaction। ( I4a587 )
  • মাউস দ্বারা নির্বাচনের জন্য সমর্থন যুক্ত করা হয়েছে। স্পর্শ ভিত্তিক নির্বাচন শব্দ দ্বারা প্রসারিত হবে এবং চরিত্র দ্বারা সঙ্কুচিত হবে। ( আইসি 0 সি 6 সি , বি/180639271 )
  • Paragraph পদ্ধতিগুলি যা সীমানা অফসেটগুলির জন্য AssertionError নিক্ষেপ করত এখন MultiParagraph মতো IllegalArgumentException নিক্ষেপ করে। ( I549d3 , খ/243338896 )

সংস্করণ 1.5

সংস্করণ 1.5.4

18 অক্টোবর, 2023

androidx.compose.ui:ui-*:1.5.4 প্রকাশিত হয়েছে। সংস্করণ 1.5.4 এ এই কমিটস রয়েছে।

সংস্করণ 1.5.3

4 অক্টোবর, 2023

androidx.compose.ui:ui-*:1.5.3 প্রকাশিত হয়েছে। সংস্করণ 1.5.3 এই কমিট ধারণ করে.

বাগ ফিক্স

  • ( বি/301209788 ) TextField কখনও কখনও কোরিয়ান ইনপুটকে ফোকাস এবং ইনপুট করার সময় পূর্ববর্তী কমান্ডগুলি ভুলভাবে প্রয়োগ করে, হারানো অক্ষরগুলির দিকে পরিচালিত করে।

সংস্করণ 1.5.2

27 সেপ্টেম্বর, 2023

androidx.compose.ui:ui-*:1.5.2 প্রকাশিত হয়েছে। সংস্করণ 1.5.2 এ এই কমিটস রয়েছে।

বাগ ফিক্স

  • অ্যাক্সেসিবিলিটি স্ক্রোল এপিআই ব্যাকগ্রাউন্ড থ্রেড থেকে অ্যাক্সেস করা হলে ক্র্যাশগুলির জন্য ওয়ার্কআরাউন্ড যুক্ত করা হয়েছে।
  • শব্দার্থবিজ্ঞানের গাছে যুক্ত করা হচ্ছে না এমন নোডগুলি ঠিক করুন।

সংস্করণ 1.5.1

6 সেপ্টেম্বর, 2023

androidx.compose.ui:ui-*:1.5.1 প্রকাশিত হয়েছে। সংস্করণ 1.5.1 এ এই কমিটস রয়েছে।

বাগ ফিক্স

  • স্থির পাঠ্য ক্ষেত্রগুলি কীবোর্ড দেখায় এবং যখন readOnly সত্য হয় তখন সম্পাদনাযোগ্য হওয়া। ফোকাস করার সময় readOnly সত্য থেকে মিথ্যা পরিবর্তিত হলে কীবোর্ডটি দেখানো হয়নি তাও স্থির করে। ( I34a19 , খ/246909589 )

সংস্করণ 1.5.0

9 আগস্ট, 2023

androidx.compose.ui:ui-*:1.5.0 প্রকাশিত হয়েছে। সংস্করণ 1.5.0 এ এই কমিটস রয়েছে।

সংস্করণ 1.5.0-আরসি 01

জুলাই 26, 2023

androidx.compose.ui:ui-*:1.5.0-rc01 প্রকাশিত হয়েছে। সংস্করণ 1.5.0-আরসি 01 এ এই কমিটস রয়েছে।

বাগ ফিক্স

  • SubcomposeLayout যখন movableContentOf() অভ্যন্তরে ব্যবহৃত হয় তখন স্থির ক্র্যাশ ঘটে।

সংস্করণ 1.5.0-BETA03

জুন 28, 2023

androidx.compose.ui:ui-*:1.5.0-beta03 প্রকাশিত হয়েছে। সংস্করণ 1.5.0-BETA03 এ এই কমিটগুলি রয়েছে।

বাগ ফিক্স

  • যুক্ত ফোকাস্টারগেটমডিফায়ারনোড ইন্টারফেস যা কাস্টম ফোকাস্টারেট তৈরি করতে ব্যবহার করা যেতে পারে। ( আইএফবি 1 ডি 6 )
  • ডায়ালগ এবং পপআপ কমপোজেবলগুলির সাথে একটি সমস্যা স্থির করে যার ফলে শিশু উইন্ডো ব্যবহার করতে পারে যখন usePlatformDefaultWidth=true যখন প্রত্যাশা অনুযায়ী পুনরায় আকার দেয় না। ( I112ee )

সংস্করণ 1.5.0-BETA02

7 জুন, 2023

androidx.compose.ui:ui-*:1.5.0-beta02 প্রকাশিত হয়েছে। সংস্করণ 1.5.0-BETA02 এ এই কমিটগুলি রয়েছে।

এপিআই পরিবর্তন

  • android.graphics.Paint উদাহরণ কমপোজে ব্যবহার করতে সক্ষম করতে asComposePaint এপিআই যুক্ত করা হয়েছে

বাগ ফিক্স

  • ফিরে আসা অবজেক্টটি মূল android.graphics.Paint ( আই 22 বি 4 সি ) মোড়ানো হিসাবে toComposePaint প্রতিস্থাপন করতে asComposePaint এপিআই যুক্ত করেছে

সংস্করণ 1.5.0-BETA01

24 মে, 2023

androidx.compose.ui:ui-*:1.5.0-beta01 প্রকাশিত হয়েছে। সংস্করণ 1.5.0-BETA01 এর মধ্যে এই কমিট রয়েছে।

এপিআই পরিবর্তন

  • পুনরুদ্ধার, রঙ অ্যানিমেশন এবং AndroidComposeView ( আইবি 2 বিএফএ ) এ বরাদ্দ সরানো হয়েছে
  • প্রতিনিধি দলের অনুমতি দেওয়ার জন্য হেল্পার ফান CacheDrawModifierNode() যুক্ত করে ( আইসিএফ 8 এফ 9 )
  • isLookingAhead সম্পত্তি প্রবর্তন করা, MeasureScope থেকে অ্যাক্সেসযোগ্য, লুকাহেড ফলাফলগুলি পর্যবেক্ষণ করতে এবং ইচ্ছা হলে মূল পাসকে প্রভাবিত করে। ( আইবিএফ 4 সি 3 )
  • নতুন শব্দার্থবিজ্ঞানের সম্পত্তি traversalIndex , TalkBack ট্র্যাভারসাল (কম মানগুলির আগে আসে) নোডগুলি পুনরায় অর্ডার করতে ব্যবহৃত একটি ফ্লোট। ( I9a81 বি , বি/186443263 )
  • isTraversalGroup শব্দার্থবিজ্ঞানের সম্পত্তি isContainer নামকরণ ( i121f6 )
  • ColorProducer এখন produce পরিবর্তে একটি operator fun invoke ( i4a9a2 )
  • পাথ অবজেক্টগুলিতে অনুবাদ/স্কেল/ঘূর্ণন রূপান্তর প্রয়োগ করতে Path ট্রান্সফর্ম এপিআই যুক্ত করুন। ( I23434 , খ/233772232 )
  • ColorProducer পদ্ধতিটিকে produce বলা হয়। ( I78bde )
  • toFrameworkColorSpace নাম পরিবর্তন করুন toAndroidColorSpace ( আই 4 এফ 547 )
  • ColorLambda থেকে ColorProducer নামকরণ করুন। ( I73b1a )
  • অ্যান্ড্রয়েডের মধ্যে রূপান্তর করতে এপিআইগুলি পরিচয় করিয়ে দিন এবং রঙিনস্পেস প্রকারগুলি রচনা করুন। ( আই 7 ডিবি 4 , বি/279979665 )
  • দক্ষতার সাথে অ্যানিমেটিং বা পাঠ্য রঙ নির্ধারণের অনুমতি দেওয়ার জন্য BasicText একটি রঙিন প্যারামিটার যুক্ত করা হয়েছে। ( Iffd88 , খ/246961787 )
  • TextRange.coerceIn নামকরণ TextRange.constrain । ( I31be2 )
  • সম্পূর্ণ প্যারামিটার তালিকার সাথে অপ্টিমাইজড TextStyle.merge(...) যুক্ত করা হয়েছে। ( আইএডি 234 , বি/246961787 )
  • অনেকগুলি পাঠ্য এপিআইকে স্থিতিশীল করা হয়েছে যার মধ্যে Brush , DrawStyle , TextMotion , DrawScope.drawText , Paragraph.paint(Brush) , MultiParagraph.paint(Brush) অন্তর্ভুক্ত রয়েছে। ( আই 2 এফ 740 , বি/261581564 , বি/261581931 , বি/261561245 )
  • PlatformTextStyle.includeFontPadding অনিচ্ছাকৃত। আমাদের আসল অভিপ্রায়টি ছিল ক্ষেত্রটি অপসারণ করা, তবে প্রতিক্রিয়া দেখায় যে বিকাশকারীদের এই কনফিগারেশন বিকল্পের প্রয়োজন। সুতরাং ক্ষেত্র থেকে অবমূল্যায়ন অপসারণ ( i98e96 , খ/277703184 )
  • পাবলিক TextRange.constrain . কনস্ট্রেন পদ্ধতি যুক্ত করা হয়েছে। ( I97912 )
  • TalkBack মতো অ্যাক্সেসিবিলিটি পরিষেবাদির মাধ্যমে এখন AnnotatedString এস -তে UrlAnnotation s খোলা যেতে পারে। ( আইএফ 4 ডি 82 , বি/253292081 )
  • পাঠ্য ক্ষেত্রগুলির জন্য InsertTextAtCursor শব্দার্থবিজ্ঞানের ক্রিয়া যুক্ত করা হয়েছে। ( আই 11 এড 5 )
  • LineHeightStyle.Alignment(topRatio) কনস্ট্রাক্টর স্থিতিশীল এপিআইতে প্রচারিত হয়। ( I79c32 , বি/261565383 )
  • TextMeasurer এবং সম্পর্কিত এপিআইগুলি আর পরীক্ষামূলক নয়। ( I74647 , বি/261581753 )
  • পাঠ্য সম্পাদক নোডগুলিতে আইএমই অ্যাকশনটি অনুরোধ করার জন্য PerformImeAction শব্দার্থবিজ্ঞানের ক্রিয়া যুক্ত করেছে। ( আইসি 606 এফ , বি/269633506 )
  • PlatformTextInput এপিআইগুলি আর অ্যান্ড্রয়েডের জন্য পরীক্ষামূলক নয়। ( I668eb )
  • Enum.valueOf জন্য মান প্যারামিটারের নাম val ভ্যালুওফ পরিবর্তিত হয়েছে ( আইএ 9 বি 89 )
  • এনাম ভ্যালুফ ( i818fe ) থেকে আরও নিক্ষিপ্ত ব্যতিক্রম
  • প্ল্যাটফর্ম এপিআই-তে সরাসরি কথা বলে কাস্টম পাঠ্য ইনপুট বাস্তবায়নগুলি তৈরির জন্য নতুন নিম্ন-স্তরের PlatformTextInputAdapter এপিআই প্রবর্তন করেছে। ( I58df4 )
  • ক্যানভাসে পাঠ্য অঙ্কন করার সময় বিভিন্ন মিশ্রণ অ্যালগরিদমগুলিকে সমর্থন করার জন্য DrawScope.drawText , Paragraph.paint এবং MultiParagraph.paint পদ্ধতিগুলিতে BlendMode প্যারামিটার যুক্ত করা হয়েছে। ( I57508 )
  • Font.MaximumAsyncTimeout Font থেকে Font.MaximumAsyncTimeoutMillis নামকরণ করুন। শুধুমাত্র নাম পরিবর্তন। ( I07af5 )
  • @Preview রেফারেন্স ডিভাইসগুলির আপডেট করা ডিপিআই মানগুলি ( আইডি 6151 , বি/254528382 )
  • টেক্সট ব্রাশকে দক্ষতার সাথে অ্যানিমেট করা বা সেট করার অনুমতি দেওয়ার জন্য brush , alpha প্যারামিটারগুলি BasicText যুক্ত করুন।
  • ফ্লোট, ডাবল, দীর্ঘ, ইন্ট, সংক্ষিপ্ত ইন এর জন্য বক্স-মুক্ত ল্যাম্বডা প্রকারগুলি সংজ্ঞায়িত করুন: ইউআই: ইউআই-ইউনিট ( আই 6 এফ 18 ডি , বি/246961787 )

বাগ ফিক্স

  • পয়েন্টার বেগ ট্র্যাকিংয়ে একাধিক বরাদ্দ মুছে ফেলা ( i26bae )
  • লেআউট এবং পয়েন্টার ইনপুট ম্যানেজমেন্টে বরাদ্দ হ্রাস ( i5333a )
  • ভেক্টর মেমরির ব্যবহার এবং প্রথম ফ্রেম রেন্ডারিং ( i2f3c6 ) অনুকূলিত করুন
  • ক্যানভাসের সাথে লাইন এবং পয়েন্টগুলি অঙ্কন করার সময় বরাদ্দ সরানো হয়েছে ( i9f535 )
  • AndroidFont.fontVariationSettings ( i7d9e2 ) এর জন্য ডক্স যুক্ত করুন

বাহ্যিক অবদান

  • উন্নত পারফরম্যান্স এবং ভেক্টর এপিআইগুলিতে বরাদ্দ হ্রাস ( i906cb )

সংস্করণ 1.5.0-আলফা 04

10 মে, 2023

androidx.compose.ui:ui-*:1.5.0-alpha04 প্রকাশিত হয়েছে। সংস্করণ 1.5.0-ALPHA04 এর মধ্যে এই কমিট রয়েছে।

নতুন বৈশিষ্ট্য

  • Modifier.Node ডেলিগেশন উন্নতিগুলি একটি DelegatingNode থেকে অন্যান্য Modifier.Node ডেলিগেট করার জন্য একটি বর্ধিত ক্ষমতা যুক্ত করেছে। এটি delegate এবং undelegate এপিআইগুলির সাথে করা যেতে পারে। এই পরিবর্তনের আগে, প্রতিনিধি নোডের প্রতিটি এপিআইকে প্রতিনিধি নোডের কাছে সুস্পষ্টভাবে অর্পণ করা দরকার। এই পরিবর্তনের পরে, নোড ইন্টারফেসগুলি স্পষ্টভাবে ডেলিগেট করা হবে যদি না DelegatingNode স্পষ্টভাবে তাদের ওভাররাইড করে না। ( 67352 বিবিসি )

এপিআই পরিবর্তন

  • NestedScrollModifierNode পরিচয় করিয়ে দিন, একটি NestedScroll Modifier.Node যা অর্পণ করা যেতে পারে। ( I69513 )
  • AndroidViewBinding কমপোজেবলের সাথে onReset এবং onRelease প্যারামিটারগুলি যুক্ত করা হয়েছে, AndroidView কমপোজেবলকে মিরর করে এবং ViewBinding সাথে ভিউ পুনরায় ব্যবহারের জন্য সমর্থন সক্ষম করে। ( I00b1e , খ/276802519 )
  • দ্রুত পুনরায় ব্যবহারের সাথে ঘন ঘন পাথ ম্যানিপুলেশনের ইউজেকেসগুলি সমর্থন করার জন্য রিওয়াইন্ড অপারেশনগুলিকে সমর্থন করার জন্য আপডেট কমপোজ পাথ এপিআই। ( I7b797 )
  • সম্পূর্ণ প্যারামিটার তালিকার সাথে অপ্টিমাইজড TextStyle.merge(...) যুক্ত করা হয়েছে। ( আইএডি 234 , বি/246961787 )
  • অনেকগুলি পাঠ্য এপিআইকে স্থিতিশীল করা হয়েছে যার মধ্যে Brush , DrawStyle , TextMotion , DrawScope.drawText , Paragraph.paint(Brush) , MultiParagraph.paint(Brush) অন্তর্ভুক্ত রয়েছে। ( আই 2 এফ 740 , বি/261581564 , বি/261581931 , বি/261561245 )
  • PlatformTextStyle.includeFontPadding অনিচ্ছাকৃত। আমাদের আসল অভিপ্রায়টি ছিল ক্ষেত্রটি অপসারণ করা, তবে প্রতিক্রিয়া দেখায় যে বিকাশকারীদের এই কনফিগারেশন বিকল্পের প্রয়োজন। সুতরাং ক্ষেত্র থেকে অবমূল্যায়ন অপসারণ ( i98e96 , খ/277703184 )

বাগ ফিক্স

  • স্থির রিগ্রেশন যেখানে কীবোর্ড ডায়ালগগুলির মধ্যে Dialog তৈরি করা হয় না এমন ডায়ালগগুলির ভিতরে পাঠ্য ক্ষেত্রগুলির জন্য প্রদর্শন করছিল না। ( I82551 , খ/262140644 )

সংস্করণ 1.5.0-আলফা 03

এপ্রিল 19, 2023

androidx.compose.ui:ui-*:1.5.0-alpha03 প্রকাশিত হয়েছে। সংস্করণ 1.5.0-ALPHA03 এ এই কমিটগুলি রয়েছে।

নতুন বৈশিষ্ট্য

  • LookaheadScope SubcomposeLayout জন্য নতুন ডিফল্ট আচরণ: SubcomposeLayouts শর্তসাপেক্ষ স্লট নেই (যেমন TabRow , Scaffold , BoxWithConstraints ইত্যাদি) এখন লুকাহেড অ্যানিমেশনগুলির সাথে সুন্দরভাবে কাজ করে।

এপিআই পরিবর্তন

  • নতুন ডিফল্ট intermediateMeasurePolicy যা লুকাহহেড পাস থেকে নীতিমালা পুনরায় ব্যবহার করে এমন SubcomposeLayout সাব টাইপগুলিকে শর্তসাপেক্ষ স্লট ছাড়াই যেমন Scaffold , TabRow এবং BoxWithConstraints ডিফল্টরূপে লুকাহহেডের সাথে কাজ করার অনুমতি দেয়। ( আইডি 84 সি 8 )
  • অ্যান্ড্রয়েড উইন্ডোটির জন্য তৈরি হওয়া রিকম্পোজারটি এখন কেবলমাত্র একটি ON_STOP বিজ্ঞপ্তি গ্রহণ করার সময় সমস্ত withFrameNanos পরিবর্তে কেবল কল কলগুলি ব্লক করবে। এর অর্থ স্টপড অ্যাক্টিভাইটগুলির সাথে সম্পর্কিত উইন্ডোজগুলি ডেটা পরিবর্তনের জন্য পুনরায় সংযুক্ত করতে থাকবে তবে অ্যানিমেশনগুলি, বা withFrameNanos অন্য কোনও কলার ব্লক করবে। ( ID9E7F , খ/240975572 )
  • motionEventSpy স্থিতিশীল করে পরিবর্তন করে। ( আইসি 5 এ 4 , বি/261560988 )
  • পাবলিক TextRange.constrain . কনস্ট্রেন পদ্ধতি যুক্ত করা হয়েছে। ( I97912 )
  • PlatformTextStyle.includeFontPadding বিকাশকারীদের এই সামঞ্জস্যতা এপিআই ব্যবহার করতে উত্সাহিত করার জন্য আর স্বীকৃতি দেওয়া হয় না এবং পরীক্ষার সেটিং includeFontPadding মিথ্যা। ( I98e96 , বি/277703184 )

সংস্করণ 1.5.0-আলফা 02

5 এপ্রিল, 2023

androidx.compose.ui:ui-*:1.5.0-alpha02 প্রকাশিত হয়েছে। সংস্করণ 1.5.0-ALPHA02 এর মধ্যে এই কমিট রয়েছে।

এপিআই পরিবর্তন

  • নতুন SubcomposeLayout এপিআই যা লুকাহেড-ভিত্তিক অ্যানিমেশনগুলির সময় পরিমাপ/লেআউট লজিক পরিচালনা করার জন্য একটি অতিরিক্ত মধ্যবর্তী পরিমাপ নীতি গ্রহণ করে। ( I017d3 )
  • পয়েন্টারইনপুট এখন অলস এবং আরও ভাল পারফরম্যান্সের জন্য মডিফায়ার.নোড ব্যবহার করে ( ছোটখাটো আচরণ পরিবর্তন সম্পর্কে পড়ুন )। ( 15DAB9 )
  • মূল ইভেন্টগুলির সাথে স্থিতিশীল হয়ে পরীক্ষামূলক এপিআই পরিবর্তন করে। ( I9c7d8 , বি/261566839 , বি/261567368 )
  • পরীক্ষামূলক এপিআইগুলিকে PointerInputChange স্থিতিশীল করে পরিবর্তন করে। ( আই 1 বি 543 , বি/261560988 , বি/261565762 , বি/261565749 )
  • আরও জটিল Modifier.Node বাস্তবায়নের জন্য একটি SuspendingPointerInputModifierNode ইনস্ট্যান্ট করার একটি উপায় যুক্ত করে। ( আইসি 4933 )
  • TalkBack মতো অ্যাক্সেসিবিলিটি পরিষেবাদির মাধ্যমে এখন AnnotatedString এস -তে UrlAnnotation s খোলা যেতে পারে। ( আইএফ 4 ডি 82 , বি/253292081 )
  • নরম কীবোর্ডে প্রেরণের আগে হার্ডওয়্যার কীগুলি বাধা দেওয়ার জন্য একটি এপিআই যুক্ত করেছে ( আই 4 এফ 4 সি 6 , বি/186800395 )
  • পাঠ্য ক্ষেত্রগুলির জন্য InsertTextAtCursor শব্দার্থবিজ্ঞানের ক্রিয়া যুক্ত করা হয়েছে। ( আই 11 এড 5 )
  • পাঠ্য সম্পর্কিত পরীক্ষার ক্রিয়াগুলি (যেমন performTextInput ) এখন ক্ষেত্রটিতে ক্লিক করার পরিবর্তে শব্দার্থবিজ্ঞানের ক্রিয়াটি ব্যবহার করে সরাসরি ফোকাসের জন্য অনুরোধ করবে। ( I6ed05 )

বাগ ফিক্স

  • পাঠ্য পরীক্ষার ক্রিয়াগুলি এখন সক্ষম করার জন্য পাঠ্য ক্ষেত্রগুলির প্রয়োজন। ( আইএবি 328 )

সংস্করণ 1.5.0-আলফা 01

22 মার্চ, 2023

androidx.compose.ui:ui-*:1.5.0-alpha01 প্রকাশিত হয়েছে। সংস্করণ 1.5.0-ALPHA01 এর মধ্যে এই কমিট রয়েছে।

এপিআই পরিবর্তন

  • Modifier.intermediatelayout এখন একটি সুস্পষ্ট লুকাহেডস্কোপ প্রয়োজন হয় না। ইন্টারমিডিয়েটেলআউটের পরিমাপ ব্লকের মধ্যস্থতাগুলি রিসিভার হিসাবে রয়েছে, যা সুবিধাজনক করউটিনেস্কোপ, লুকাহেডস্কোপ এবং ব্যবস্থাপনারস্কোপ সরবরাহ করে। ( আইবিই 2 ই 5 )
  • লুকহেডলআউটকে লুকাহেডস্কোপ দ্বারা প্রতিস্থাপন করা হয়েছে, যা আর কোনও বিন্যাস নয়। এটি একটি লুকাহেডস্কোপে চিড সামগ্রীকে সরাসরি পিতামাতার পরিমাপের দ্বারা নিয়ন্ত্রিত করতে দেয়। ( Ibe2e5 )
  • Modifier.Node#coroutineScope যুক্ত করে মডিফায়ার.নোডগুলি করুটাইনগুলি চালু করার অনুমতি দেয়। ( I76ef9 )
  • Compositionloconsumermodifiernode ইন্টারফেসটি প্রয়োগ করে মডিফায়ার.নোডগুলি কমপোজিশনলোকালগুলি পড়ার অনুমতি দিন। ( আইবি 44 ডিএফ )
  • সম্পত্তিতে @ডিপ্রেসেটেড শ্রেণীর প্রচার। ( I882d1 )

সংস্করণ 1.4

সংস্করণ 1.4.3

3 মে, 2023

androidx.compose.ui:ui-*:1.4.3 প্রকাশিত হয়েছে। সংস্করণ 1.4.3 এই কমিট ধারণ করে.

বাগ ফিক্স

  • একটি সমস্যা স্থির করা হয়েছে যেখানে নির্দিষ্ট সংশোধকগুলির সাথে ব্যবহার করার সময় AndroidView সঠিকভাবে স্থাপন করা যাবে না। ( I4dc77 , খ/274797771 )
  • 2 ডি ফোকাস অনুসন্ধানে একটি বাগ স্থির করেছে যা DropDown মেনুগুলিকে প্রভাবিত করে ( বি/276811828 )
  • কাস্টম ফোকাসে একটি বাগ স্থির করে/প্রস্থান বৈশিষ্ট্যগুলি যা কেবলমাত্র এন্টার/প্রস্থান ব্লকটি প্রথমবারের মতো ল্যাম্বডাকে অনুরোধ করা হয়েছিল ( বি/277234245 )
  • ফোকাস সিস্টেমে একটি রিগ্রেশন স্থির করে যা focusProperties পড়ার সময় ক্র্যাশ সৃষ্টি করে। ( বি/271324781 , বি/274897776 )

সংস্করণ 1.4.2

এপ্রিল 19, 2023

androidx.compose.ui:ui-*:1.4.2 প্রকাশিত হয়েছে। সংস্করণ 1.4.2 এ এই কমিটস রয়েছে।

বাগ ফিক্স

  • এমন একটি সমস্যা সমাধান করা হয়েছে যেখানে AndroidView তার সংশোধকগুলি সঠিকভাবে পুনরায় ব্যবহার করবে না, যার ফলে সম্ভাব্যভাবে অপ্রত্যাশিত আচরণ এবং ক্রাশ হয়। ( আইবি 67 ইই , বি/275919849 )
  • স্থির রিগ্রেশন যেখানে Dialog কমপোজেবল দ্বারা তৈরি করা হয়নি এমন ডায়ালগগুলির ভিতরে পাঠ্য ক্ষেত্রগুলির জন্য কীবোর্ড দেখানো হয়নি ( আই 82551 , বি/262140644 )

সংস্করণ 1.4.1

5 এপ্রিল, 2023

androidx.compose.ui:ui-*:1.4.1 প্রকাশিত হয়েছে। সংস্করণ 1.4.1 এ এই কমিটস রয়েছে।

বাগ ফিক্স

  • AndroidView ( বি/274797771 ) প্রভাবিত না করে ParentDataModifier সাথে একটি সমস্যা সমাধান করে

সংস্করণ 1.4.0

22 মার্চ, 2023

androidx.compose.ui:ui-*:1.4.0 প্রকাশিত হয়েছে। সংস্করণ 1.4.0 এ এই কমিটস রয়েছে।

1.3.0 সাল থেকে গুরুত্বপূর্ণ পরিবর্তন

  • একটি নতুন PinnableContainer এপিআই যুক্ত করা হয়েছে যা অলস তালিকা আইটেমগুলিকে পিন করতে দেয়, যাতে তারা সীমানা থেকে স্ক্রোল করা হলে তারা নিষ্পত্তি না হয়। উদাহরণস্বরূপ, Modifier.focusable() বর্তমানে ফোকাসযুক্ত আইটেমটি পিন করতে এই প্রক্রিয়াটি ব্যবহার করে। ( আইবি 8881 , বি/259274257 , বি/195049010 )
  • ফোকাস সিস্টেমটি নতুন পরীক্ষামূলক Modifier.Node এপিআই ব্যবহার করে পুনরায় লেখা হয়েছে। ( I7f4d7 , বি/247708726 , বি/255352203 , বি/253043481 , বি/247716483 , বি/254529934, বি/251840112 , বি/251859987 , বি/257141589 )
  • পৃষ্ঠগুলিতে IsContainer শব্দার্থবিজ্ঞানের সম্পত্তিতে যুক্ত করা হয়েছে। এই সম্পত্তিটি পরবর্তী পরিবর্তনে ব্যবহৃত হবে যা পৃষ্ঠগুলির মতো উপাদানগুলির শব্দার্থক অর্থের উপর ভিত্তি করে ট্র্যাভারসাল ক্রম নির্ধারণ করে। ( I63379 )
  • একটি নতুন অ্যাক্সেসযোগ্যতার ভূমিকা DropdownList যুক্ত করেছে। android.widget.Spinner ফোকাস করার সময় এটি TalkBack আচরণের প্রতিরূপ তৈরি করতে ব্যবহার করা যেতে পারে। ( I177e5 , খ/236159001 )
  • আপনি এখন একক অনুচ্ছেদের জন্য ইমোজি সমর্থন প্রসেসিংকে ally চ্ছিকভাবে অক্ষম করতে PlatformTextStyle(emojiSupportMatch) ব্যবহার করতে পারেন। ( আইএ 7100 , বি/139326806 )
  • অ্যান্ড্রয়েড রচনা ইউআই পরীক্ষাগুলি এখন প্রতিটি ফ্রেমের জন্য লেআউট পাসগুলি চালাবে যখন ফ্রেমগুলি নিষ্ক্রিয় করার জন্য কার্যকর করা হয় (যেমন waitForIdle মাধ্যমে)। এটি এমন পরীক্ষাগুলিকে প্রভাবিত করতে পারে যা লেআউট অ্যানিমেশনগুলির পৃথক ফ্রেমগুলিতে জোর দেয়। ( I8ea08 , খ/222093277 )
  • Static(default) বা অ্যানিমেটেড হিসাবে পাঠ্যকে সংজ্ঞায়িত করতে TextStyle পরীক্ষামূলক TextMotion যুক্ত করা হয়েছে। TextMotion.Animated ব্যবহার করুন an অ্যানিমেশনের মাধ্যমে পাঠ্য স্কেল, অনুবাদ বা ঘোরানো হলে অ্যানিমেটেড। ( I24dd7 )

সংস্করণ 1.4.0-আরসি 01

8 মার্চ, 2023

androidx.compose.ui:ui-*:1.4.0-rc01 প্রকাশিত হয়েছে। সংস্করণ 1.4.0-আরসি 01 এ এই কমিটগুলি রয়েছে।

এপিআই পরিবর্তন

  • AndroidView কমপোজেবল ফাংশনের একটি ওভারলোড যুক্ত করেছে, যা onReset প্যারাম গ্রহণ করে। এটি যখন সংমিশ্রণে তাদের নোডটি একটি সামঞ্জস্যপূর্ণ উপায়ে বাতিল এবং পুনরায় ব্যবহার করা হয় তখন এটি দৃশ্যগুলি পুনরায় ব্যবহার করার অনুমতি দেয়। এটি বিশেষত LazyRows এবং ভিউগুলির LazyColumns জন্য কার্যকর। ( আই 3 এফ 10 ডি , বি/230099236 )
  • প্ল্যাটফর্ম এপিআই-তে সরাসরি কথা বলে কাস্টম পাঠ্য ইনপুট বাস্তবায়নগুলি তৈরির জন্য নতুন নিম্ন-স্তরের PlatformTextInputAdapter এপিআই প্রবর্তন করেছে। ( I58df4 )

বাগ ফিক্স

  • BasicTextField SetText শব্দার্থবিজ্ঞান অ্যাকশন এখন আইএমই আপডেট এবং পরীক্ষার ফাংশন (যেমন performTextReplacement ) হিসাবে একই কোড পাথ ব্যবহার করে পাঠ্য বাফারটি আপডেট করবে।
  • পাঠ্য পরীক্ষার ফাংশনগুলি performTextClearance , performTextReplacement এবং performTextSelection এখন SemanticsActions ব্যবহার করে। ( I0807d , খ/269633168 , বি/269624358 )

সংস্করণ 1.4.0-BETA02

22 ফেব্রুয়ারি, 2023

androidx.compose.ui:ui-*:1.4.0-beta02 প্রকাশিত হয়েছে। সংস্করণ 1.4.0-BETA02 এর মধ্যে এই কমিট রয়েছে।

এপিআই পরিবর্তন

  • modifierElementOf() এপিআই মুছে ফেলা। পরিবর্তে সরাসরি ModifierNodeElement থেকে প্রসারিত করুন। ( আই 2256 বি )
  • একটি নতুন Modifier.Node.onReset() কলব্যাক যুক্ত করা হয়েছে যাতে আপনাকে কিছু স্থানীয় রাষ্ট্রকে পুনরায় সেট করতে দেয় যখন Layout পুনরায় ব্যবহার করা হবে (উদাহরণস্বরূপ LazyColumn এর আইটেম হিসাবে) কেসটি সঠিকভাবে পরিচালনা করতে দেয়। ফোকাসযুক্ত রাষ্ট্রটি সঠিকভাবে পুনরায় সেট করতে ফিক্স FocusTargetModifierNode । ( I65495 , বি/265201972 )
  • ক্যানভাসে পাঠ্য অঙ্কন করার সময় বিভিন্ন মিশ্রণ অ্যালগরিদমগুলিকে সমর্থন করার জন্য DrawScope.drawText , Paragraph.paint এবং MultiParagraph.paint পদ্ধতিগুলিতে BlendMode প্যারামিটার যুক্ত করা হয়েছে। ( I57508 )

বাগ ফিক্স

  • অ্যাক্সেসিবিলিটি ফোকাস অর্ডার অ্যালগরিদম উন্নত হয়েছে, উদাহরণস্বরূপ শীর্ষ/নীচের বারগুলি প্রায়শই যথাক্রমে যথাক্রমে প্রথম/শেষ পড়তে হয় ( 74e9c5 )

সংস্করণ 1.4.0-BETA01

ফেব্রুয়ারী 8, 2023

androidx.compose.ui:ui-*:1.4.0-beta01 প্রকাশিত হয়েছে। সংস্করণ 1.4.0-BETA01 এর মধ্যে এই কমিট রয়েছে।

এপিআই পরিবর্তন

  • PinnableContainer.PinnedHandle.unpin() নামকরণ করা হয়েছিল release() ( i4667a ) প্রকাশের জন্য।
  • যুক্ত waitUntilNodeCount , waitUntilAtLeastOneExists , waitUntilExactlyOneExists এবং waitUntilDoesNotExist ComposeTestRule পরীক্ষামূলক এপিআই হিসাবে, কোনও ম্যাচার এবং নোডের কোনও গণনা গ্রহণের জন্য waitUntil এপিআই প্রসারিত করে। আরও ডকুমেন্টেশনের জন্য ComposeTestRule দেখুন। ( আইএফএ 1 বি 9 , বি/226934294 )
  • Font.MaximumAsyncTimeout Font থেকে Font.MaximumAsyncTimeoutMillis নামকরণ করুন। ( I07af5 )
  • GoogleFont.Provider.AllFontsListUri সরানো হয়েছে এবং এর পরিবর্তে এর সাথে যুক্ত হয়েছে। ( I16f29 )

বাগ ফিক্স

  • AndroidFont.fontVariationSettings ( i7d9e2 ) এর জন্য ডক্স যুক্ত করুন

সংস্করণ 1.4.0-আলফা 05

25 জানুয়ারী, 2023

androidx.compose.ui:ui-*:1.4.0-alpha05 প্রকাশিত হয়েছে। সংস্করণ 1.4.0-ALPHA05 এ এই কমিটগুলি রয়েছে।

এপিআই পরিবর্তন

  • runComposeUiTest ফাংশনের জন্য নতুন পরীক্ষামূলক ওভারলোডগুলি প্রবর্তন করে এবং create*ComposeRule যা CoroutineContext প্যারামিটারগুলি গ্রহণ করে। প্রসঙ্গটি পরীক্ষার রচনা এবং যে কোনও LaunchedEffect এবং rememberCoroutineScope() সংমিশ্রণে কলগুলির জন্য ব্যবহৃত হবে। ( আই 10614 , বি/265177763 )
  • 1 মাত্রিক বেগ ( IF5A82 ) ট্র্যাক করতে একটি নতুন এপিআই যুক্ত করুন
  • FocusRequester এখন @Stable হিসাবে চিহ্নিত। ( I580ee )
  • DialogProperties কনস্ট্রাক্টর থেকে একটি পরীক্ষামূলক টীকাগুলি সরান যা একটি usePlatformDefaultWidth প্যারামিটার নেয়। ( আইসি 4048 )
  • PathMeasure.getPosition() এবং PathMeasure.getTangent() ( আই 3 বি 47 সি ) সহ - কোনও পথের দূরত্বে গণনার অবস্থান এবং স্পর্শককে যুক্ত ফাংশন যুক্ত করা হয়েছে
  • PlatformParagraphStyle দুর্ঘটনাক্রমে প্রকাশিত পাবলিক সেটার অপসারণ করা হয়েছে। ( I07f47 )
  • ইনলাইন/অবমূল্যায়িত-লুকানো ফাংশনগুলির আরও প্রকার/বাতিলযোগ্যতা ( i24f91 )
  • জিরো-বরাদ্দের সাথে টীকাগুলির জন্য কোয়েরিতে AnnotatedString.hasStringAnnotations যুক্ত করুন H ( I94dfe , খ/246960758 )
  • TextMeasurer.measure ফাংশনটির জন্য একটি নতুন ওভারলোড যুক্ত করা হয়েছে যা পাঠ্য হিসাবে একটি String নেয়। ( আই 47 বি 2 ডি , বি/242705342 )
  • টেক্সটাইলে LineBreak এবং Hyphens এপিআইগুলি স্থিতিতে স্নাতক হয়। ( আইসি 1 ই 1 ডি )

বাহ্যিক অবদান

  • TextInputSession এবং TextInputService notifyFocusedRect পদ্ধতিগুলি আবার অবমূল্যায়ন করা হয় না। ( I23a04 , খ/262648050 )

সংস্করণ 1.4.0-আলফা 04

11 জানুয়ারী, 2023

androidx.compose.ui:ui-*:1.4.0-alpha04 প্রকাশিত হয়েছে। সংস্করণ 1.4.0-ALPHA04 এ এই কমিটগুলি রয়েছে।

নতুন বৈশিষ্ট্য

  • একটি নতুন PinnableContainer এপিআই যুক্ত করা হয়েছে যা অলস তালিকা আইটেমগুলিকে পিন করতে দেয়, যাতে তারা সীমানা থেকে স্ক্রোল করা হলে তারা নিষ্পত্তি না হয়। উদাহরণস্বরূপ, Modifier.focusable() বর্তমানে ফোকাসযুক্ত আইটেমটি পিন করতে এই প্রক্রিয়াটি ব্যবহার করে। ( আইবি 8881 , বি/259274257 , বি/195049010 )
  • ফোকাস সিস্টেমটি নতুন পরীক্ষামূলক Modifier.Node এপিআই ব্যবহার করে পুনরায় লেখা হয়েছে। ( I7f4d7 , বি/247708726 , বি/255352203 , বি/253043481 , বি/247716483 , বি/254529934, বি/251840112 , বি/251859987 , বি/257141589 )
  • পৃষ্ঠগুলিতে IsContainer শব্দার্থবিজ্ঞানের সম্পত্তিতে যুক্ত করা হয়েছে। এই সম্পত্তিটি পরবর্তী পরিবর্তনে ব্যবহৃত হবে যা পৃষ্ঠের মতো উপাদানগুলির অর্থগত অর্থের উপর ভিত্তি করে ট্র্যাভারসাল ক্রম নির্ধারণ করে। ( I63379 )
  • নতুন অ্যাক্সেসযোগ্যতার ভূমিকা DropdownList যুক্ত করা হয়েছে। android.widget.Spinner ফোকাস করার সময় এটি TalkBack's আচরণের প্রতিরূপ তৈরি করতে ব্যবহার করা যেতে পারে। ( I177e5 , খ/236159001 )
  • আপনি এখন একক অনুচ্ছেদের জন্য ইমোজি সমর্থন প্রসেসিংকে ally চ্ছিকভাবে অক্ষম করতে PlatformTextStyle(emojiSupportMatch) ব্যবহার করতে পারেন। ( আইএ 7100 , বি/139326806 )
  • অ্যান্ড্রয়েড রচনা ইউআই পরীক্ষাগুলি এখন প্রতিটি ফ্রেমের জন্য লেআউট পাসগুলি চালাবে যখন ফ্রেমগুলি নিষ্ক্রিয় করার জন্য কার্যকর করা হয় (যেমন waitForIdle মাধ্যমে)। এটি এমন পরীক্ষাগুলিকে প্রভাবিত করতে পারে যা লেআউট অ্যানিমেশনগুলির পৃথক ফ্রেমগুলিতে জোর দেয়। ( I8ea08 , খ/222093277 )
  • Static(default) বা অ্যানিমেটেড হিসাবে পাঠ্যকে সংজ্ঞায়িত করতে TextStyle পরীক্ষামূলক TextMotion যুক্ত করা হয়েছে। TextMotion.Animated ব্যবহার করুন an অ্যানিমেশনের মাধ্যমে পাঠ্য স্কেল, অনুবাদ বা ঘোরানো হলে অ্যানিমেটেড। ( I24dd7 )

এপিআই পরিবর্তন

  • প্রতিস্থাপন maxSize: IntSize আকারের সাথে drawText ইন্টিজ আর্গুমেন্ট size: Size অন্যান্য DrawScope ফাংশনগুলির সাথে ইনলাইন হতে হবে। size সেট করা হয় Size.Unspecified ( আইসিডি 27 ডি )
  • অবমূল্যায়িত পরীক্ষামূলক ফন্ট কনস্ট্রাক্টর সরানো হয়েছে। ( I8a724 , বি/261435386 )
  • UI টুলিং ডেটা ক্লাস Group এখন একটি ক্ষেত্র রয়েছে, isInline , যা নির্দেশ করে যে গ্রুপটি একটি ইনলাইন কম্পোজেবল ফাংশনে কল করার জন্য। যদি isInline true হয় তবে কলটি একটি ইনলাইন কম্পোজেবল ফাংশনে হয়। যাইহোক, কম্পোজ কম্পাইলার প্লাগইনের একটি সংস্করণের সাথে সংকলিত মডিউল থেকে ইনলাইন কম্পোজেবল ফাংশনগুলিতে কল করার জন্য মানটি মিথ্যা হতে পারে যা ইনলাইন ফাংশন তথ্য তৈরি করে না। ( আইডিবি 846 )
  • স্থিতিতে পূর্বে বেশ কয়েকটি পরীক্ষামূলক এপিআই স্নাতক হয়েছে
  • রোটারি স্ক্রোল ইভেন্ট এপিআই এখন স্থিতিশীল ( আই 42 এড 3 , বি/261561229 )
  • FontVariation এপিআই এখন স্থিতিশীল ( i8779f , খ/241016309 )
  • সমস্ত Font() কনস্ট্রাক্টর এখন স্থিতিশীল এপিআই ( আই 5948 বি , বি/261435386 )
  • DeviceFontFamilyName এখন স্থিতিশীল ( i8b640 , বি/261435386 )
  • variationSettings সহ AndroidFont কনস্ট্রাক্টর এখন একটি স্থিতিশীল এপিআই, এবং নতুন ধরণের ফন্ট বর্ণনাকারী তৈরি করতে ব্যবহার করা যেতে পারে। ( I5adcc , খ/261565807 )
  • createFontFamilyResolver API এখন স্থিতিশীল। এটি অ্যাসিঙ্ক ফন্ট লোডিংয়ের সময় অপ্রয়োজনীয় ব্যতিক্রমগুলি ধরতে ব্যবহার করা যেতে পারে। ( আইবিবি 481 , বি/261435386 )
  • Font.loadingStrategy API এখন স্থিতিশীল। ( I5937c , খ/261435386 )
  • GoogleFont এপিআই এখন স্থিতিশীল। ( আইসি 90 বি 0 , বি/261435386 )
  • TextUnit(float, TextUnitType) এখন স্থিতিশীল এপিআই। ( I90c84 , বি/261561612 )
  • pluralStringResource এখন স্থিতিশীল এপিআই। ( I09849 , বি/261439703 )

সংস্করণ 1.4.0-আলফা 03

7 ডিসেম্বর, 2022

androidx.compose.ui:ui-*:1.4.0-alpha03 প্রকাশিত হয়েছে। সংস্করণ 1.4.0-Alpha03 এ এই কমিটগুলি রয়েছে।

এপিআই পরিবর্তন

  • PointerIcon থেকে ExperimentalComposeUiApi অপসারণ ( i23af8 )
  • পৃষ্ঠা অ্যাক্সেসযোগ্যতার ক্রিয়াগুলি প্রবর্তন করুন: PageUp , PageDown , PageLeft , PageRight । নোট করুন যে এগুলি কেবল এপিআই 29 থেকে পাওয়া যায়। ( আইডিএ 4 অ্যাব )
  • রুট ভিউ থেকে হোস্ট ভিউতে rememberNestedScrollConnection প্যারামিটার ভিউ আপডেট করা হয়েছে। ( আইএ 5200 )
  • পূর্বপুরুষদের স্ক্রোল তথ্য জিজ্ঞাসা করতে একটি সংশোধক এপিআই যুক্ত করা হয়েছে। ( আই 2 বিএ 9 ডি , বি/203141462 )
  • ইন্টারঅ্যাকশনগুলি সঠিকভাবে বিলম্ব করতে Clickable করতে ব্যবহৃত হয়, যখন অঙ্গভঙ্গিগুলি স্ক্রোল ইভেন্টে পরিণত হতে পারে।
  • স্থির Clickables যখন কোনও Scrollable ViewGroup ভিতরে ব্যবহৃত হয় তখন সঠিকভাবে বিলম্বিত হয় না।
  • অঙ্গভঙ্গিগুলি স্ক্রোল ইভেন্টে পরিণত হতে পারে এমন ক্ষেত্রে প্রেসগুলি সঠিকভাবে বিলম্ব করতে আপডেট করা ড্রয়ার এবং শীটগুলি।
  • graphicsLayer সর্বদা একটি মধ্যবর্তী বাফারে রেন্ডার করা হবে ( আই 47 ডিসি 1 ) নির্দেশ করার জন্য CompositingStrategy.Always নামকরণ করা হয়েছে Offscreen
  • একাধিক সামগ্রী স্লট সহ লেআউট ওভারলোড এখন স্থিতিশীল ( আই 10566 , বি/248294649 )
  • পরীক্ষার আচরণ এবং কর্মক্ষমতা পরিদর্শন করতে পরীক্ষার অংশ হিসাবে পারফেটো ট্রেসগুলি (সিস্টেম ট্রেস হিসাবেও পরিচিত) ক্যাপচার করতে পরীক্ষামূলক নতুন এপিআইএস PerfettoTrace.record {} এবং PerfettoTraceRule যুক্ত করা হয়েছে। ( I3ba16 )
  • একটি কমপোজ বিধি ব্যবহার করে ইউআই পরীক্ষায়, সমস্ত ফ্রেম কলব্যাকগুলি চলমান শেষ না হওয়া পর্যন্ত withFrameNanos কলব্যাকস চলাকালীন পুনরায় শুরু করা ধারাবাহিকতা প্রেরণ করা হবে না। এটি সাধারণত চলাকালীন রচনার আচরণের সাথে মেলে। যাইহোক, পুরানো আচরণের উপর নির্ভর করে এমন পরীক্ষাগুলি ব্যর্থ হতে পারে। এটি কেবলমাত্র কোডকে প্রভাবিত করবে যা সরাসরি withFrameNanos বা withFrameMillis কল ​​করে এবং কলব্যাকের বাইরে যুক্তিযুক্ত সেই ফাংশনগুলিতে পাস করা উচিত যা কলব্যাকগুলির ভিতরে সরানোর প্রয়োজন হতে পারে। উদাহরণগুলির জন্য এই সিএল -এ অ্যানিমেশন পরীক্ষার পরিবর্তনগুলি দেখুন।
  • On চ্ছিক onPerformTraversals: (Long) -> Unit withFrameNanos কলব্যাকগুলির পরে কোড চালানোর জন্য TestMonotonicFrameClock কনস্ট্রাক্টর এবং ফ্যাক্টরি ফাংশনে ইউনিট প্যারামিটার তবে কলারদের করুটাইনগুলি পুনরায় শুরু করার আগে কোড চালানোর জন্য। ( আইডিবি 413 , বি/254115946 , বি/222093277 , বি/255802670 )
  • রচনা করতে ইমোজিকম্প্যাট যুক্ত করা হয়েছে ( আইবিএফ 6 এফ 9 , বি/139326806 )
  • গতিশীল রঙ সমর্থন ( i9f512 ) এর জন্য @Preview পিয়ারভিউতে নতুন ওয়ালপেপার প্যারামিটার যুক্ত করা হয়েছে

বাগ ফিক্স

  • স্ন্যাপশট প্রয়োগের বিজ্ঞপ্তিগুলি এখন পরিবর্তনগুলি প্রয়োগের Recomposer পরে প্রেরণ করা হয়। ( আইএডি 6 সি 0 , বি/222093277 )
  • মাল্টি উইন্ডো স্ক্রিনশটগুলি ক্যাপচার করার জন্য captureToImage পরিবর্তনগুলি প্রবর্তন করেছে। এটি স্ক্রিনশট পরীক্ষার জন্য দরকারী যা কমপোজ পপআপগুলি ব্যবহার করে। ( I169c5 )

নির্ভরতা আপডেট

  • ইউআই রচনা করুন এবং রচনা উপাদান এখন লাইফসাইকেল 2.5.1 এর উপর নির্ভর করে। ( I05ab0 , খ/258038814 )

সংস্করণ 1.4.0-আলফা 02

9 নভেম্বর, 2022

androidx.compose.ui:ui-*:1.4.0-alpha02 প্রকাশিত হয়েছে। সংস্করণ 1.4.0-ALPHA02 এ এই কমিটগুলি রয়েছে।

এপিআই পরিবর্তন

  • graphicsLayer বর্তমান আকারটি প্রকাশ করতে আপডেট করা GraphicsLayerScope । এটি কমপোজেবল আকারের ফাংশন হিসাবে graphicsLayer ট্রান্সফর্মেশনগুলি কম্পিউটিংয়ের জন্য দরকারী। ( আইএফ 8 সি 43 , বি/181387080 )
  • graphicsLayer সামগ্রী রেন্ডারিংয়ের জন্য কখন একটি অফস্ক্রিন কমপোজাইটিং স্তরটি উত্তোলন করতে হবে তা নির্ধারণ করার জন্য CompositingStrategy প্রবর্তিত। অটো ডিফল্ট আচরণ বজায় রাখে যা আলফা প্রয়োগ করা হয় বা একটি RenderEffect/Overscroll অভ্যন্তরীণভাবে একটি স্তরকে উপার্জন করে। সর্বদা সর্বদা একটি অফস্ক্রিন বাফার পরিচয় করিয়ে দেবে যেখানে ModulateAlpha কোনও অফস্ক্রিন বাফারকে উপকারে এড়াতে পারে এবং এর পরিবর্তে graphicsLayer মধ্যে রেকর্ড করা প্রতিটি অঙ্কন নির্দেশাবলী সংশোধন করবে। ModulateAlpha ব্যবহার এখনও RenderEffect/Overscroll ব্যবহারের জন্য একটি অফস্ক্রিন বাফারকে উপার্জন করবে ( i25e82 , বি/256382834 )
  • লেআউট এবং অঙ্কনের জন্য পুরো শ্রেণিবিন্যাসকে অবৈধ করার অনুমতি দেওয়ার জন্য invalidateSubtree() Modifier.Node যুক্ত করা হয়েছিল। ( I4bd90 )
  • স্থিতিতে rememberNestedScrollInteropConnection প্রচার করুন। rememberNestedScrollInteropConnection জন্য একটি মূল ভিউ পাস করার ক্ষমতা প্রবর্তন করেছে। এটি কাস্টম ভিউকে স্ক্রোলিং সীমাবদ্ধতাগুলিতে আরও ভাল প্রতিক্রিয়া জানাতে সহায়তা করতে পারে, বিশেষত অ-মানক দর্শনগুলিতে (যেমন ModalBottomSheetDialog )। ( I9e107 )
  • যোগ করা ObserverNode ইন্টারফেস যা Modifier.Node দ্বারা ব্যবহার করা যেতে পারে N নোড বাস্তবায়নগুলি যা তাদের পূর্বে যে মানটি পড়েছিল তা পরিবর্তিত হওয়ার সময় অবহিত করা দরকার ( আই 5728 বি , বি/247716483 )
  • Paint একটি নতুন কনস্ট্রাক্টর যুক্ত করেছেন যা একটি নেটিভ android.graphics.Paint গ্রহণ করে। এছাড়াও একটি এক্সটেনশন ফাংশন toComposePaint() যুক্ত করেছে যা একটি বিদ্যমান নেটিভ পেইন্ট অবজেক্টকে পেইন্ট রচনা করতে রূপান্তর করে। ( আইসিএ 91 বি )
  • অ্যান্ড্রয়েডে ব্যবহারের জন্য নতুন FontFamily.Resolver.resolveAsTypeface যুক্ত করুন। ( I8950 বি )
  • কমপোজেবলের অভ্যন্তরীণ রাজ্যগুলি পরিবর্তন করার জন্য সরঞ্জামদণ্ডের অনুমতি দেওয়ার জন্য ToolingState যুক্ত করুন ( IE6614 )
  • নতুন যুক্ত অ্যানিমেশনগুলির জন্য আরও ভাল সমর্থন পাওয়ার জন্য রিফ্যাক্টর টুলিং ( i8677 বি )
  • উপাদান এবং উপাদান 3 পাঠ্য, TextField এবং OutlinedTextField minLines প্যারামিটার যুক্ত করা হয়েছে যা লাইনের সংখ্যার ক্ষেত্রে উপাদানটির সর্বনিম্ন উচ্চতা নির্ধারণের অনুমতি দেয় ( i4af1d )

সংস্করণ 1.4.0-আলফা 01

24 অক্টোবর, 2022

androidx.compose.ui:ui-*:1.4.0-alpha01 প্রকাশিত হয়েছে। সংস্করণ 1.4.0-ALPHA01 এর মধ্যে এই কমিটগুলি রয়েছে।

এপিআই পরিবর্তন

  • অঙ্গভঙ্গি ডিটেক্টরগুলির জন্য একটি নতুন পদ্ধতি, awaitEachGesture() যুক্ত করা হয়েছিল। এটি forEachGesture() এর অনুরূপ কাজ করে তবে অঙ্গভঙ্গিগুলির ওভার লুপটি পুরোপুরি AwaitPointerEventScope মধ্যে কাজ করে যাতে ঘটনাগুলি পুনরাবৃত্তির মধ্যে হারিয়ে যেতে পারে না।
  • forEachGesture() awaitEachGesture() এর পক্ষে অবমূল্যায়ন করা হয়েছে কারণ এটি ইভেন্টগুলি অঙ্গভঙ্গির মধ্যে হারিয়ে যেতে দেয়। ( আইএফএফসি 3 এফ , বি/251260206 )
  • অ্যান্ড্রয়েডএক্সে অ্যাকসেসিবিলিটি অবজেক্টগুলির পুনর্ব্যবহারযোগ্যতা হ্রাস করা। আমরা এমনকি প্রাচীনতম সমর্থিত সংস্করণগুলিতে নগণ্য পারফরম্যান্স পরিবর্তনগুলি পেয়েছি। ( I0a961 )
  • অঙ্কন বর্ণিত পাঠ্য সক্ষম করতে TextStyle এবং SpanStyle জন্য পরীক্ষামূলক বৈশিষ্ট্য হিসাবে DrawStyle যুক্ত করা হয়েছে। ( আইএফ 24 বি 8 , বি/155421273 )
  • AnnotatedString.Builder এখন kotlin.text.Appendable প্রয়োগ করে। ( I1a061 , খ/231030444 )
  • AnnotatedString.Builder এখন একটি AnnotatedString এবং ছেদযুক্ত শৈলীর একটি সাবস্ট্রিং সংযোজন করার পদ্ধতি রয়েছে একটি append(AnnotatedString, start: Int, end: Int) পদ্ধতি।
  • Paragraph এবং MultiParagraph পেইন্ট ফাংশনগুলিতে DrawStyle প্যারামিটার যুক্ত করা হয়েছে যা অঙ্কন বর্ণিত পাঠ্যকে সক্ষম করে। ( আইসি 8102 , বি/155421273 )

বাহ্যিক অবদান

  • পূর্বরূপগুলিতে টিভি ডিভাইস যুক্ত করার জন্য vighnesh জন্য ধন্যবাদ ( আইই 15 সিডি )

সংস্করণ 1.3

সংস্করণ 1.3.3

11 জানুয়ারী, 2023

androidx.compose.ui:ui-*:1.3.3 প্রকাশিত হয়েছে। সংস্করণ 1.3.3 এ এই কমিটস রয়েছে।

বাগ ফিক্স

  • অ্যান্ড্রয়েড 9 এ কখনও কখনও ক্র্যাশের জন্য ঠিক করুন যখন ক্রিয়াকলাপটি রচনা ভিউয়ের অবস্থা সংরক্ষণ করে। ( I0b755 , খ/260322832 )

সংস্করণ 1.3.2

7 ডিসেম্বর, 2022

androidx.compose.ui:ui-*:1.3.2 প্রকাশিত হয়েছে। সংস্করণ 1.3.2 এই কমিট ধারণ করে.

বাগ ফিক্স

  • প্রোফোবুফ 3.21.8 ব্যবহার করতে আপডেট হয়েছে, যা protobuf-javalite:3.19.4 (সিভিই -2022-3171) ( বি/255545055 )

সংস্করণ 1.3.1

9 নভেম্বর, 2022

androidx.compose.ui:ui-*:1.3.1 প্রকাশিত হয়েছে। সংস্করণ 1.3.1 এ এই কমিটস রয়েছে।

সংস্করণ 1.3.0

24 অক্টোবর, 2022

androidx.compose.ui:ui-*:1.3.0 প্রকাশিত হয়েছে। সংস্করণ 1.3.0 এ এই কমিটস রয়েছে।

1.2.0 সাল থেকে গুরুত্বপূর্ণ পরিবর্তন

  • নতুন পরীক্ষামূলক এপিআই স্যুট LookaheadLayout (পূর্বে অসম্ভব অ্যানিমেশন আচরণগুলি সক্ষম করা)
  • নতুন পরীক্ষামূলক এপিআই স্যুট Modifier.Node ( Modifier.composed উচ্চ-পারফরম্যান্স বিকল্প)
  • উন্নত উইন্ডো ইনসেট সমর্থন।
  • লাজিলিস্টগুলিতে ডি-প্যাড এবং হার্ডওয়্যার কীবোর্ডের জন্য ফোকাস সমর্থন।
  • ডায়ালগ এবং পপআপগুলিতে সর্বাধিক সমর্থিত উচ্চতা 8 ডিপিতে হ্রাস করা হয়েছে (কিছু কাস্টমাইজড ডিজাইন সিস্টেমের জন্য আচরণ ব্রেকিং পরিবর্তন - বিটা 01 রিলিজ নোটগুলিতে যুক্তি )
  • অনেক ছোটখাটো, ননব্রেকিং এপিআই উন্নতি
  • অনেক বাগফিক্স এবং পারফরম্যান্সের উন্নতি

সংস্করণ 1.3.0-আরসি 01

5 অক্টোবর, 2022

androidx.compose.ui:ui-*:1.3.0-rc01 প্রকাশিত হয়েছে। সংস্করণ 1.3.0-আরসি 01 এ এই কমিটগুলি রয়েছে।

এপিআই পরিবর্তন

  • পাঠ্যে স্বয়ংক্রিয় হাইফেনেশন সমর্থন করার জন্য নতুন পরীক্ষামূলক এপিআই হাইফেন যুক্ত করা হয়েছে ( আইএএ 869 )

বাগ ফিক্স

  • DeviceFontFamilyName ফন্টগুলি লোড Typeface জন্য প্ল্যাটফর্ম সেটিং ব্যবহার করে ডিফল্টরূপে wght এবং ital ভেরিয়েশন সেটিংস কনফিগার করবে না। ( আইএ 7 এ 6 ডি , বি/246989332 )
  • স্থির LazyColumn মেমরি ফাঁস - মডিফায়ারগুলি পুনরায় ব্যবহার করার সময় onModifierLocalsUpdated ডিফল্ট মান দিয়ে ডাকা হত না ( বি/230168389 )

সংস্করণ 1.3.0-BETA03

21শে সেপ্টেম্বর, 2022

androidx.compose.ui:ui-*:1.3.0-beta03 প্রকাশিত হয়েছে। সংস্করণ 1.3.0-BETA03 এ এই কমিটগুলি রয়েছে।

এপিআই পরিবর্তন

  • পাঠ্যে লাইন ব্রেকিং কাস্টমাইজ করতে বিকল্পগুলি যুক্ত করুন। ( I86907 )
  • পরিবর্তিত size:IntSize constraints: Constraints TextMeasurer.measure সীমাবদ্ধতা। ন্যূনতম প্রস্থের সীমাবদ্ধতাগুলিকে সমর্থন করার জন্য পরিমাপ পদ্ধতি। ( I37530 , খ/242707525 )

বাগ ফিক্স

  • অ্যান্ড্রয়েডএক্স ক্রিয়াকলাপের BackHandler এপিআই এখন একটি Dialog মধ্যে কাজ করে। ( I35342 )

সংস্করণ 1.3.0-BETA02

7 সেপ্টেম্বর, 2022

androidx.compose.ui:ui-*:1.3.0-beta02 প্রকাশিত হয়েছে। সংস্করণ 1.3.0-BETA02 এর মধ্যে এই কমিট রয়েছে।

এপিআই পরিবর্তন

  • লেআউটের জন্য একটি পরীক্ষামূলক ওভারলোড যুক্ত করা হয়েছে যা একাধিক কমপোজেবল সামগ্রী ল্যাম্বডাসের একটি তালিকা গ্রহণ করে, যা বিভিন্ন সামগ্রীতে ল্যাম্বডাসে রাখা পরিমাপযোগ্যগুলি হুমকির অনুমতি দেয় ( আইসি 1 বি 4 ই )

পরীক্ষামূলক ফোকাস এপিআইগুলিতে পরিবর্তনগুলি:

  • FocusDirection.In এবং FocusDirection.Out অবমূল্যায়ন করা হয়েছে এবং FocusDirection.Enter দ্বারা প্রতিস্থাপন করা হয়েছে। এন্টার এবং FocusDirection.Exit । ( আইএ 4262 , বি/183746982 )
  • FocusManager.moveFocus(Enter) এবং FocusManager.moveFocus(Exit) এর জন্য একটি কাস্টম আচরণ নির্দিষ্ট করতে দুটি নতুন ফোকাস বৈশিষ্ট্য প্রবেশ করুন এবং প্রস্থান করুন। ( I5f3f9 , খ/183746982 )
  • ফোকাস পদক্ষেপ বাতিল করতে আপনি এখন FocusRequester.Cancel ব্যবহার করতে পারেন। FocusRequester.Cancel নিম্নলিখিত যে কোনও ফোকাস বৈশিষ্ট্যগুলিতে ব্যবহার করা যেতে পারে: উপরে, নীচে, বাম, ডান, পরবর্তী, পূর্ববর্তী, শুরু, শেষ, প্রবেশ এবং প্রস্থান। ( আইবি 300 এফ )

সংস্করণ 1.3.0-BETA01

24 আগস্ট, 2022

androidx.compose.ui:ui-*:1.3.0-beta01 প্রকাশিত হয়েছে। সংস্করণ 1.3.0-BETA01 এর মধ্যে এই কমিট রয়েছে।

মডিফায়ার নোড রিফ্যাক্টর

যে স্তরটি Modifier/Modifier.Element পরিচালনা করে eleme এলিমেন্টের উদাহরণগুলি এবং LayoutNodes তাদের আচরণকে সমন্বয় করে তা প্রধানত রিফ্যাক্ট করা হয়েছে। যেহেতু এটি দাঁড়িয়ে আছে এটি একটি রিফ্যাক্টর ছিল যা রচনাগুলিতে অনেকগুলি সংশোধকগুলির কোনওটির পাবলিক এপিআইকে প্রভাবিত করে না এবং এটি কেবল বাস্তবায়ন-পরিবর্তন হিসাবে দেখা যেতে পারে। তা সত্ত্বেও, এটি বিভিন্ন কারণে একটি গুরুত্বপূর্ণ পরিবর্তন। ( আইই 4313 )

সারাংশ পরিবর্তন করুন

যুক্ত পরীক্ষামূলক Modifier.Node এপিআইগুলি এমন একটি বিমূর্ততা সরবরাহ করে যা রাষ্ট্রের জন্য এমন একটি উদাহরণে বজায় রাখতে দেয় যা লেআউট নোডের জীবনচক্রের সাথে ধরে রাখা হবে এবং প্রতি-লেআউট নোড এবং সংশ্লিষ্ট Modifier.Element যে এটি উত্পাদন।

বিস্তৃতভাবে বলতে গেলে, এই বিমূর্ততাটি Modifier.composed এপিআইয়ের যান্ত্রিকগুলির উপর নির্ভর না করে রাষ্ট্রীয় সংশোধনকারী উত্পাদন করার জন্য একটি বিকল্প ব্যবস্থা সরবরাহ করে।

ঝুঁকি

এই পরিবর্তনটি পূর্বের রিলিজগুলির সাথে কঠোরভাবে বাইনারি সামঞ্জস্যপূর্ণ এবং এটি ব্যবহারিক এবং যুক্তিসঙ্গত হিসাবে পর্যবেক্ষণযোগ্য আচরণের দিক থেকে পিছনের দিকে সামঞ্জস্যপূর্ণ হওয়ার উদ্দেশ্যে। এটি বলেছিল, এই রিফ্যাক্টরটি স্পর্শ করেনি এমন কয়েকটি সাবসিস্টেম রয়েছে এবং সম্ভবত এটি আমাদের পরীক্ষাগুলির আওতাভুক্ত নয় এমন আচরণগুলিতে আচরণ পরিবর্তিত হয়েছে এবং এখনও পাওয়া যায় নি এবং স্থির করা হয়নি

সাবধানতার সাথে এই প্রকাশে আপগ্রেড করুন। আপনি যদি বিশ্বাস করেন যে এটি আপনার জন্য কিছু ভেঙে দিয়েছে তবে দয়া করে আমাদের জানান।

পরীক্ষামূলক API

বিভিন্ন পরীক্ষামূলক এপিআই যুক্ত করা হয়েছে, সমস্তই একটি "মডিফায়ার নোড" এর নতুন ধারণার সাথে সম্পর্কিত। মডিফায়ার.নোডের ফলস্বরূপ তৈরি করা হয়

  • fun modifierElementOf(…): Modifier
  • abstract class ModifierNodeElement
  • abstract class Modifier.Node
  • abstract class DelegatingNode
  • interface LayoutModifierNode
  • interface DrawModifierNode
  • interface SemanticsNode
  • interface PointerInputNode
  • interface ModifierLocalNode
  • interface ParentDataModifierNode
  • interface LayoutAwareModifierNode
  • interface GlobalPositionAwareModifierNode
  • interface IntermediateLayoutModifierNode

আচরণ ব্রেকিং পরিবর্তন

ডায়ালগ এবং পপআপগুলিতে সর্বাধিক সমর্থিত উচ্চতা 8dp এ হ্রাস করা হয়েছে৷

কমপোজ ডায়ালগ এবং পপআপগুলির জন্য সর্বাধিক সমর্থিত উচ্চতা 30 ডিপি থেকে 8 ডিপিতে হ্রাস করা হয়েছে। এই পরিবর্তন উপাদান এবং ui কাস্টম ডায়ালগ এবং পপআপ উভয়কেই প্রভাবিত করে। S এর নিচের Android সংস্করণগুলিতে অ্যাক্সেসিবিলিটি বাগ প্রশমিত করতে এবং সেই উইন্ডোগুলির মধ্যে অ্যাক্সেসিবিলিটি পরিষেবাগুলি ডায়ালগ বা পপআপের ভিতরের সামগ্রীর সাথে ইন্টারঅ্যাক্ট করতে সক্ষম তা নিশ্চিত করতে এই পরিবর্তন করা হয়েছে৷

আপনি কেবল এই পরিবর্তন দ্বারা প্রভাবিত হবেন যদি আপনি 8DP এর চেয়ে বেশি স্তরে একটি উচ্চতা সেট সহ একটি কাস্টম ডায়ালগ বা পপআপ বাস্তবায়ন তৈরি করে থাকেন। আপনার ডায়ালগ বা পপআপের উচ্চতা হ্রাস করার বিষয়টি বিবেচনা করুন। আপনার যদি এই নতুন আচরণ থেকে অপ্ট-আউট করার প্রয়োজন হয় তবে পছন্দসই উচ্চতা সেটটি দিয়ে নিজের ডায়ালগ বা পপআপের জন্য চেষ্টা করা বিবেচনা করুন। এটি সুপারিশ করা হয় না, কারণ অ্যাক্সেসযোগ্যতা নেতিবাচকভাবে প্রভাবিত হতে পারে এবং ডায়ালগ বা পপআপের নীচের অংশটি অ্যাক্সেসিবিলিটি পরিষেবাদি দ্বারা ইন্টারেক্টেবল এবং পঠনযোগ্য তা নিশ্চিত করার জন্য এটি বিকাশকারীর উপর।

এপিআই পরিবর্তন

  • এমন একটি সমস্যা স্থির করা হয়েছে যেখানে painterResource কনফিগারেশন পরিবর্তনগুলিতে আপডেট হবে না ( i58e73 , বি/228862715 )
  • rememberTextMeasurer আর FontFamily.Resolver নেন না res রিসলভার, Density বা LayoutDirection প্যারামিটারগুলি। এই পরামিতিগুলির জন্য কাস্টম মান সরবরাহ করতে দয়া করে TextMeasurer কনস্ট্রাক্টর ব্যবহার করুন। ( আইএ 1 ডিএ 3 )
  • DialogProperties.decorFitsSystemWindows যুক্ত করা হয়েছে WindowInsets ( I57742 , বি/229378542 )
  • বাইনারি সামঞ্জস্যতা ধরে রাখতে ফন্ট কনস্ট্রাক্টরগুলিকে মূল কোটলিন ফাইলে ফিরে সরানো হয়েছে। শেষ স্থিতিশীল প্রকাশ থেকে কোনও পরিবর্তন নেই। ( আইবি 2 এফ 3 )
  • বেশ কয়েকটি সমান সংজ্ঞা থেকে অপ্রয়োজনীয় অপারেটর সরানো হয়েছে - এর কোনও প্রভাব নেই। ( I6c309 )
  • FontVariation.Setting একটি সিলড ইন্টারফেস, ভবিষ্যতের ক্ল্যাম্পিং এপিআইগুলিকে অনুমতি দেওয়ার জন্য। ( I11021 , খ/143703328 )
  • SlotTree.kt -তে CompositionGroup.findParameters যুক্ত করুন। এটি পুরো স্লট টেবিলটি পার্স না করে একটি CompositionGroup জন্য প্যারামিটারগুলি পুনরুদ্ধার করার সরঞ্জামগুলিকে অনুমতি দেয়। ( I124fe )

সংস্করণ 1.3.0-আলফা 03

আগস্ট 10, 2022

androidx.compose.ui:ui-*:1.3.0-alpha03 প্রকাশিত হয়েছে। সংস্করণ 1.3.0-ALPHA03 এ এই কমিটগুলি রয়েছে।

এপিআই পরিবর্তন

  • LayoutCoordinates.findRootCoordinates() এখন সর্বজনীন ( i7fa37 , খ/204723384 )
  • PlacementScope LayoutCoordinates পেতে পরীক্ষামূলক এপিআই যুক্ত করা হয়েছে। এটি বিকাশকারীদের জানতে দেয় যে বর্তমান লেআউটটি কোথায় শিশুদের তার অবস্থানের সাথে সম্পর্কিত রাখে। ( I5482 বি , বি/238632578 )
  • ম্যাট্রিক্স রূপান্তরটি এক LayoutCoordinates থেকে অন্যটিতে রূপান্তরিত করতে LayoutCoordinates.transformFrom যুক্ত করা হয়েছে। ( IC5AB1 , B/238632578 )
  • অবমূল্যায়িত SemanticsModifier.id এবং এর পরিবর্তে শব্দার্থবিজ্ঞানের আইডিটি LayoutInfo.semanticsId স্থানান্তরিত করে। ( আইএসি 808 , বি/203559524 )
  • রিসোর্স ফন্টগুলি এখন সেটিং ফন্ট ভেরিয়েশন সেটিংস (এপিআই 26+) সেটিংকে সমর্থন করে। ( I900dd , খ/143703328 )
  • DeviceFontFamilyNameFont ভেরিয়েবল ফন্ট সমর্থন ( আইসি 1279 , বি/143703328 )
  • ফন্ট কনস্ট্রাক্টররা এখন FontVariation.Setting একটি তালিকা গ্রহণ করে O ও+ ডিভাইসে ভেরিয়েবল ফন্টগুলি কনফিগার করার জন্য সেটটিং। ( আই 11 এ 9 ডি , বি/143703328 )
  • ভেরিয়েবল ফন্টগুলি সংজ্ঞায়িত এবং ব্যবহারের জন্য FontVariation এপিআই যুক্ত করুন। ( আই 3 সি 40 সি , বি/143703328 )
  • LineHeightStyle.Alignment কনস্ট্রাক্টর এখন সর্বজনীন (পরীক্ষামূলক) ( আই 4 বিবিই , বি/235876330 )
  • অনুচ্ছেদটি এখন প্রত্যাশা | অ্যান্ড্রয়েড এবং ডেস্কটপের জন্য প্রকৃত এবং সংজ্ঞায়িত। ( আইডি 387 ই , বি/239962983 )
  • ইন্টারফেস অনুচ্ছেদটি এখন সিল করা ইন্টারফেস প্যারাগার্ফ। সাবক্লাসিং অনুচ্ছেদের জন্য কোনও ব্যবহারের কেস নেই এবং আমরা যদি এই পরিবর্তনটি আপনাকে প্রভাবিত করে তবে আমরা পৌঁছানোর পরামর্শ দিই। ( আইএফ 5247 , বি/239962983 )
  • PlatformTextStyle এবং LineHeightStyle থেকে পরীক্ষামূলক টীকাগুলি সরানো হয়েছে। ( I64 বিফ )
  • TextInputService.show|hideSoftwareKeyboard । আইএমই-ম্যানেজমেন্ট কোডে অ্যাপ কোড এবং TextInputSession পরিবর্তে SoftwareKeyboardController ব্যবহার করুন। ( আই 14 ই 4 সি , বি/183448615 )
  • বিদ্যমান অ্যানিমেশন প্রকারের জন্য নতুন এপিআই যুক্ত করুন ( i26179 )

বাগ ফিক্স

  • এপিআইগুলিতে @RequiresPermission যুক্ত করা হয়েছে যা এসডিকে 33 এবং তারপরে POST_NOTIFICATIONS অনুমতি প্রদান প্রয়োজন। ( Ie542e , খ/238790278 )

সংস্করণ 1.3.0-আলফা 02

জুলাই 27, 2022

androidx.compose.ui:ui-*:1.3.0-alpha02 প্রকাশিত হয়েছে। সংস্করণ 1.3.0-ALPHA02 এ এই কমিটস রয়েছে।

এপিআই পরিবর্তন

  • চাপটি পুনরুদ্ধার করতে একটি নতুন সম্পত্তি PointerInputChange#pressure যুক্ত করেছে। ( I45a5e , খ/205164819 )
  • রচনাটিতে TextMeasurer উদাহরণগুলি সহজেই তৈরি এবং মনে রাখতে স্মরণে rememberTextMeasurer যুক্ত করা হয়েছে। ( I8d66e )
  • Rect , RoundRect এবং MutableRect এখন contains কল করার জন্য in কোটলিনকে সমর্থন করে। ( আই 42 বি 0 , বি/238642990 )
  • KeyInjectionScope থেকে অপ্রয়োজনীয় ফাংশনগুলি সরান, কারণ এগুলি এপিআইয়ের সহজ অংশগুলির সাথে সহজেই প্রয়োগ করা যেতে পারে। সরানো ফাংশনগুলির মধ্যে রয়েছে pressKeys , keysDown এবং keysUp । ( I81d77 )
  • রিফ্যাক্টরড ধ্রুবক এবং প্যারামিটারের নামগুলি KeyInjectionScope প্রত্যয় 'মিলিস' অন্তর্ভুক্ত করার জন্য যেখানে বলা ধ্রুবক এবং পরামিতিগুলির ইউনিটগুলি মিলিসেকেন্ড। ( Iabef5 )
  • পাঠ্য সম্পাদনার বিষয়গুলি সমস্যা সমাধানে সহায়তা করার জন্য EditCommand toStringForLog() পদ্ধতি যুক্ত করা হয়েছে। ( I53354 , বি/228862731 )
  • Added drawText extension function on DrawScope to provide a way to draw multi-styled text on composables and modifiers that operate on a DrawScope like Canvas and drawBehind . ( I16a62 , b/190787898 )
  • Introduce a new experimental API called TextMeasurer that enables arbitrary text layout computation that creates identical results to BasicText , independent from Compose runtime. ( I17101 )
  • Add mapTree to SlotTree.kt . This allows tools to inspect the SlotTree without making an in memory copy first like asTree does. For the Layout Inspector this gives a performance improvement of about a factor 10. ( I5e113 )
  • Changed Compose Preview to be stored in binary output files, in order to allow developers to write and reuse MultiPreview annotations from libraries. ( I85699 , b/233511976 )

বাগ ফিক্স

  • When adding InputEventChange events to Velocity Tracker we will consider now deltas instead of positions, this will guarantee the velocity is correctly calculated for all cases even if the target element moves ( Icea9d , b/216582726 , b/223440806 , b/227709803 )
  • Fix NPE caused by AnnotatedString.toUpperCase when annotations are present. ( I0aca2 , b/210899140 )

Version 1.3.0-alpha01

জুন 29, 2022

androidx.compose.ui:ui-*:1.3.0-alpha01 is released. Version 1.3.0-alpha01 contains these commits.

এপিআই পরিবর্তন

  • New LookaheadLayout that supports a lookahead pass before the actual measure/layout. This allows a pre-calculation of the layout when it changes, while permitting the post-lookahead measure/layout to use the pre-calculated size/position to animate the size and positions towards the target. SubcomposeLayouts are not yet supported, but will be in an upcoming release. ( I477f5 )
  • Add optional alpha parameter to Brush flavor of TextStyle and SpanStyle to modify opacity of the whole Text . ( Ic2fac , b/234117635 )
  • Introduced the UrlAnnotation annotation type and associated methods to support TalkBack link support in AnnotatedString s. ( I1c754 , b/231495122 )
  • Moving utility functionality to runtime ( I4f729 )

বাগ ফিক্স

External Contribution

  • Added a new API WindowInfo.keyboardModifiers to observe its state within composable functions or via snapshotFlow ( Icdb8a )

সংস্করণ 1.2

সংস্করণ 1.2.1

আগস্ট 10, 2022

androidx.compose.ui:ui-*:1.2.1 is released. Version 1.2.1 contains these commits.

বাগ ফিক্স

  • Fixed nullpointer in the inspector ( b/237987764 )
  • Fixed class cast exception during remember in the inspector ( b/235526153 )

সংস্করণ 1.2.0

জুলাই 27, 2022

androidx.compose.ui:ui-*:1.2.0 is released. Version 1.2.0 contains these commits.

Important changes since 1.1.0

  • Improvements in focus traversal:

    • Focus-driven-scrolling of Lazy lists now works, using the new BeyondBoundsLayout core API
    • New behavior customization APIs in FocusOrder and FocusProperties
    • Improved behavior with physical keyboard or TV remote
  • New APIs for:

    • Window insets
    • Core primitives for gesture-driven, infinite and layout animations
    • GraphicsLayer capabilities, including RenderEffect
  • Many bugfixes and performance improvements

Version 1.2.0-rc03

জুন 29, 2022

androidx.compose.ui:ui-*:1.2.0-rc03 is released. Version 1.2.0-rc03 contains these commits.

  • No changes since 1.2.0-rc02.

Version 1.2.0-rc02

22 জুন, 2022

androidx.compose.ui:ui-*:1.2.0-rc02 is released. Version 1.2.0-rc02 contains these commits.

Version 1.2.0-rc01

15 জুন, 2022

androidx.compose.ui:ui-*:1.2.0-rc01 is released. Version 1.2.0-rc01 contains these commits.

এপিআই পরিবর্তন

  • Interfaces in compose libraries are now built using jdk8 default interface methods ( I5bcf1 )
  • Added higher-order functions to KeyInjectionScope for injecting key presses while other keys are held down or toggled on. These functions include withKeysDown , withKeysToggled etc. Also added properties for checking if a particular meta key is down, for example, isCtrlDown to check if either control key is depressed. Refer to KeyInjectionScope for documentation on each function. ( I9f6cd , b/229831515 )
  • An experimental OverscrollEffect has been introduced to allow for custom overscroll effects, alongside the Modifier.scrollable overloads that accept it.
  • Experimental LocalOverScrollConfiguration has been moved from foundation.gesture to foundation package and renamed to LocalOverscrollConfiguration ( If19fb , b/204650733 )
  • Rename runComposeUiTestWithoutActivity {} to runEmptyComposeUiTest {} , which aligns it with createEmptyComposeRule() ( I6fed7 )

Version 1.2.0-beta03

জুন 1, 2022

androidx.compose.ui:ui-*:1.2.0-beta03 is released. Version 1.2.0-beta03 contains these commits.

এপিআই পরিবর্তন

  • Added pressKeyTimes as well as isCapsLockOn and friends to KeyInjectionScope . Additionally, the API now supports mouse and keyboard combined injection patterns such as clicking a mouse button with a meta key held down. ( I4c8da , b/229831515 )
  • Added experimental support for injecting key events. Use performKeyInput to send key events, or send them through the key property of MultiModalInjectionScope during a multi modal input gesture with performMultiModalInput . See KeyInjectionScope for documentation of the API. ( Ic5000 , b/229831515 )
  • Add new GoogleFont.Provider.AllFontsListUri for retrieving the canonical internet source of Google Fonts supported by Android.
  • Improve error messages rethrown when GoogleFonts fail to load in compose. ( I0416c )

বাগ ফিক্স

  • When adding InputEventChange events to Velocity Tracker we will consider now deltas instead of positions, this will guarantee the velocity is correctly calculated for all cases even if the target element moves ( I51ec3 , b/216582726 , b/223440806 , b/227709803 )
  • The Show Layout Bounds setting will now be applied for composables immediately after toggling it from the quick settings tile, without having to leave and re-enter the activity. ( I843d5 , b/225937688 )
  • Accessibility string lookup does not trigger font loading. Previously, it would attempt to load fonts for StyleSpans , which lead to crashes if FontFamily.Resolver had been overwritten. ( I4609d )
  • Pressing the forward delete key when the cursor is at the end of a text field will no longer crash.
  • DeleteSurroundingTextCommand and DeleteSurroundingTextInCodePointsCommand now require their constructor arguments to be non-negative. ( Ica8e6 , b/199919707 )

Version 1.2.0-beta02

18 মে, 2022

androidx.compose.ui:ui-*:1.2.0-beta02 is released. Version 1.2.0-beta02 contains these commits.

এপিআই পরিবর্তন

  • Reusing functionality in other preview types ( I19f39 )

বাগ ফিক্স

  • ViewCompositionStrategy.DisposeOnDetachedFromWindowIfNotInPoolingContainer has been renamed to DisposeOnDetachedFromWindowOrReleasedFromPool to better reflect that when disposals do occur, rather than simply when they do not occur. ( If15ca )

Version 1.2.0-beta01

11 মে, 2022

androidx.compose.ui:ui-*:1.2.0-beta01 is released. Version 1.2.0-beta01 contains these commits.

নতুন বৈশিষ্ট্য

  • This is the first beta release of 1.2!

এপিআই পরিবর্তন

  • Added experimental BeyondBoundsInterval that can be used by custom implementations of LazyList when they layout items beyond visible bounds ( Ifabfb , b/184670295 )
  • Keyed versions of Modifier.composed are now stable API ( Ie65e4 , b/229988420 )
  • Simplified the rememberNestedScrollConnection API to use composition locals to acquire the current view information ( I67ca7 )
  • The @ComposableTarget annotation and annotations marked by @ComposableTargetMarker can now be used at the file scope using the @file prefix. Using a target annotation at the file scope will cause the compiler to assume all composable functions in the file are intended to be target the associated applier. For example, using @file:UiComposable declares that all @Composable functions target the Compose UI applier. A function that needs to target another applier must explicitly supply the target marker annotation for the desired applier. ( I40804 )
  • Introduced new experimental, platform independent, test API: an interface ComposeUiTest and a fun runComposeUiTest(block: ComposeUiTest.() -> Unit) , that can be used to run Compose Ui tests without the need for a TestRule . To run a test without a ComposeTestRule , pass the test as a lambda to runComposeUiTest , and use the methods and members in the receiver scope ComposeUiTest , which are the same ones as in ComposeContentTestRule .

    The Android specific interface AndroidComposeUiTest and fun runAndroidComposeUiTest(block: AndroidComposeUiTest.() -> Unit) are added to provide access to the underlying Activity, similar to AndroidComposeTestRule . For even more control, you can instantiate a class AndroidComposeUiTestEnvironment yourself.

    The Desktop implementation is the class DesktopComposeUiTest , but no Desktop specific run functions are offered at the moment.

    Migrating a test from a ComposeTestRule to ComposeUiTest can be done like this (Android example). থেকে:

    @RunWith(AndroidJUnit4::class)
    class MyTest {
        @get:Rule val rule = createComposeRule()
        @Test
        fun test() {
            rule.setContent {
                Text("Hello Compose!")
            }
            rule.onNodeWithText("Hello Compose!").assertExists()
        }
    }
    

    প্রতি:

    @RunWith(AndroidJUnit4::class)
    class MyTest {
        @Test
        @OptIn(ExperimentalTestApi::class)
        fun test() = runComposeUiTest {
            setContent {
                Text("Hello Compose!")
            }
            onNodeWithText("Hello Compose!").assertExists()
        }
    }
    
  • For now, ComposeContentTestRule and ComposeTestRule don't extend from ComposeUiTest , which means extension functions on ComposeUiTest can't be called yet on the TestRule interface. When ComposeUiTest graduates to stable API, ComposeContentTestRule and ComposeTestRule will be changed to extend from ComposeUiTest . ( Ib4e90 )

  • LineHeightBehavior is renamed as LineHeightStyle

  • LineVerticalAlignment is renamed as LineHeightStyle.Alignment

  • Renames LineHeightTrim is renamed as LineHeightStyle.Trim

  • Default constructor values from LineHeightStyle is removed ( I582bf , b/181155707 )

  • Added Brush to TextStyle and SpanStyle to provide a way to draw text with gradient coloring. ( I53869 , b/187839528 )

  • trimFirstLineTop , trimLastLineBottom attributes of LineHeightBehavior changed into a single enum: LineHeightTrim . LineHeightTrim have values of 4 states defined by two booleans: FirstLineTop , LastLineBottom , Both and None ( Ifc6a5 , b/181155707 )

  • Added LineHeightBehavior to the TextStyle and ParagraphStyle . LineHeightBehavior controls whether line height is applied to the top of the first line and to the bottom of the last line. It also defines the alignment of line in the space provided by TextStyle(lineHeight) .

    For example it is possible to get a behavior similar to what CSS defines via LineHeightBehavior(alignment = LineVerticalAlignment.Center, trimFirstLineTop=false, trimLastLineBottom = false) .

  • trimFirstLineTop , trimLastLineBottom configurations works correctly only when includeFontPadding is false. ( I97332 , b/181155707 )

  • PlatformParagraphStyle.lerp and PlatformSpanStyle.lerp functions are changed to be top level functions ( I9a268 )

বাগ ফিক্স

  • PointerInputChange::copy documentation now correctly states that it is a shallow copy. ( I182f5 )
  • Support ellipsis when height is limited and doesn't fit all text lines ( Ie528c , b/168720622 )
  • Turned on default includeFontPadding . It is possible to turn off the includeFontPadding using TextStyle.platformTextStyle attribute. In the near future we will change the default behavior however until that time this allows us to better integrate line height improvements (aosp/2058653) and solve TextField clipping issues. ( I01423 , b/171394808 )

External Contribution

  • MouseInjectionScope.scroll(delta = someDelta) is now inverted on Android if we scroll vertically (if someDelta is positive, it will scroll downward) ( Ifb697 , b/224992993 )

Version 1.2.0-alpha08

20 এপ্রিল, 2022

androidx.compose.ui:ui-*:1.2.0-alpha08 is released. Version 1.2.0-alpha08 contains these commits.

এপিআই পরিবর্তন

  • The pluralStringResource functions were marked as experimental in order to allow evolution to support better internationalization in the future. ( If24e4 )
  • Paragraph and MultiParagraph are now accepting Constraints parameter. Passing Constraints.maxHeight is a no-op at the moment but will allow to do some calculation in the future, like ellipsizing based on the height. ( I6afee , b/168720622 )
  • SubcomposeSlotReusePolicy.getSlotsToRetain() now accepts a custom MutableSet-like class which doesn't allow adding new items in it. ( Icd314 )
  • PointerIcon is now a @Stable interface ( I9dafe )
  • Partial consumption (down OR position) has been deprecated in PointerInputChange . You can use consume() to consume the change completely. অন্য কেউ পূর্বে পরিবর্তনটি গ্রহণ করেছে কিনা তা নির্ধারণ করতে আপনি isConsumed ব্যবহার করতে পারেন।
  • PointerInputChange::copy() now always makes a shallow copy. It means that copies of PointerInputChange will be consumed once one of the copies is consumed. If you want to create an unbound PointerInputChange , use constructor instead. ( Ie6be4 , b/225669674 )
  • Enable Nested Scroll interop between Compose and View in the direction Compose > View. This means that a compose parent will be able to receive nested scroll deltas from a nested scroll view. ( If7949 , b/174348612 )
  • New SemanticsProperty testTagsAsResourceId , which can be used to make Compose conform with UIAutomator tests designed for the View system. ( I39c20 )
  • Display all available weights for systems fonts on Android when using FontFamily.SansSerif . This will use fallback font names like sans-serif-medium internally on API 21-28. This is a behavior change as previously only weights 400 and 700 were supported on API 21-28. ( I380fe , b/156048036 , b/226441992 )
  • Paragraph and Multiparagraph instructors reordered positional arguments to before optional arguments. ( Idafaa )
  • AndroidFont now takes typefaceLoader as a constructor parameter. ( I2c971 )

Version 1.2.0-alpha07

6 এপ্রিল, 2022

androidx.compose.ui:ui-*:1.2.0-alpha07 is released. Version 1.2.0-alpha07 contains these commits.

এপিআই পরিবর্তন

  • New function Snapshot.withoutReadObservation { ... } was added. It allows users to run the passed lambda without subscribing to the changes of the state values read during this block. You could find it useful in use cases when you want to benefit from the snapshot based thread safe write/reads, but want to be able to read the value without causing unnecessary recomposition or remeasure. ( I9f365 , b/214054486 )
  • The consumeWindowInsets extension property of ComposeView allows developers to disable consumption of Android WindowInsets . This allows separate ComposeViews in the hierarchy to each apply WindowInsets without interfering with each other. ( I0ef08 , b/220943142 )
  • Added KeyboardType.Decimal as an alternative to Keyboard.Number for specifically including decimal separator in IME. ( Iec4c8 , b/209835363 )
  • PointerEventType.Scroll and PointerEvent.scrollDelta are stable APIs now ( I574c5 , b/225669674 )
  • Enable Nested Scroll interop between View and Compose for cooperating View classes. This means compose is now able to dispatch scroll deltas to a (cooperating) View parent. ( I5d1ac , b/174348612 )
  • Updated FontFamily.Resolver to integrate System-wide bold text accessibility setting ( I6c1e7 )
  • Font(AssetManager, String, ...) is deprecated, replaced with Font(String, AssetManager, ...) . This is an experimental API. ( I1c7a4 )
  • Add new font descriptor Font(DeviceFontFamilyName) to optionally lookup system-installed fonts during font fallback chains. ( I30468 , b/219754572 )
  • Added temporary compatibility configuration for includeFontPadding in TextStyle/ParagraphStyle. includeFontPadding can be changed via TextStyle(platformStyle = PlatformTextStyle(includeFontPadding = true/false)) . This is a temporary configuration option to enable migration and will be removed. ( If47be , b/171394808 )
  • Add GoogleFont.Provider.isAvailableOnDevice extension for debugging help. ( I64e31 )
  • Add GoogleFont.Provider constructor for use with @ArrayRes ( Ic5ee1 , b/225984280 )
  • Compose GoogleFont is now called Font(GoogleFont) , API remains stable otherwise. ( I125f2 )

বাগ ফিক্স

  • Added lint check to material/Scaffold to ensure that the inner padding is being used ( Ifb111 )

Version 1.2.0-alpha06

23 মার্চ, 2022

androidx.compose.ui:ui-*:1.2.0-alpha06 is released. Version 1.2.0-alpha06 contains these commits.

এপিআই পরিবর্তন

  • Added RequestFocus semantics action to request focus on the focusable target. ( I17b71 )
  • Updated parsing of vector drawables to support auto mirroring to flip the content of a VectorPainter if the current layout direction is RTL. ( I79cd9 , b/185760237 )
  • Updated shadow/ambient colors to be trailing parameters of Modifier.graphicsLayer for API compatibility ( I3f864 , b/160665122 )

  • Added default implementations to shadow/ambient color on GraphicsLayerScope to ensure non-breaking API changes

  • Added event time to RSB events ( Ief8ae )

  • FocusOrder has now been merged into FocusProperties and focusProperties() now has all the capabilities of focusOrder() . FocusOrder and focusOrder() have been deprecated. focusOrder() that accepts a focusRequester should be replaced with a focusRequester() modifier in combination with focusProperties() . This allows the modifiers to have a stronger separation of concerns. ( I601b7 )

  • Upgrading both RecyclerView and Compose will now result in much better scrolling performance for RecyclerViews with Compose views as children.

  • Add ViewCompositionStrategy.Default as a means of retrieving the built-in default strategy

  • Add ViewCompositionStrategy.DisposeOnDetachedFromWindowIfNotInPoolingContainer , which is the new default strategy and properly handles pooling containers such as RecyclerView. ( If7282 )

  • Added support for annotating annotations classes with @Preview as a first step for adding the Multipreview feature. Such annotations could be used to annotate Composable methods or other annotation classes, which could then be considered as indirectly annotated with the given @Preview. ( I12eff )

  • Reference devices added to the Devices list for @Preview ( I071c9 )

বাগ ফিক্স

  • Updated Vector graphics APIs to use the proper composable annotation @VectorComposable instead of @UiComposable ( I942bc )
  • Remove crossinline from AnnotatedString.Builder.withStyle ( If84d5 )

External Contribution

  • compose-ui: Add ambientShadowColor and spotShadowColor properties to GraphicsLayerScope ( I1ba1a , b/160665122 )
  • Plural resources are now supported via the pluralStringResource functions. ( Ib2f23 , b/191375123 )

Version 1.2.0-alpha05

9 মার্চ, 2022

androidx.compose.ui:ui-*:1.2.0-alpha05 is released. Version 1.2.0-alpha05 contains these commits.

এপিআই পরিবর্তন

  • TextToolbar now takes lambda arguments instead of ActionCallback . ( Ib2eb9 , b/197950089 )
  • Updated nullability in core and appcompat to match Tiramisu DP2 ( I0cbb7 )
  • Measured interface now exposes parentData property ( I3313f )
  • Modifier.onPlaced and the OnPlacedModifier interface are now stable. ( Ib5482 )
  • হুরে! Compose animation now supports 'Animator duration scale' setting from Developer Options. ( I5a4fc , b/161675988 )
  • Added a BeyondBoundsLayout modifier local ( If8b51 , b/184670295 )
  • Text: includeFontPadding is now turned off by default. The clipping issues as a result of includeFontPadding=false is handled and no clipping should occur for tall scripts. ( I31c84 , b/171394808 )

বাগ ফিক্স

  • ComposeContentTestRule.setContent will now throw an IllegalStateException if you try to set content when there already is content. ( I888a5 , b/199631334 )
  • Fix crash caused by clipboard content while reading from clipboard on Android. ( I06020 , b/197769306 )
  • Improve RSB scrolling samples. ( I6a596 )

External Contribution

  • Updated to use Kotlinx coroutines 1.6.0 ( I3366d )

Version 1.2.0-alpha04

23 ফেব্রুয়ারি, 2022

androidx.compose.ui:ui-*:1.2.0-alpha04 is released. Version 1.2.0-alpha04 contains these commits.

এপিআই পরিবর্তন

  • Added ComposableTarget , ComposableTargetMarker and ComposableOpenTarget that allows compile time reporting of when a composable function is called targeting an applier it was not designed to use.

    In most cases the annotations can be inferred by the compose compiler plugin so using these annotation directly should be rare . The cases that cannot be inferred include creating and using a custom applier, abstract composable functions (such as interface methods), fields or global variables that are composable lambdas (local variables and parameters are inferred), or when using ComposeNode or a related composable functions .

    For custom appliers the composable functions that calls ComposeNode or ReusableComposeNode need to add a ComposableTarget annotation for the function and any composable lambda parameter types. It is recommended, however, to create an annotation that is annotated with ComposableTargetMarker and then the marked annotation be used instead of ComposableTarget directly. A composable annotation marked with ComposableTargetMarker is equivalent to a ComposbleTarget with the fully qualified name of the attribute class as the applier parameter. For an example of using ComposableTargetMarker see anroidx.compose.ui.UiComposable . ( I38f11 )

  • Font(resId, ...) now takes loadingStrategy on stable API. ( Ief3d2 )

  • FontLoadingStrategy is now stable API. ( I1ee35 , b/174162090 )

  • Support async font loading in Text ( I77057 , b/214587005 )

  • Add bridge API for converting custom Font.ResourceLoader into FontFamily.Resolver . ( Ia0060 )

বাগ ফিক্স

  • Provided FontFamily.Resolver are passed to subcompositions such as Popup.
  • Provided Font.ResourceLoader are passed to subcompositions such as Popup. ( I48fa5 )

Version 1.2.0-alpha03

ফেব্রুয়ারী 9, 2022

androidx.compose.ui:ui-*:1.2.0-alpha03 is released. Version 1.2.0-alpha03 contains these commits.

এপিআই পরিবর্তন

  • notifyFocusedRect methods in TextInputSession and TextInputService are now deprecated and won't be called. Use BringIntoViewRequester instead. ( Ia4302 , b/192043120 , b/216842427 , b/178211874 )
  • Introduced destroyDisplayListData method on RenderNode stub class ( I1e659 , b/216660268 )
  • Added a new api which allows to premeasure children of SubcomposeLayout you precomposed. ( I857ea )
  • Added movableContentOf which converts a composable lambda into a lambda that moves it state, and corresponding nodes, to any new location it is called. When the previous call leaves the composition the state is temporarily preserved and if a new call to the lambda enters the composition then the state, and associated nodes, are moved to the location of the new call. If no new call is added the state is removed permanently and remember observers are notified.

    If a movableContentOf lambda is called multiple times in the same composition, new state and nodes are created for each call and, as calls leave the composition and new calls enter, the state is moved from the first leaving calls to the entering calls in the order তাদের বলা হয়। All state not claimed by new calls is removed permanently. ( Ib4850 )

  • FontFamilyResolver is now available via LocalFontFamilyResolver.current

  • Added createFontFamilyResolver(context) and createFontFamilyResolver(context, coroutineScope) to create new FontFamily resolvers outside of compose usage.

  • Paragraph and MultiParagraph now take FontFamily.Resolver

  • TextLayoutResult.layoutInput.fontFamilyResolver now contains the resolver used for this layout, deprecated TextLayoutResult.layoutInput.resourceLoader as it is no longer used. ( Id5a45 , b/174162090 )

  • Support for async and optional font loading, with fallback behavior. This path is used by Text and TextField, and exposed through FontFamilyResolver

  • Support for preloading fonts via FontFamilyResolver.preload

  • FontFamilyResolver.setAsyncLoadContext allows setting the global coroutine context used for loading async fonts. ( I87fe8 , b/174162090 )

  • Added AndroidFont , a new low-level API for providing new types of font resource descriptors on Android. For example, loading fonts from an app-specific backend, optionally locating pre-installed fonts on-device, or loading a font from a resource not provided by the current Font factories.

  • Expanded Font.ResourceLoaded API to support optional and async font loading. It is not recommended that application developers use this API directly. To add new types of fonts see AndroidFont .

  • Font.AndroidResourceLoader extension function allows construction of a Font.ResourceLoader when outside of composition.

  • Added loadingStrategy parameter to resource-based fonts, to allow async loading when resource font references downloadable fonts XML. ( Ie5aea , b/174162090 )

  • Typeface(FontFamily) constructor is deprecated. This was previously used to preload fonts, which may take up to 10 seconds for downloadable fonts. With downloadable fonts, this call may block for 10 seconds. Instead use FontFamilyResolver.preload .

  • fontResource(FontFamily): Typeface is deprecated. This was previously used to preload fonts, which may take up to 10 seconds for downloadable fonts. Instead use FontFamilyResolver.preload ( If8e7c , b/174162090 )

  • SubcomposeLayoutState constructor accepting maxSlotsToRetainForReuse is now deprecated. Instead there is a new constructor accepting SubcomposeSlotReusePolicy - a new interface allowing more granular control on what slots should be retained for the future reuse. ( I52c4d )

  • Exposes HSV and HSL function in Color as non-experimental API. The Oklab color space is now public API. ( I08fb6 , b/180731008 )

  • Deprecated AndroidComposeTestRule.AndroidComposeStatement , which was not meant to be in public API and didn't do anything for you anyway. ( Ibc46b )

  • Internal generated kt class rename ( Ia0b9e , b/174162090 )

  • Removed FontLoadingStrategy.values ( I42a9d , b/174162090 )

  • Global font loader is now called FontFamilyResolver . ( I4f773 , b/174162090 )

  • Use new font loading system for desktop. ( I9ce5c , b/174162090 )

  • FontFamily.Resolver.resolve returns State<Any> ( I4406c , b/174162090 )

বাগ ফিক্স

  • TextFields will now be kept above the keyboard when they are focused and the keyboard is shown, when the soft input mode is ADJUST_PAN . ( I8eaeb , b/190539358 , b/192043120 )
  • Desktop uses composition local for FontFamily.Resolver
  • Desktop FontLoader is deprecated
  • New createFontFamilyResolver factory on Desktop ( I6bbbb , b/174162090 )
  • The soft keyboard input type no longer flickers when changing focus between text fields. ( I1bf50 , b/187746439 )

Version 1.2.0-alpha02

জানুয়ারী 26, 2022

androidx.compose.ui:ui-*:1.2.0-alpha02 is released. Version 1.2.0-alpha02 contains these commits.

এপিআই পরিবর্তন

  • Added Modifier.onRotaryScrollEvent() and Modifier.onPreRotaryScrollEvent() for wear devices with a rotating side button ( I18bf5 , b/210748686 )
  • Add experimental View.createLifecycleAwareRecomposer extension ( I0cde6 )

External Contribution

  • PointerEvent.scrollDelta.y is now inverted on Android (now it returns 1 instead of -1 if we tilt mouse wheel to the right) ( Ia9811 )

Version 1.2.0-alpha01

জানুয়ারী 12, 2022

androidx.compose.ui:ui-*:1.2.0-alpha01 is released. Version 1.2.0-alpha01 contains these commits.

এপিআই পরিবর্তন

  • Deprecated FontFamily.canLoadSynchronously . This property has no semantic meaning. ( Ica5ef )
  • Added identity field to CompositionData for generating invariant ids in the Layout Inspector. ( Ic116e )
  • Added Wear OS device ids to Preview devices list ( I93232 )

নির্ভরতা আপডেট

  • Now depends on Kotlin 1.6.10 .

সংস্করণ 1.1

সংস্করণ 1.1.1

23 ফেব্রুয়ারি, 2022

androidx.compose.ui:ui-*:1.1.1 is released. Version 1.1.1 contains these commits.

বাগ ফিক্স

সংস্করণ 1.1.0

ফেব্রুয়ারী 9, 2022

androidx.compose.ui:ui-*:1.1.0 is released. Version 1.1.0 contains these commits.

Important changes since 1.0.0

  • Stable support for the Android 12 Overscroll effect
  • Improvements to touch target sizing
    • Note that, with respect to Compose 1.0, Material components will expand their layout space to meet Material accessibility guidelines for touch target size . For instance, Button touch target will expand to a minimum size of 48x48dp, even if you set the Button's size to be smaller. এটি কম্পোজ ম্যাটেরিয়ালকে ম্যাটেরিয়াল ডিজাইন কম্পোনেন্টের একই আচরণের সাথে সারিবদ্ধ করে, যদি আপনি ভিউ এবং কম্পোজ মিশ্রিত করেন তাহলে সামঞ্জস্যপূর্ণ আচরণ প্রদান করে। এই পরিবর্তনটি নিশ্চিত করে যে আপনি যখন রচনা উপাদান উপাদান ব্যবহার করে আপনার UI তৈরি করবেন, তখন স্পর্শ লক্ষ্য অ্যাক্সেসযোগ্যতার জন্য ন্যূনতম প্রয়োজনীয়তা পূরণ করা হবে।
  • Stable Support for Navigation Rail
  • Graduates a number of previously experimental APIs to stable
  • Support for newer versions of Kotlin

Version 1.1.0-rc03

জানুয়ারী 26, 2022

androidx.compose.ui:ui-*:1.1.0-rc03 is released. Version 1.1.0-rc03 contains these commits.

বাগ ফিক্স

  • কম্পোজ ম্যাটেরিয়াল 1.1.0-rc03 সমর্থন করার জন্য আপডেট করা হয়েছে

Version 1.1.0-rc01

15 ডিসেম্বর, 2021

androidx.compose.ui:ui-*:1.1.0-rc01 is released. Version 1.1.0-rc01 contains these commits.

বাগ ফিক্স

  • Fixed a bug that caused missing accessibility scroll actions ( I7cbfb )
  • SemanticsNodeInteraction.captureToImage() will now also work if HardwareRenderer.isDrawingEnabled() is false , by enabling it for the duration of the call ( Idf3d0 )

Version 1.1.0-beta04

ডিসেম্বর 1, 2021

androidx.compose.ui:ui-*:1.1.0-beta04 is released. Version 1.1.0-beta04 contains these commits.

নতুন বৈশিষ্ট্য

  • Updated to be compatible with Kotlin 1.6.0

এপিআই পরিবর্তন

  • Cleaned up nullability in androidx.core.view ( I7078a , b/204917439 )
  • Experimental APIs were added that allow users to consume PointerInputchange as a whole or check whether it was consumed or not. ( I2e59d )
  • Adds support for mouse scroll wheel events in the UI layer. ( Ia14eb , b/198214718 )
  • Add experimental Modifier.composed overloads that accept keys to compare for equality and qualify for skipping optimizations. ( Ice799 , b/205851704 )
  • ComposeNotIdleException now extends from Exception instead of directly from Throwable . Note that this means that catch clauses that were catching Exception might now catch ComposeNotIdleException s, where they wouldn't do that previously. ( I9c217 )

বাগ ফিক্স

  • Fix text handles not moving when IME visibility changes. ( I25f2e )

Version 1.1.0-beta03

17 নভেম্বর, 2021

androidx.compose.ui:ui-*:1.1.0-beta03 is released. Version 1.1.0-beta03 contains these commits.

এপিআই পরিবর্তন

  • Added new modifier Modifier.onPlaced to allow placement change to be observed. Additional changes to child modifier's offset can therefore be made based on the observed placement change. ( I558fd )
  • Removed InjectionScope.flush() and InjectionScope.dispose() . Flushing of all events and disposing of the scope now happens at the end of the called perform*Input() method like before. ( I2bed8 )
  • Removed MultiModalInjectionScope.Touch and MultiModalInjectionScope.Mouse . In order to inject touch and mouse events for multi-modal gestures, you can now use MultiModalInjectionScope.touch() and MultiModalInjectionScope.mouse() , both of which accept a lambda that has the receiver scope of that modality. ( Idde18 )

বাগ ফিক্স

  • The default value for durationMillis in TouchInjectionScope.swipeWithVelocity is now calculated such that the swipe is feasible. ( I19deb )

Version 1.1.0-beta02

3 নভেম্বর, 2021

androidx.compose.ui:ui-*:1.1.0-beta02 is released. Version 1.1.0-beta02 contains these commits.

এপিআই পরিবর্তন

  • Added experimental BringIntoView API that lets you send a request to parents so that they scroll to bring an item into view ( Ib918d , b/195353459 )
  • New animation APIs for supporting tooling. Specifically, they allow tooling to inspect the animations & their configurations in a Transitions. ( I4116e )

External Contribution

  • Added Modifier.pointerHoverIcon ( I95f01 )

Version 1.1.0-beta01

27 অক্টোবর, 2021

androidx.compose.ui:ui-*:1.1.0-beta01 is released. Version 1.1.0-beta01 contains these commits.

এপিআই পরিবর্তন

  • Added experimental BringIntoView API that lets you send a request to parents so that they scroll to bring an item into view ( Ib918d , b/195353459 )
  • New animation APIs for supporting tooling. Specifically, they allow tooling to inspect the animations & their configurations in a Transitions. ( I4116e )

Version 1.1.0-alpha06

13 অক্টোবর, 2021

androidx.compose.ui:ui-*:1.1.0-alpha06 is released. Version 1.1.0-alpha06 contains these commits.

এপিআই পরিবর্তন

  • Remove ExperimentalComposeUiApi from ViewRootForInspector and LayoutInfo.ownerViewId ( I5c2e3 )
  • A child-less overload for Layout was added, with improved efficiency ( Ib0d9a )
  • Removed InternalCompilerApi from Composer methods that are required to be called cross-module ( I1aa0b )
  • SemanticsNodeInteraction.performSemanticsAction now returns the SemanticsNodeInteraction on which the function was called. ( I9e5db )
  • Added LocalInputModeManager CompositionLocal to detect TouchMode/NonTouchMode. ( I6a83c , b/175899786 )
  • Added viewConfiguration: ViewConfiguration to LayoutInfo to allow consumers get the correct value for things like long press timeout. ( I76ca6 )
    • Added viewConfiguration: ViewConfiguration to InjectionScope to allow tests to adjust input injection based on things like long press timeout or touch slop.
    • Changed default duration of long press and double tap for both touch and mouse input to be based on the values in InjectionScope.viewConfiguration .
  • Implementation of ExposedDropdownMenu based on ExposedDropdownMenuBox with TextField and DropdownMenu inside ( If60b2 )
  • dismissOnOutsideClick was added to PopupProperties, replacing dismissOnClickOutside which was deprecated. The new property receives the click position and the anchor bounds, providing finer control over whether onDismissRequest should be invoked or not. For example, this can be useful to prevent anchor dismissal for touches on the anchor.
    • updateAndroidWindowManagerFlags was added to PopupProperties, offering low-level control over the flags passed by the popup to the Android WindowManager. The parameter of the lambda will be the flags calculated from the PopupProperties values that result in WindowManager flags: eg focusable. The result of the lambda will be the final flags which will be passed to the Android WindowManager. By default, updateAndroidWindowManagerFlags will leave the flags calculated from parameters unchanged. This API should be used with caution, only in cases where the popup has very specific behavior requirements. ( I6e9f9 )
  • Recomposer.state has been deprecated and replaced by Recomposer.currentState to change its type to a StateFlow ( Ic2ab3 , b/197773820 )
  • Added flush() and dispose() to InjectionScope . Use them when you want to flush all queued up events immediately and when you want to dispose of the scope, respectively. ( Ifb73a )
  • Added performScrollToNode(matcher: SemanticsMatcher) that scrolls a scrollable container to the content that is matched by the given matcher. ( Ic1cb8 )
  • InjectionScope now implements Density , allowing you to easily convert between px and dp in performTouchInput and friends. ( I8fe1f )

বাগ ফিক্স

  • AndroidView now propagates LocalLifecycleOwner and LocalSavedStateRegistryOwner to its view via ViewTreeLifecycleOwner and ViewTreeSavedStateRegistryOwner. ( I38f96 , b/179708470 )
  • Fix WearOS SwipeToDismissBox sometimes not handling swipes. ( I9387e )
  • The default time between injected input events has been changed from 10ms to 16ms. This potentially changes the outcome of tests that perform input gestures, like a specific swipe. ( I829fd )

Version 1.1.0-alpha05

29 সেপ্টেম্বর, 2021

androidx.compose.ui:ui-*:1.1.0-alpha05 is released. Version 1.1.0-alpha05 contains these commits.

এপিআই পরিবর্তন

  • Added support for inter-modifier communication ( Id5467 , b/198826874 )
  • Added experimental historical pointers to PointerEventChange. ( Ic1fd8 , b/197553056 , b/199921305 )
  • Added density: Density and layoutDirection: LayoutDirection to LayoutInfo . This allows consumers of LayoutInfo to interpret the dimensions and position exposed in LayoutInfo properly. ( I002f1 )
  • Added experimental support for injecting mouse events. Use performMouseInput to start sending mouse events, or send mouse events through the Mouse property of MultiModalInjectionScope during a multi modal input gesture with performMultiModalInput . See MouseInjectionScope for documentation of the available API. ( Iaa4a8 , b/190493367 )

বাগ ফিক্স

  • Fixed accessibility support for scrollables (both lazy and non-lazy) with respect to scrolling ( I6cdb0 )
  • Improved TouchInjectionScope.swipeWithVelocity . It now accepts a wider range of input variables and will suggest changes to the input if a swipe can't be created ( I40fbe , b/182477143 )

Version 1.1.0-alpha04

15 সেপ্টেম্বর, 2021

androidx.compose.ui:ui-*:1.1.0-alpha04 is released. Version 1.1.0-alpha04 contains these commits.

এপিআই পরিবর্তন

  • PointerEvent now has a PointerEventType to support hover events. ( I091fa )
  • Allow children to accept pointer input outside of parent's pointer input bounds. Parents may intercept those calls with a property PointerInputScope.alwaysInterceptChildEvents ( I9eae3 , b/192479655 )
  • Deprecated performGesture and GestureScope , which have been replaced by performTouchInput and TouchInjectionScope . ( Ia5f3f , b/190493367 )
  • Added touchBoundsInRoot to SemanticsNode that includes the minimum touch target size so that developers can ensure that touch targets meet accessibility minimums. ( I2e14b , b/197751214 )
  • Redo implementation of inspectable ( I927bc , b/191017532 )
  • Changed parameter name of inspectable to match composed ( I3a482 , b/191017532 )
  • Introduced performTouchInput and TouchInjectionScope as a replacement for performTouchInput and TouchInjectionScope , paving the way for other modalities (like mouse).

    TouchInjectionScope has the same methods as GestureScope , with the exception of movePointerTo and movePointerBy , which have been renamed to updatePointerTo and updatePointerBy . All other methods are the same.

    The behavior of TouchInjectionScope is almost identical to GestureScope , with two small details:

    1. When sending a down event while pointers had been moved without sending a move event (in other words, updatePointerTo() has been used, but not move() , and then down() is called), the previous implementation would advance the event time and send a move event before sending the down event. The new implementation still sends the move event, but doesn't advance the event time in this specific scenario.
    2. When sending an up event while pointers had been moved without sending a move event (similar as above), the previous implementation would advance the event time and send a move event before sending the up event. The new implementation does neither: the new positions of the pointers will only be reflected through the up event.

    Finally, TouchInjectionScope introduces a new method currentPosition(pointerId: Int) to get the current position of the given pointer. ( If1191 , b/190493367 )

বাগ ফিক্স

  • Allow clip to extend touch target bounds beyond the clip region for minimum touch target purposes. ( I43e10 , b/171509422 )
  • Support for stretch overscroll has been added on Android 12 devices. ( Iccf3c , b/171682480 )

Version 1.1.0-alpha03

1 সেপ্টেম্বর, 2021

androidx.compose.ui:ui-*:1.1.0-alpha03 is released. Version 1.1.0-alpha03 contains these commits.

নতুন বৈশিষ্ট্য

  • Updated Compose 1.1.0-alpha03 to depend on Kotlin 1.5.30 . ( I74545 )

এপিআই পরিবর্তন

  • Added Modifier.inspectable for wrapping other modifiers. ( I1909b , b/191017532 )
  • Added BlurredEdgeTreatment API to simplify blur use cases into more commonly used combinations of clip flags and TileModes. Most use cases involve either letting blurred content render outside the original content bounds and blurring regions outside these bounds with transparent black, or clipping content to content bounds sampling the closest edge for blur kernels that extend beyond content bounds. ( I6b4b7 , b/166927547 )
  • Added support for RenderEffect in compose desktop. Introduced OffsetEffect as well as the blur modifier as a simple way to introduce blur visual effects to a portion of the composition hierarchy. ( I0f6aa , b/166927547 )
  • Introduced RenderEffect API that can be optionally configured on a Modifier.graphicsLayer to alter the contents of the layer itself. This can be used to blur contents of a composable and child composables within a composition hierarchy. ( I47c4d , b/166927547 )
  • AwaitPointerEventScope now has withTimeout() and withTimeoutOrNull() ( I507f0 , b/179239764 , b/182397793 )
  • Added minimum touch target size to ViewConfiguration for use in semantics and pointer input to ensure accessibility. ( Ie861c )
  • Add TileMode.Decal support which is useful in defining edge behavior for blur based RenderEffects. ( I7e8ed , b/166927547 )
  • performScrollToIndex , performScrollToKey , hasScrollToIndexAction and hasScrollToKeyAction are now stable API ( I142ae , b/178483889 )
  • Added test method to get the clipped bounds. ( I6b28e )

বাগ ফিক্স

  • Removed isBounded method from BlurredEdgeTreatment in favor of explicitly checking if the shape parameter is null. ( I85d68 )

Version 1.1.0-alpha02

18 আগস্ট, 2021

androidx.compose.ui:ui-*:1.1.0-alpha02 is released. Version 1.1.0-alpha02 contains these commits.

এপিআই পরিবর্তন

  • PointerEvent now has support for reading mouse button state and keyboard modifier state. ( I6310c , b/180075467 )
  • Injected gestures now use the MainTestClock's time as the source of truth for time. The current time for injected events in performGesture will be initialized to the current time of the MainTestClock. ( Ifb364 , b/192064452 )
  • Added DpRect(DpOffset, DpSize) constructor ( I2cf16 , b/194219828 )
  • Added DpSize class ( I7abb1 , b/194219828 )

বাগ ফিক্স

  • Updated Vector graphics xml parsing to support ColorStateLists as root color tint properties on VectorDrawables. ( I86915 , b/195668138 )

Version 1.1.0-alpha01

4 আগস্ট, 2021

androidx.compose.ui:ui-*:1.1.0-alpha01 is released. Version 1.1.0-alpha01 contains these commits.

এপিআই পরিবর্তন

  • RelocationRequester.bringIntoView now accepts a rectangle as a parameter which enables us to bring a part of a composable into view ( Ice2c5 , b/194330245 )
  • AnimatedImageVector and the related APIs are now in the new androidx.compose.animation:animation-graphics module. ( I60873 )
  • Added experimental modifier to handle relocation requests. ( I65a97 , b/178211874 )
  • Introduced BrushPainter API to support drawing of an arbitrary Brush within a Painter, similar to ColorPainter

    Updated Brush API to have an intrinsic size parameter that is queried within BrushPainter ( Ia2752 , b/189466433 )

  • Updated DrawScope#drawImage method that consumes source and destination rects to consume an optional FilterQuality parameter. This is useful for pixel art that is intended to be pixelated when scaled up for pixel based art. Updated BitmapPainter + Image composable to also consume an optional FilterQuality parameter ( Ie4fb0 , b/180311607 )

  • Added GestureScope.advanceEventTime method to give more control over the timing of events in a gesture ( Ibf3e2 )

বাগ ফিক্স

  • In order to better support chaining of draw modifiers, make sure the Modifier.paint implementation calls drawsContent. Previously Modifier.paint was expected to a leaf node in the chain of Modifiers, however, by doing so it prevents it from being configured on a composable container (ex. box) or adding additional decorations on top such as Modifier.paint().border() . By having Modifier.paint call drawContent after drawing the contents of the given painter, we have better behavior consistency in behavior with the modifier pattern. ( Ibb2a7 , b/178201337 , b/186213275 )
  • Dialogs now follow the platform sizing behaviour. Set usePlatformDefaultWidth to false to override this behaviour. ( Iffaed , b/192682388 )
  • Moved InfiniteAnimationPolicy to :compose:ui ( I5eb09 , b/160602714 )
  • Scrolling via semantics actions for lazy lists and regular scrolling components is now animated ( Id9066 , b/190742024 )

সংস্করণ 1.0

সংস্করণ 1.0.5

3 নভেম্বর, 2021

androidx.compose.ui:ui-*:1.0.5 is released. Version 1.0.5 contains these commits.

বাগ ফিক্স

  • Fixed a crash tracking derivedStateOf instances. ( aosp/1792247 )

সংস্করণ 1.0.4

13 অক্টোবর, 2021

androidx.compose.ui:ui-*:1.0.4 is released. Version 1.0.4 contains these commits.

নির্ভরতা আপডেট

  • Updated to depend on Kotlin 1.5.31

সংস্করণ 1.0.3

29 সেপ্টেম্বর, 2021

androidx.compose.ui:ui-*:1.0.3 is released. Version 1.0.3 contains these commits.

নির্ভরতা আপডেট

  • Updated to depend on Kotlin 1.5.30

সংস্করণ 1.0.2

1 সেপ্টেম্বর, 2021

androidx.compose.ui:ui-*:1.0.2 is released. Version 1.0.2 contains these commits.

Updated to support the Compose 1.0.2 release. Compose 1.0.2 is still compatible with Kotlin 1.5.21 .

সংস্করণ 1.0.1

4 আগস্ট, 2021

androidx.compose.ui:ui-*:1.0.1 is released. সংস্করণ 1.0.1 এই কমিট ধারণ করে.

নির্ভরতা আপডেট

  • Updated to depend on Kotlin 1.5.21 .

সংস্করণ 1.0.0

28 জুলাই, 2021

androidx.compose.ui:ui-*:1.0.0 is released. Version 1.0.0 contains these commits.

Major features of 1.0.0

This is the first stable release of Compose. Please see the official Compose Release blog for more details!

পরিচিত সমস্যা

  • If you are using Android Studio Bumblebee Canary 4 or AGP 7.1.0-alpha04 / 7.1.0-alpha05 , you may hit the following crash:

      java.lang.AbstractMethodError: abstract method "void androidx.lifecycle.DefaultLifecycleObserver.onCreate(androidx.lifecycle.LifecycleOwner)"
    

    To fix, temporarily increase your minSdkVersion to 24+ in your build.gradle file. This issue will be fixed in the next version of Android Studio Bumblebee and AGP 7.1 . ( b/194289155 )

Version 1.0.0-rc02

14 জুলাই, 2021

androidx.compose.ui:ui-*:1.0.0-rc02 is released. Version 1.0.0-rc02 contains these commits.

বাগ ফিক্স

  • Dialogs now follow the platform sizing behaviour. Set usePlatformDefaultWidth to false to override this behaviour. ( Iffaed , b/192682388 )

Version 1.0.0-rc01

জুলাই 1, 2021

androidx.compose.ui:ui-*:1.0.0-rc01 is released. Version 1.0.0-rc01 contains these commits.

নতুন বৈশিষ্ট্য

  • Split ui-tooling module into ui-tooling and ui-tooling-preview ( Iefa28 , b/190649014 )

এপিআই পরিবর্তন

  • Removed deprecated experimental FocusManager#moveFocusIn and FocusManager#moveFocusOut ( I227d7 , b/170154986 , b/186567354 , b/168510304 )
  • Canvas now supports a contentDescription parameter for accessibility. ( Ib547c )
  • useDefaultMaxWidth in PopupProperties was renamed to usePlatformDefaultWidth . ( I05710 )
  • Dialogs are now able to use the entire screen width. ( I83929 , b/190810877 )
  • Added experimental support for HSV and HSL color representations. ( Id7cf8 , b/180731008 )

আচরণ পরিবর্তন

  • Compose @Preview now provides a LocalActivityResultRegistryOwner that allows you to preview Composables that use APIs like rememberLauncherForActivityResult() that depend on that owner existing. ( Ib13d1 , b/185693006 )
  • Compose @Preview now provides a LocalOnBackPressedDispatcherOwner that allows you to preview Composables that use APIs like BackHandler that depend on that owner existing. ( Ia1c05 , b/185693006 )

বাগ ফিক্স

  • Moved InfiniteAnimationPolicy to androidx.compose.ui:ui ( I5eb09 , b/160602714 )
  • AnimatedImageVector was temporarily removed in order to change the module structure. ( I41906 , b/160602714 )

সংস্করণ 1.0.0-beta09

16 জুন, 2021

androidx.compose.ui:ui-*:1.0.0-beta09 is released. Version 1.0.0-beta09 contains these commits.

এপিআই পরিবর্তন

  • Change enum Role and LiveRegionMode into inline classes with private constructor ( Id1890 )
  • KeyboardCapitalization is converted into an inline class. ( Id5a1c )
  • Change HapticFeedbackType to inline class. ( I255ec )
  • Modifier.pointerInteropFilter is @ExperimentalComposeUiApi. ( Iede6c )
  • TextAlign, FontSynthesis and TextDirection are now inline classes. ( I212fe )
  • TextOverflow is changed to an inline class. ( I433af )
  • FontStyle is now an inline class. ( I9e48b )

বাগ ফিক্স

  • Key constants are @ExperimentalComposeUiApi for now. Consuming code can declare private constants prior to stabilization. ( Ia5d48 )
  • Compose tests can now be run on Robolectric. The following limitations have so far been identified:
    • There is no native bitmap, so ImageBitmap() leads to a NullPointerException.
    • There is no drawing, so captureToImage() will indefinitely await the next draw pass (ie it deadlocks).
    • There is no font loaded, so any text will be measured incorrectly. All characters have a fixed height of around 20px and width of 1px.
    • ComposeTestRule.waitUntil {} does not run the main thread while it's waiting, making it effectively the same as ComposeTestRule.mainClock.advanceTimeUntil {} More limitations are expected to be identified in the future. ( I284fa )

Added Profile Rules

This release adds profile rules to the following compose modules ( I14ed6 ):

  • androidx.compose.animation
  • androidx.compose.animation-core
  • androidx.compose.foundation
  • androidx.compose.foundation-layout
  • androidx.compose.material
  • androidx.compose.material-ripple
  • androidx.compose.runtime
  • androidx.compose.ui
  • androidx.compose.ui.geometry
  • androidx.compose.ui.graphics
  • androidx.compose.ui.text
  • androidx.compose.ui.text
  • androidx.compose.ui.unit
  • androidx.compose.ui.util

What are profile rules?

  • Profile rules for a library are specified in a text file baseline-prof.txt located in the src/main or equivalent directory. The file specifies a rule per line, where a rule in this case is a pattern for matching to methods or classes in the library. The syntax for these rules is a superset of the human-readable ART profile format that is used when using adb shell profman --dump-classes-and-methods ... . These rules take one of two forms to target either methods or classes.

  • A method rule will have the following pattern:

    <FLAGS><CLASS_DESCRIPTOR>-><METHOD_SIGNATURE>
    
  • And a class rule will have the following pattern:

    <CLASS_DESCRIPTOR>
    
  • Here <FLAGS> is one or more of the characters H , S , and P to indicate whether or not this method should be flagged as "Hot", "Startup", or "Post Startup".

  • The <CLASS_DESCRIPTOR> is the descriptor for the class that the targeted method belongs to. For example, the class androidx.compose.runtime.SlotTable would have a descriptor of Landroidx/compose/runtime/SlotTable; .

  • The <METHOD_SIGNATURE> is the signature of the method, and includes the name, parameter types, and return types of the method. For example, the method fun isPlaced(): Boolean on LayoutNode has the signature isPlaced()Z .

  • These patterns can have wildcards ( ** , * , and ? ) in order to have a single rule encompass multiple methods or classes.

নিয়ম কি করে?

  • A method that has the flag H indicates that this method is a "hot" method, and should be compiled ahead of time.

  • A method that has the flag S indicates that it is a method which is called at startup, and should be compiled ahead of time to avoid the cost of compilation and interpreting the method at startup time.

  • A method that has the flag P indicates that it is a method which is called after startup.

  • A class that is present in this file indicates that it is used during startup and should be pre-allocated in the heap to avoid the cost of class loading.

এটা কিভাবে কাজ করে?

  • Libraries can define these rules which will be packaged in AAR artifacts. When an app is then built which includes these artifacts, these rules are merged together and the merged rules are used to build a compact binary ART profile that is specific to the app. ART can then leverage this profile when the app is installed on devices in order to ahead-of-time compile a specific subset of the application to improve the performance of the application, especially the first run. Note that this will have no effect on debuggable applications.

Version 1.0.0-beta08

2 জুন, 2021

androidx.compose.ui:ui-*:1.0.0-beta08 is released. Version 1.0.0-beta08 contains these commits.

এপিআই পরিবর্তন

  • NestedScrollSource enum is replaced by an inline class. ( Ie321b , b/187055290 )
  • FocusManager.clearFocus(forcedClear = true) is renamed to FocusManager.clearFocus(force = true) ( Ia0c41 )
  • Refactored enum usages to inline classes to avoid issues with exhaustive when statements when new enum values are added. ( I2b5eb )
  • Remove @ExperimentalComposeUiApi from PopupProperties . ( I01fa6 )
  • PointerType was changed from an enum to an inline class ( If5058 )
  • ContentDescription and Text semantics properties are no longer single values but lists. This enables to merge them as they are instead of concatenations. Also provided better testing APIs to utilize these changes ( Ica6bf , b/184825850 )
  • Modifier.focusModifier() is deprecated and replaced by Modifier.focusTarget() ( I6c860 )
  • Modifier.onSizeChanged() and Modifier.onGloballyPositioned() are not inlined functions anymore ( I727f6 , b/186109675 )
  • KeyboardType enum is replaced by an inline class. ( I73045 , b/187055290 )
  • Replaced FocusState enum with a FocusState interface ( Iccc1a , b/187055290 )
  • ImeAction enum is replaced by an inline class. ( I18be5 , b/187055290 )
  • PlaceholderVerticalAlign is converted into an inline class. ( If6290 )
  • TextUnitType is an inline class now. ( I4cba9 )
  • AnnotatedString.withAnnotation functions are now ExperimentalTextApi instead of ExperimentalComposeApi. ( I0cd0a )
    • TextUnit constructor with TextUnitType is now ExperimentalTextApi instead of ExperimentalComposeApi.

বাগ ফিক্স

  • Fixed the bug introduced in beta07 where LazyColumn/Row items were displayed partially after the scroll ( I8c9ac , b/188566058 )
  • Now detectDragGesures , detectVerticalGestures , and detectHorizontalGestures will consume the position change automatically, no need to call change.consumePositionChange in the onDrag callbacks ( I42fc4 , b/185096350 , b/187320697 )
  • LayoutModifiers providing alignment lines was fixed. A bug causing the parent not being remeasured when the alignment lines of the children were changing was fixed. ( I4401f , b/174315652 )
  • Modifier.onGloballyPositioned() was changed to report the coordinates of this modifier in the modifier chain, not the layout coordinates after applying all the modifiers. This means that now the ordering of modifiers is affecting what coordinates would be reported. ( Ieb67d , b/177926591 )

Version 1.0.0-beta07

18 মে, 2021

androidx.compose.ui:ui-*:1.0.0-beta07 is released. Version 1.0.0-beta07 contains these commits.

এপিআই পরিবর্তন

  • Added ViewRootForInspector interface for use in inspector ( Ib70df )
  • SubcomposeLayoutState now supports setting count of reusable slots. The layout will keep up to this count slots active instead of disposing them in order to reuse the slot next time we need a new one ( Ieb981 )
  • KeyEventType enum is replaced by an inline class. ( Id670a , b/187055290 )
  • FocusDirection enum is replaced by an inline class. ( Ib6d03 , b/187055290 , b/184086802 )
  • Introduces ability to hoist the SubcomposeLayout state which allows you to precompose the content into a requires slotId which would make the next measure pass faster as once we try to subcompose with the given slotId next time there will be no composition needed. ( I42580 , b/184940225 )
  • Added Clip Selection Handle ( Iff80d , b/183408447 )
  • Removed unused APIs related to LayoutInspector support. ( I2ac78 )

বাগ ফিক্স

  • LazyColumn/Row will now keep up to 2 previously visible items active (not disposed) even when they are scrolled out already. This allows the component to reuse the active subcompositions when we will need to compose a new item which improves the scrolling performance. ( Ie5555 )
  • TextGeomerticTransform and TextDecoration on AnnotatedString will be applied as given. ( I61900 , b/184760917 )

Version 1.0.0-beta06

5 মে, 2021

androidx.compose.ui:ui-*:1.0.0-beta06 is released. Version 1.0.0-beta06 contains these commits.

এপিআই পরিবর্তন

  • Solve Conflict with Navigation Gesture ( I1145e )
  • @ComposeCompilerApi no longer @RequiresOptIn ( Iab690 )
  • Added CollectionInfo and CollectionItemInfo accessibility APIs that allows to mark collection and its items for accessibility services ( Id54ef , b/180479017 )
  • Added SemanticsActions.ScrollToIndex to scroll a list with indexed items to the item with a certain index, and SemanticsProperties.IndexForKey to get the index of an item in a list with keyed items. Both actions are implemented by LazyList.
    • Added SemanticsNodeInteraction.performScrollToIndex that scrolls a list to the given index, and SemanticsNodeInteraction.performScrollToKey that scrolls a list to the item with the given key. ( I4fe63 , b/178483889 , b/161584524 )
  • Added ownerViewId to GraphicLayerInfo ( I19f62 )
  • Added Font() overloads to load fonts from assets, File and FileDescriptor ( I5d382 )
  • Added accessibility API error that allows to mark a node that contains invalid input ( I12997 , b/180584804 , b/182142737 )
  • Added Font() overloads to load fonts from assets, File and FileDescriptor ( I43007 )
  • AnnotatedString save support to TextFieldValue.Saver . Added addTtsAnnotation and withAnnotation utility functions to AnnotatedString.Builder ( I8cbdc , b/178446304 )
  • Added TextUnit constructor function TextUnit(value: Float, type: TextUnitType) ( I7ecce , b/178446304 )

Version 1.0.0-beta05

21 এপ্রিল, 2021

androidx.compose.ui:ui-*:1.0.0-beta05 is released. Version 1.0.0-beta05 contains these commits.

এপিআই পরিবর্তন

  • Added experimental FocusManager.moveFocus(In) and FocusManager.moveFocus(Out) ( Ic5534 , b/183746743 )
  • Added experimental performTextInputSelection API ( I2dcbb , b/178510628 )
  • InputEventCallback interface is deprecated. It was not possible to use the interface in any public API; and there was no usage of it in the code. ( I34a02 , b/184003208 )
  • Deprecated TextLayoutResult/createTextLayoutResult function. It is an unused public function which was added for testing. The function does not do anything usable for Compose text APIs. The function is now deprecated and will be removed later. ( I80413 )

বাগ ফিক্স

  • Fixed ACTION_SCROLL_FORWARD , ACTION_SCROLL_BACKWARD , accessibilityActionScrollLeft , accessibilityActionScrollUp , accessibilityActionScrollRight and accessibilityActionScrollDown accessibility scroll actions. Instead of scrolling to the end of the scrollable, it will now scroll by one screen in the given direction. ( Ieccb0 )
  • The AndroidManifest files from ui-test-manifest and ui-tooling-data are now compatible with Android 12 ( I6f9de , b/184718994 )

Version 1.0.0-beta04

7 এপ্রিল, 2021

androidx.compose.ui:ui-*:1.0.0-beta04 is released. Version 1.0.0-beta04 contains these commits.

এপিআই পরিবর্তন

  • Rename hideSoftwareKeyboard and showSoftwareKeyboard on SoftwareKeyboardController to hide() and show() respectively.
    • Provide the full CompositionLocal interface for LocalSoftwareKeyboardController, allowing it to be set (especially useful in tests) ( I579a6 )
  • LiveRegion accessibility API is added. যদি নোড একটি লাইভ অঞ্চল হিসাবে চিহ্নিত করা হয়, তবে অ্যাক্সেসিবিলিটি পরিষেবাগুলি স্বয়ংক্রিয়ভাবে ব্যবহারকারীকে এর পরিবর্তনগুলি সম্পর্কে অবহিত করবে ( Idcf6f , b/172590946 )
  • TextOverflow.Visible is introduced. ( Ic8f89 )

বাগ ফিক্স

  • Fixed the issue when items of LazyColumn / LazyRow located on the edges were incorrectly positioned after fast fling ( Ie4d13 , b/183877420 )
  • AndroidViewBinding now properly removes fragments inflated via FragmentContainerView when the AndroidViewBinding is removed from the compose hierarchy. ( Ib0248 , b/179915946 )
  • AndroidViewBinding now correctly nests fragments inflated via FragmentContainerView when your ComposeView is within a Fragment , fixing issues with saving and restoring the state of those fragments. ( I70eb0 , b/179915946 )
  • Compose ViewBinding now depends on Fragment 1.3.2 and now consistently shows fragments inflated via FragmentContainerView after configuration changes. ( I0743d , b/179915946 )

Version 1.0.0-beta03

24 মার্চ, 2021

androidx.compose.ui:ui-*:1.0.0-beta03 is released. Version 1.0.0-beta03 contains these commits.

এপিআই পরিবর্তন

  • Deferred check for ViewTree dependencies of ComposeView ( I8dbbf , b/182466548 )
  • Added optional startX / endX and startY / endY parameters to swipeUp / swipeDown / swipeLeft / swipeRight functions in GestureScope . ( I49e2d , b/182063305 )

Version 1.0.0-beta02

10 মার্চ, 2021

androidx.compose.ui:ui-*:1.0.0-beta02 is released. Version 1.0.0-beta02 contains these commits.

এপিআই পরিবর্তন

  • Added new LocalSoftwareKeyboardController composition local API to replace previous SoftwareKeyboardController interface on TextField. ( I5951e , b/168778053 )
  • Added new LocalSoftwareKeyboardController composition local API to replace previous SoftwareKeyboardController interface on TextField. ( I84472 , b/168778053 )
  • Removed the following SemanticsMatcher s:
    • hasWidth(width, tolerance)
    • hasHeight(height, tolerance)
    • hasLeftPosition(left, tolerance)
    • hasTopPosition(top, tolerance)
    • hasRightPosition(right, tolerance)
    • hasBottomPosition(bottom, tolerance) ( If16bd )
  • Marked the following SemanticsMatchers as @ExperimentalTestApi:
    • hasWidth(width, tolerance)
    • hasHeight(height, tolerance)
    • hasLeftPosition(left, tolerance)
    • hasTopPosition(top, tolerance)
    • hasRightPosition(right, tolerance)
    • hasBottomPosition(bottom, tolerance) ( Ia600c )
  • Added the following SemanticsMatcher s:
    • hasWidth(width, tolerance)
    • hasHeight(height, tolerance)
    • hasLeftPosition(left, tolerance)
    • hasTopPosition(top, tolerance)
    • hasRightPosition(right, tolerance)
    • hasBottomPosition(bottom, tolerance) ( I2f502 )

বাগ ফিক্স

  • Enforce restrictions on public usage of experimental APIs ( I6aa29 , b/174531520 )
  • androidx.compose.ui:ui no longer depends on AppCompat or Fragment. If you are using a ComposeView in your application, and you are using Fragment and/or AppCompat, make sure that you are using AppCompat 1.3+ / Fragment 1.3+ - these versions are needed to correctly set lifecycle and saved state owners required for ComposeView. ( I1d6fa , b/161814404 )
  • Fix for broken rememberSaveable { mutableStateOf(0) } when used inside a destination of navigation-compose. ( I1312b , b/180042685 , b/180701630 )
  • Added new LocalSoftwareKeyboardController composition local API to replace previous SoftwareKeyboardController interface on TextField. ( I658b6 , b/168778053 )
  • Fixed rare NoSuchElementException in ComposeRootRegistry 's tearDownRegistry() ( Iddce1 )

Version 1.0.0-beta01

24 ফেব্রুয়ারি, 2021

androidx.compose.ui:ui-*:1.0.0-beta01 is released. Version 1.0.0-beta01 contains these commits.

This is the first release of Compose 1.0.0 Beta.

এপিআই পরিবর্তন

  • onStart callback has been added to detectDragGestures ( I67269 , b/179995594 )
  • Modifiers for sizing to intrinsics are no longer experimental. ( I15744 )
  • MeasureBlocks was renamed to MeasurePolicy which became a fun interface. Layout APIs were updated / simplified to use MeasurePolicy. ( Icab48 , b/167662468 , b/156751158 )
  • InteractionState has been replaced with [Mutable]InteractionSource
    • ইন্টারফেসগুলি মিথস্ক্রিয়া ইভেন্টগুলি নির্গত / সংগ্রহের জন্য দায়ী।
    • Instead of passing interactionState = remember { InteractionState() } to components such as Button and Modifier.clickable() , use interactionSource = remember { MutableInteractionSource() } .
    • Instead of: Interaction.Pressed in interactionState you should instead use the extension functions on InteractionSource, such as InteractionSource.collectIsPressedAsState().
    • For complex use cases you can use InteractionSource.interactions to observe the stream of Interactions. See the InteractionSource documentation and samples for more information.
    • ( I85965 , b/152525426 , b/171913923 , b/171710801 , b/174852378 )
  • Add AccessibilityMananger interface and LocalAccessibilityMananger in CompositionLocals ( I53520 )
  • Removed deprecated LayoutCoordinates methods, use function instead of the property for positionInParent and boundsInParent ( I580ed , b/169874631 , b/175142755 )
  • Typealiases replaced by underlying types:
    • ColorStop is now Pair<Float, Color>
    • SpanStyleRange is now `AnnotatedString.Range
    • ParagraphStyleRange is now AnnotatedString.Range<ParagraphStyle>
    • StringAnnotation is now AnnotatedString.Range<String>
    • ( I8dd1a )
  • নিম্ন স্তরের পাঠ্য উপাদান যেমন CoreTextField থেকে ইনপুট সেশনের জন্য নতুন TextInputSession তৈরি করা হয়েছে। ( I8817f , b/177662148 )
  • Placeable now exposes measuredSize, representing the size which the child layout actually measured to. This size might not respect the measurement constraints. ( Ib2729 , b/172560206 , b/172338608 )
  • নির্বাচন গোষ্ঠী সংশোধক যোগ করুন যা অ্যাক্সেসযোগ্যতার উদ্দেশ্যে ট্যাব বা রেডিও বোতামের সংগ্রহ চিহ্নিত করতে দেয় ( Ie5c29 )
  • The defaultFactory for compositionLocalOf and staticCompositionLocalOf is now required instead of optional.

    This changes removes a potential type error for non-nullable types where no default factory was provided. Previously this would provide a null reference for a non-nullable type.

    For nullable types consider supplying { null } as the default factory.

    We do not recommend using locals with non-nullable types unless a sensible default can be provided. If no sensible default exists, the defaultFactory lambda should throw an exception. However throwing an exception means that consumers of the local will have an implicit dependency on it being provided that is not enforced by the type system. ( Ifbd2a )

  • Deprecated methods from ui modules were removed ( I646f6 )

  • Size modifiers were renamed. Modifier.width/height/size were renamed to requiredWidth/requiredHeight/requiredSize. Modifier.preferredWidth/preferredHeight/preferredSize were renamed to width/height/size. ( I5b414 )

  • Modifier.tapGestureFilter has been removed. Use Modifier.pointerInput { detectTapGestures(...) } instead. ( I266ed , b/175294473 )

  • partial consumption was removed from pointer input system. The recommended way of coordinating partial consumtion is Modifier.nestedScroll. ( Ie9c9b )

  • ওরিয়েন্টেশন ফাউন্ডেশন প্যাকেজে সরানো হয়েছে। VelocirtTracker ui.gesture থেকে ui.input.pointer-এ সরানো হয়েছে। ( Iff4a8 , b/175294473 )

  • imageResource and vectorResource are now extension functions on ImageBitmap and ImageVector companions respectively. load{Image,Vector,Font}Resource ফাংশন মুছে ফেলা হয়েছে। ( I89130 )

  • AnimationClockObservable and subclasses have been removed. AnimatedFloat has been removed. ( Icde52 , b/177457083 )

  • প্রদানকারীদের নাম পরিবর্তন করে CompositionLocalProvider করা হয়েছে

    • কম্পোজিশন কনস্ট্রাক্টর আর একটি কী প্যারামিটার গ্রহণ করে না, এবং অবচয় করা হয়েছে।
    • currentCompositeKeyHash একটি কম্পোজেবল টপ লেভেল ফাংশনের পরিবর্তে একটি কম্পোজেবল টপ লেভেল প্রপার্টিতে পরিণত হয়েছে।
    • CompositionData এবং CompositionGroup কে androidx.compose.runtime.tooling নামস্থানে সরানো হয়েছে
    • ComposableLambda একটি কংক্রিট ক্লাসের পরিবর্তে একটি ইন্টারফেস তৈরি করা হয়েছে, এবং আর টাইপ প্যারামিটার নেই।
    • ComposableLambdaN একটি কংক্রিট ক্লাসের পরিবর্তে একটি ইন্টারফেস তৈরি করা হয়েছে, এবং আর টাইপ প্যারামিটার নেই।
    • snapshotFlow ফাংশন androidx.compose.runtime নামস্থানে সরানো হয়েছে
    • SnapshotMutationPolicy-এর মার্জ পদ্ধতি আর পরীক্ষামূলক নয়
    • @TestOnly শীর্ষ স্তরের clearRoots ফাংশন সরানো হয়েছে। এর আর প্রয়োজন নেই।
    • keySourceInfoOf এবং resetSourceInfo ফাংশন মুছে ফেলা হয়েছে। তাদের আর প্রয়োজন নেই।
    • Composer.collectKeySourceInformation সরানো হয়েছে। এর আর প্রয়োজন নেই।
    • isJoinedKey, joinedKeyLeft এবং joinedKeyRight পদ্ধতিগুলি সরানো হয়েছে। তাদের আর প্রয়োজন নেই।
    • বিভিন্ন শীর্ষ স্তরের APIগুলি সরানো হয়েছে এবং বিভিন্ন ফাইলে পুনর্গঠিত হয়েছে৷ কোটলিনের ফাইল ক্লাসের শব্দার্থবিদ্যার কারণে, এটি বাইনারি সামঞ্জস্যতা ভেঙে দেবে কিন্তু উত্স সামঞ্জস্য নয়, তাই বেশিরভাগ ব্যবহারকারীর জন্য সমস্যা হওয়া উচিত নয়।
    • ( I99b7d , b/177245490 )
  • ComponentActivity.setContent() was removed from compose:ui. Use the one from androidx.activity:activity-compose:1.3.0-alpha01 . viewModel() and LocalViewModelStoreOwner were removed from compose:ui. Use the ones from androidx.lifecycle:lifecycle-viewmodel-compose:1.0.0-alpha01 ( I6f36b )

  • Modifier.scrollable পুনরায় কাজ করা হয়েছে. এখন এটি ScrollableController ক্লাসের পরিবর্তে স্ক্রোলযোগ্য ইন্টারফেস ব্যবহার করে ( I4f5a5 , b/174485541 , b/175294473 )

  • CustomEvens support from PointerInputModifier has been removed ( I02707 , b/175294473 )

  • SnapshotStateObserver is not Experimental anymore ( Id2e6a )

  • কিছু পূর্বে অবহেলিত API মুছে ফেলা হয়েছে ( Ice5da , b/178633932 )

  • longPressGestureFilter and doubleClickGestureFilter have been removed. use Modifier.pointerInput with helper functions eg detectTapGestures ( I2fedf , b/175294473 )

  • Removed String.format API refactored usages in various toString methods to not leverage String.format internally. ( Id1290 )

  • Removed dp assertions ( I798d2 )

  • Removed androidx.compose.runtime:runtime-dispatch ( I55feb )

  • Text actions now check focus automatically ( I13777 , b/179648629 )

  • Removed runBlockingWithManualClock ( I15cdc , b/179664814 )

  • Modifier.verticalScroll()/horizontalScroll() এ স্ক্রোল পজিশন এখন Ints ( I81298 ) দিয়ে উপস্থাপন করা হয়েছে

  • FlingConfig-এর নাম পরিবর্তন করে FlingBehavior করা হয়েছে এখন পূর্বনির্ধারিত Decays-এর পরিবর্তে সাসপেন্ড অ্যানিমেশন কাস্টমাইজ করার অনুমতি দেয়। ( I02b86 , b/175294473 )

  • Added a helper function that is helpful to set the same action for all ImeAction callbacks ( I63447 , b/179226323 )

  • সমস্ত পাঠ্য ক্ষেত্র থেকে সফ্টওয়্যারকিবোর্ড কন্ট্রোলার কলব্যাক সরানো হয়েছে শীঘ্রই একটি নতুন API দ্বারা প্রতিস্থাপিত হবে৷ ( Iae869 , b/168778053 )

  • FontSpan and FontWeigthStyleSpan are no longer used and removed. ( Ie5b56 , b/177423444 )

  • নিম্নলিখিত উপাদান API পরিবর্তন করেছেন:

    • ডিফল্ট প্যাডিং কাস্টমাইজ করার জন্য টপ/বটমঅ্যাপবারে কন্টেন্টপ্যাডিং প্যারামিটার যোগ করা হয়েছে।
    • BackdropScaffold-এ পরামিতিগুলিকে ঐচ্ছিক পরামিতিগুলির আগে প্রয়োজনীয় প্যারামিটারগুলির জন্য API নির্দেশিকা অনুসরণ করতে পুনরায় সাজানো হয়েছে৷
    • BottomNavigationItem-এ সরানো icon প্যারামিটার selected হওয়ার পরে এবং onClick
    • BottomNavigationItem-এ alwaysShowLabels প্যারামিটারের নাম পরিবর্তন করে alwaysShowLabel .
    • কয়েকটি উপাদানে bodyContent প্যারামিটারের নাম পরিবর্তন করে শুধু content
    • ButtonDefaults.buttonColors() এ পরামিতিগুলি পুনরায় সাজানো হয়েছে। অনুগ্রহ করে মনে রাখবেন যেহেতু প্যারামিটারের ধরন পরিবর্তন করা হয়নি, এটি আপনার কোডে কোনো ত্রুটির কারণ হবে না - অনুগ্রহ করে নিশ্চিত করুন যে আপনি নামযুক্ত প্যারামিটার ব্যবহার করছেন বা ম্যানুয়ালি অর্ডার আপডেট করছেন, অন্যথায় আপনার কোড আগের মতো কাজ করবে না।
    • darkColors()secondaryVariant প্যারামিটার যোগ করা হয়েছে। এই রঙটি সাধারণত গাঢ় থিমের secondary ​​মতোই, তবে ধারাবাহিকতা এবং আরও কাস্টমাইজেশনের জন্য যোগ করা হয়।
    • পাবলিক API পৃষ্ঠ থেকে ElevationDefaults এবং animateElevation() সরানো হয়েছে কারণ সেগুলি সাধারণত ব্যবহৃত/উপযোগী ছিল না।
    • Slider onValueChangeEnd নাম পরিবর্তন করে onValueChangeFinished করা হয়েছে এবং এটিকে বাতিলযোগ্য করে দিয়েছে।
    • ধারাবাহিকতার জন্য content Snackbar text প্যারামিটারের নাম পরিবর্তন করা হয়েছে।
    • ডিফল্ট প্যাডিং কাস্টমাইজ করার অনুমতি দেওয়ার জন্য DropdownMenuItem contentPadding প্যারামিটার যোগ করা হয়েছে এবং content RowScope এ একটি এক্সটেনশন করা হয়েছে।
    • ModalDrawerLayout নাম পরিবর্তন করে ModalDrawer করা হয়েছে।
    • BottomDrawerLayout নাম পরিবর্তন করে BottomDrawer করা হয়েছে।
    • ( I1cc66 )

বাগ ফিক্স

  • Added API to use AnimatedVectorDrawable resources in Compose. Use animatedVectorResource to load an <animated-vector> XML as an AnimatedImageVector and animate it with painterFor ( I8ea91 )
  • Added new LocalSoftwareKeyboardController composition local API to replace previous SoftwareKeyboardController interface on TextField. ( I658b6 , b/168778053 )

সংস্করণ 1.0.0-আলফা12

ফেব্রুয়ারী 10, 2021

androidx.compose.ui:ui-*:1.0.0-alpha12 is released. সংস্করণ 1.0.0-alpha12-এ এই কমিট রয়েছে।

এপিআই পরিবর্তন

  • Support for ViewGroups was removed from UiApplier. The Deprecated emitView composables were removed. ( Ifb214 )
  • নতুন নির্ভরতার জন্য পয়েন্টার ইনপুট সনাক্তকরণ কোরোটিন কখন পুনরায় চালু করা উচিত তা নির্দেশ করার জন্য Modifier.pointerInput-এর এখন মনে রাখার কী প্রয়োজন। ( I849cd )
  • CompositionReference renamed to CompositionContext ( I53fcb )
  • Bounds has been renamed to DpRect ( I4b32a )
  • Testing update: hasText() will check for both input and label/hint/placeholder texts in the text field ( Iab803 )
  • viewModel() composable and LocalViewModelStoreOwner were moved to androidx.lifecycle.viewmodel.compose. You will now need to add a separate dependency androidx.lifecycle:lifecycle-viewmodel-compose:1.0.0-alpha01 in order to use it. ( I7a374 )
  • Allow nullable action in AccessibilityAction, change action label in AccessibilityAction and CustomAccessibilityAction from CharSequence to String ( I0dc82 )
  • ইমেজবিটম্যাপ এবং ইমেজভেক্টরের সাথে নামকরণের নিয়মগুলিকে আরও ভালভাবে মেলানোর জন্য, ইমেজপেইন্টারের নাম পরিবর্তন করে বিটম্যাপপেইন্টারে সমান্তরাল ভেক্টরপেইন্টার করা হয়েছে। ( Iba381 , b/174565889 )
  • Better substring test APIs with substring now as an argument ( Icbe78 )
  • Added an Modifier.focusOrder() that accepts a FocusRequester without specifying a custom focus order a lambda. This is useful when we only need to specify a reference but not a custom focus order for a composable ( I4f52a , b/179180978 )
  • ComponentActivity.setContent androidx.activity.compose.setContent এ androidx.activity:activity-কম্পোজ মডিউলে চলে গেছে। ( ICf416 )
  • ধ্বংসাত্মক এবং অনুলিপি() পদ্ধতিগুলি বেশ কয়েকটি ক্লাস থেকে সরানো হয়েছে যেখানে সেগুলি খুব কমই ব্যবহৃত হত। ( I26702 , b/178659281 )
  • Moved Popup to be platform specific. AndroidPopupProperties has been renamed to PopupProperties, and isFocusable has been moved to a focusable parameter in PopupProperties ( Ieeea5 )
  • Moved Dialog to be platform specific. Renamed AndroidDialogProperties to DialogProperties. ( I4ef69 , b/179138130 )
  • Made LayoutNode internal ( I8a7b1 , b/175103944 )
  • Constraints.enforce was replaced with Constraints.constrain. ( I8b8ea )
  • loadFontResource বাতিল করা হয়েছে। পরিবর্তে fontResource ব্যবহার করুন। imageResource, loadImageResource, vectorResource এবং loadVectorResource বাতিল করা হয়েছে। পরিবর্তে পেইন্টার রিসোর্স ব্যবহার করুন। ( I6b809 )
  • For performance reasons, ScrollAxisRange semantics now takes lambdas returning Floats instead of direct Float values. ( If4a35 , b/178657186 )
  • Added EditableText semantics to mark editable input text of the text field for accessibility and corresponding test methods to check the semantics ( I8e07a )
  • Made OwnerLayer/OwnerScope/OwnerSnapshotObserver internal ( I4ffaf , b/175103944 )
  • toIntPx() এর নাম পরিবর্তন করে roundToPx() করা হয়েছে। ( I9b7e4 , b/173502290 )
  • IntBounds এর নাম পরিবর্তন করে IntRect করা হয়েছে এবং API উন্নত করা হয়েছে। ( I1f6ff )
  • Snapshot API was updated to be more consistent with API guideline as well as hiding internal implementation classes from the public API. ( Id9e32 )
  • প্রসারিত এবং সঙ্কুচিত শব্দার্থবিদ্যা অ্যাকশন যোগ করা হয়েছে। ModalBottomSheetState ( Ib5064 ) এ প্রসারিত এবং অর্ধেক প্রসারিত যোগ করা হয়েছে
  • Modifier.dragGestureFilter বাতিল করা হয়েছে। পরিবর্তে Modifier.pointerInput { detectDragGestures (...)} ব্যবহার করুন। বিকল্পভাবে, একটি অক্ষ টেনে নেওয়ার জন্য Modifier.draggable ব্যবহার করুন ( I0ba93 , b/175294473 )
  • পরিবেষ্টনের সাথে মেলানোর জন্য পরিবেষ্টনের নাম পরিবর্তন করা হয়েছে -> কম্পোজিশন স্থানীয় পুনঃনাম। অ্যাম্বিয়েন্টের নাম ছিল অ্যাম্বিয়েন্টফু, এখন কম্পোজিশনলোকালের নাম লোকালফু। ( I2d55d )
  • The deprecated BaseTextField is now removed. পরিবর্তে BasicTextField ব্যবহার করুন। ( I71368 )
  • নির্বাচন ভিত্তি সরানো হয়েছে. ( I7892b )
  • একইভাবে আমরা আগে যেভাবে state { 0 } কম্পোজেবল মুছে দিয়েছিলাম এবং এখন remember { mutableStateOf(0) } আমরা savedInstanceState { 0 } composable সরিয়ে ফেলতে যাচ্ছি। এর পরিবর্তে আপনার rememberSaveable { mutableStateOf(0) } ব্যবহার করা উচিত এবং এটি স্বয়ংক্রিয়ভাবে সংরক্ষণ এবং পুনরুদ্ধার করবে যদি MutableState-এর ভিতরে ব্যবহৃত টাইপটি বান্ডেলে সংরক্ষণ করা যায়। যদি আগে আপনি একটি কাস্টম সেভার অবজেক্ট পাস করে থাকেন তবে এখন আপনাকে রিমেম সেভের একটি নতুন ওভারলোড ব্যবহার করতে হবে যার stateSaver প্যারামিটার রয়েছে। ব্যবহারটি এইরকম দেখাবে: val holder = rememberSaveable(stateSaver = HolderSaver) { mutableStateOf(Holder(0)) } ( Ib4c26 , b/177338004 )
  • Added password semantics for accessibility ( I231ce )
  • যোগ করা হয়েছে ProgressBarRangeInfo. অনির্ধারিত প্রবেশযোগ্যতার জন্য অনির্দিষ্ট অগ্রগতি বার চিহ্নিত করতে ( I6fe05 )
  • emptyContent() এবং (@Composable () -> Unit).orEmpty() ইউটিলিটিগুলিকে অবমূল্যায়ন করা হয়েছে কারণ তাদের আর কোন ইতিবাচক কর্মক্ষমতা প্রভাব বা মান নেই ( I0484d )
  • snapshotFlow and withMutableSnapshot are no longer experimental ( I6a45f )
  • Recomposers can now be closed. Closed recomposers will continue recomposition until composition child coroutines complete. Recomposer.shutDown renamed to cancel to contrast with close. ( Ib6d76 )
  • UiSavedStateRegistry was renamed to SaveableStateRegistry, AmbientUiSavedStateRegistry was renamed to AmbientSaveableStateRegistry and both moved to androidx.compose.runtime.saveable package. ( I30224 )
  • Artefact androidx:compose:runtime:runtime-saved-instance-state was renamed to androidx:compose:runtime:runtime-saveable ( I6dcac )
  • Many longstanding deprecated APIs in the ui package are deleted. ( I2f2dc )
  • The compose:runtime-dispatch artifact is now deprecated. MonotonicFrameClock can now be found in compose:runtime and AndroidUiDispatcher can be found in compose:ui. ( Ib5c36 )
  • Outline.* classes are not data classes anymore ( I4879e , b/178001427 )
  • Removed view.captureToImage() without any replacement. ( I7fcd2 )
  • একটি ইন্টারফেস হতে এবং PathEffect বাস্তবায়নের সাথে মেলে উৎস বিষয়বস্তুর রিফ্যাক্টরড কালারফিল্টার API-এর rgb মান পরিবর্তন করতে ব্যবহৃত ColorMatrix API প্রবর্তন করা হয়েছে। ( Ica1e8 )
  • শেপের তৈরি আউটলাইনে লেআউটডিরেকশন প্যারাম যোগ করুন। এটি লেআউট দিক সচেতন আকার তৈরি করতে দেয়। ( I57c20 , b/152756983 )
  • onImeActionPerformed বাতিল করা হয়েছে। পরিবর্তে KeyboardActions ব্যবহার করুন ( If0bbd , b/179071523 )
  • Introduced an InfiniteAnimationPolicy coroutine context element that will be applied in infinite animations. By default no policy is installed, except when running tests with ComposeTestRule . ( I50ec4 , b/151940543 )
  • canDrag has been removed from the Modifier.scrollable. ( Id66e7 , b/175294473 )
  • Renamed LayoutCoordinates.parentCoordinates to LayoutCoordinates.parentLayoutCoordinates to allow for a new parentCoordinates property. The parentCoordinates property now offers the parent modifier's LayoutCoordintes. This will make for more complete use cases for onSizeChanged() and onGloballyPositioned() ( Idfbfd , b/177926591 )
  • tapGestureFilter, doubleTapGestureFilter, longPressGestureFilter এবং pressIndicaitonGestureFilter অবমুক্ত করা হয়েছে। পরিবর্তে detectTapGestures ফাংশন সহ Modifier.clickable বা Modifier.pointerInput ব্যবহার করুন। ( I6baf9 , b/175294473 )
  • SaveableStateRegistry's unregisterProvider was removed. Instead registerProvider() now returns SaveableStateRegistry.Entry object which you can use to unregister ( Ic4274 , b/178583739 )
  • RememberSavedInstanceState() এর নাম পরিবর্তন করে RememberSaveable() রাখা হয়েছে এবং androidx.compose.runtime.saveable প্যাকেজে সরানো হয়েছে। ( I1366e , b/177338004 )
  • Removed CoreText and CoreTextField from public API
    • Removed deprecated SelectionContainer overload
    • ( I99c19 )
  • Tests in which Compose is used in hierarchies that are added/removed directly to the WindowManager are now more stable. ( Ie81ed , b/175765614 )
  • Removed Recomposer.current(). [বিমূর্ত] কম্পোজভিউ এখন ডিফল্ট অলসভাবে তৈরি করা, উইন্ডোর জন্য ViewTreeLifecycleOwner দ্বারা চালিত উইন্ডো-স্কোপড রিকম্পোজার। হোস্ট লাইফসাইকেল বন্ধ করার সময় পুনর্গঠন এবং ফ্রেমনানোস-ভিত্তিক অ্যানিমেশন টিকগুলি বিরাম দেওয়া হয়। ( I38e11 )
  • Recomposer.runningRecomposers now offers a global StateFlow of read-only RecomposerInfo for observing ongoing composition state in the process. Prefer this API to Recomposer.current(), which is now deprecated. ( If8ebe )
  • Saver, listSaver(), mapSaver(), autoSaver androidx.compose.runtime.savedinstancestate থেকে androidx.compose.runtime.saveable ( I77fe6 ) এ সরানো হয়েছে
  • EditCommands accept AnnotatedString. However this is an API only change and multi-style text editing is not implemented yet. ( I4c3ea )
  • Uptime and Duration have been removed. ( Ib9bf4 , b/177420019 )
  • CompositionData.asTree() and related APIs moved to separate ui-tooling-data module and marked as experimental ( Ic95b8 )
  • RounderCornerShape, CutCornerShape এবং CornerBasedShape-এর পরামিতিগুলিকে বাম/ডান থেকে শুরু/শেষে পুনঃনামকরণ করা হয়েছে যাতে rtl দিক থেকে আকৃতির স্বয়ংক্রিয় মিররিং সমর্থন করা যায়। যখন স্বয়ংক্রিয়-মিররিং কাঙ্খিত হয় না এমন ক্ষেত্রে অ্যাবসোলুট রাউন্ডার কর্নারশেপ এবং অ্যাবসোলুটকাট কর্নারশেপ চালু করা হয়েছিল। ( I61040 , b/152756983 )
  • The API the Compose compiler plugin targets has been refactored to use an interface instead of a concrete class. The interface also no longer uses a type parameter.

    This is an internal change that should not effect source code compatibility but is a binary breaking change. ( I3b922 , b/169406779 )

  • Remove unintentionally public StringBuilder.deleteAt function ( Id6ed9 )

বাগ ফিক্স

  • ComposeViews placed in view hierarchies that are children of another composition now host child compositions of their ancestors ( I92883 )
  • Updated compose's imageFromResource API to reuse the resource drawable cache when loading ImageBitmap objects. ( If3627 , b/178751994 )

সংস্করণ 1.0.0-alpha11

28 জানুয়ারী, 2021

androidx.compose.ui:ui-*:1.0.0-alpha11 is released. সংস্করণ 1.0.0-alpha11-এ এই কমিট রয়েছে।

এপিআই পরিবর্তন

  • WithConstraints কে BoxWithConstraints হিসাবে পুনরায় কাজ করা হয়েছিল এবং foundation.layout-এ সরানো হয়েছিল। ( I9420b , b/173387208 )
  • Key.DPadUp is deprecated. Use Key.DirectionUp instead. ( Iab335 , b/177954892 )
  • Owner interface from now on internal. ( If8e35 )
  • Added FocusManager.moveFocus() API to move focus programmatically. ( I045cb , b/177681839 )
  • উইন্ডো-রিলেটিভ কোঅর্ডিনেট ব্যবহার করতে PopupPositionProvider পরিবর্তন করে, গ্লোবাল কোঅর্ডিনেট নয়। parentGlobalBounds-এর নাম পরিবর্তন করে অ্যাঙ্করবাউন্ডে, এবং windowGlobalBounds পরিবর্তন করে windowsize: IntSize ( I2994a )
  • সময়কাল এবং আপটাইম লং মিলিসেকেন্ডের সাথে প্রতিস্থাপিত হবে এবং এই ধাপটি সেই ক্লাসগুলিতে পয়েন্টার ইনপুটের নির্ভরতা সরিয়ে দেয়। ( IA33b2 , b/175142755 , b/177420019 )
  • AmbientSavedStateRegistryOwner was added similarly to already existing AmbientLifecycleOwner and AmbientViewModelStoreOwner ( I9a3e8 , b/176756365 )
  • Updated vector graphics API to support parsing of tinting applied to the root of vector graphics. ( Id9d53 , b/177210509 )
  • Added toolType to PointerInputChange to differentiate devices ( Iac787 , b/175142755 )
  • AmbientWindowManager is renamed to AmbientWindowInfo ( I2686a , b/177084714 , b/177084983 )
  • গ্লোবাল কোঅর্ডিনেট পদ্ধতি অবমূল্যায়িত করা হয়েছে এবং নতুন উইন্ডো-ভিত্তিক স্থানাঙ্ক পদ্ধতি তৈরি করা হয়েছে। ( IE284 )
  • Modifier.toolingGraphicsLayer যোগ করা হয়েছে যা পরিদর্শন চালু হলে একটি গ্রাফিক্স লেয়ার মডিফায়ার যোগ করে। ( I315df )
  • FocusRequester.createRefs এখন পরীক্ষামূলক হিসেবে চিহ্নিত করা হয়েছে কারণ এটি পরিবর্তন হতে পারে। ( I2d898 , b/177000821 )
  • SemanticsPropertyReceiver.hidden-এর নাম পরিবর্তন করে invisibleToUser করা হয়েছে এবং @ExperimentalComposeUiApi চিহ্নিত করা হয়েছে। AccessibilityRangeInfo এর নাম পরিবর্তন করে ProgressBarRangeInfo করা হয়েছে। stateDescriptionRange-এর নাম পরিবর্তন করে progressBarRangeInfo করা হয়েছে। AccessibilityScrollState এর নাম পরিবর্তন করে ScrollAxisRange করা হয়েছে। horizontal AccessibilityScrollState-এর নাম পরিবর্তন করে HorizontalScrollAxisRange করা হয়েছে। vertical AccessibilityScrollState-এর নাম পরিবর্তন করে verticalScrollAxisRange করা হয়েছে। ( Id3148 )
  • Removed PointerInputData and modified PointerInputChange to give it all of PointerInputData's fields. Made PointerInputEvent and PointerInputEventData internal because they aren't used in any public API. ( Ifff97 , b/175142755 )
  • Updated GraphicsLayerScope implement density to support conversions of dp into raw pixels. ( Ied528 , b/176819695 )
  • Updated matrix API to follow row major ordering and provide index constants to assist with conversions between different matrix representations to match framework conversion logic between SkMatrix and Matrix4 internally. ( I432e6 )
  • পরীক্ষামূলক একঘেয়ে ফ্রেম অ্যানিমেশন ক্লকঅফ পদ্ধতিগুলি সরানো হয়েছে ( Ib753f , b/170708374 )
  • Move String.fintPrecedingBreak and String.fingFollowingBreak to InternalTextApi. ( I657c4 )
  • androidx.compose.ui.util.isSurrogatePair has been removed from public API. ( Ia9494 )
  • Renamed TransformedText.transformedText to TransformedText.text
    • TransformedText is no longer a data class ( Ie672a )
  • Removed data class from the following classes:
    • ইনলাইন টেক্সট সামগ্রী
    • LocaleList ( I605c7 )
  • The following classes are not data classes anymore:
    • AnnotatedString
    • অনুচ্ছেদশৈলী
    • SpanStyle
    • টেক্সটস্টাইল
    • ফন্টওয়েট
    • টেক্সট ডেকোরেশন
    • TextGeometricTransform
    • TextIndex
    • TextLayoutResult
    • TextLayoutInput ( Iaff99 )
  • Changed VisualTransformation to be a functional interface ( I3bba4 )
  • Added a function reference parameter type ( I5e1bd )
  • Add transformed bounds to InspectorNode ( Ice42f )

বাগ ফিক্স

  • onCommit, onDispose, এবং onActive-কে SideEffect এবং DisposableEffect APIs ( If760e ) এর পক্ষে বর্জন করা হয়েছে
  • Changes to factory functions for Font/FontFamily/Typeface

    • Added factory functions that start with capital letter
    • Deprecated previous factory functions with lowercase first letters
    • New factory functions return the FontFamily instead of subclasses
    • Hid constructors of the subclasses, so that they can only be constructed via factory functions.
    • Renamed Font.asFontFamily to Font.toFontFamily ( I42aa7 )
  • ComposeContentTestRule প্রবর্তন করা হয়েছে, যা ComposeTestRule প্রসারিত করে এবং setContent সংজ্ঞায়িত করে, যা ComposeTestRule থেকে সরানো হয়েছে। একটি ফ্যাক্টরি পদ্ধতি যুক্ত করা হয়েছে createEmptyComposeRule() যা একটি ComposeTestRule প্রদান করে এবং আপনার জন্য একটি কার্যকলাপ চালু করে না। যখন আপনি আপনার পরীক্ষার সময় আপনার কার্যকলাপ চালু করতে চান তখন এটি ব্যবহার করুন, যেমন ActivityScenario.launch ( I9d782 , b/174472899 ) ব্যবহার করে

  • animateAsState এখন animateFooAsState, যেখানে Foo হল অ্যানিমেটেড ভেরিয়েবলের ধরন। যেমন ফ্লোট, ডিপি, অফসেট, ইত্যাদি ( Ie7e25 )

  • ছবি এবং আইকনে বিষয়বস্তুর বিবরণ প্যারামিটার যোগ করা হয়েছে। এটি অ্যাক্সেসিবিলিটি পরিষেবাগুলির বিবরণ প্রদান করতে ব্যবহৃত হয় ( I2ac4c )

  • ডিসপ্লে সাইজ সরান কারণ এটি এড়ানো উচিত। সাধারণত কমপক্ষে onRoot() বা উইন্ডোর আকার ব্যবহার করা ভাল। ( I62db4 )

  • OnSizeChanged was reporting the size of the layout's contents. It now reports the size at its position within the modifier chain. ( I36b78 , b/177562900 )

  • The emit() API and all overloads have been deprecated and renamed to ComposeNode. The APIs are identical, just a different name in order to follow the naming conventions of Compose ( I4137b )

  • TextFieldValue accepts AnnotatedString. However this is an API only change and multi-style text editing is not implemented yet.

    • Removed initial from EditingBuffer constructor parameters. ( I326d5 )
  • invalidate এবং compositionReference() এখন যথাক্রমে currentRecomposeScope এবং memoryCompositionReference-এর পক্ষে অবচয়। ( I583a8 )

  • AnnotatedString is changed to extend from kotlin.CharSequence. Therefore length and subSequence are now instance functions, and extension functions are removed. ( Iaf429 )

  • RememberObserver replaces CompositionLifecycleObserver and CompositionLifecycleObserver is now deprecated.

    RememberObserver is a replacement for CompositionLifecycleObserver with modified semantics and renamed methods. Changing to the new API can be done mechanically for objects that are only remembered once which is, and continues to be, the recommended practice. However, if a reference was remembered more than once in a composition onRemembered is called for each reference where onEnter is only called once. onEnter was called multiple time if the object was used in subcompositions, such as WithConstraints and Scaffold making the single onEnter call guarantee unreliable and it was removed for RememberObserver .

    RememberObserver adds onAbandoned which is called if the RememberObserver instance is returned from the callback passed to remember but was not remembered in the composition state and, therefore, will never have onRemembered called. This can occur if an exception terminates composition before completing or the composition is discarded because the state is was producing a composition for is no longer current or otherwise is no longer needed. If the instance of RememberObserver following the single reference recommendation above is tracking an external resource both onForgotten and onAbandoned each indicate that the resource is no longer needed. If the object is tracking work started or resources allocated in onRemembered , onAbandoned can be ignored as it will not be called if onRemembered is called. ( I02c36 )

  • Deprecated arithmetic operations between 2 or more TextUnits. Deprecated TextUnit.Sp and TextUnit.Em functions in preference to the extension functions such as Int.sp and Int.em. ( I48369 )

  • Resources in libraries with no explicitly declared public resources (ex. via public.xml) are now private by default. ( Ia1dcc , b/170882230 )

  • ScrollableColumn/Row বর্জন করা হয়েছে। Using ScrollableColumn is less efficient compared to LazyColumn when you have a large scrolling content because with LazyColumn we can only compose/measure/draw visible elements. To prevent users from going the inefficient way we decided to deprecate ScrollableColumn and ScrollableRow and promote usages of LazyColumn and LazyRow instead. ব্যবহারকারীরা এখনও সিদ্ধান্ত নিতে পারে যে তাদের অলস আচরণের প্রয়োজন নেই এবং মডিফায়ারগুলি সরাসরি এভাবে ব্যবহার করুন: Column(Modifier.verticalScroll(rememberScrollState())) ( Ib976b , b/170468083 )

  • LazyColumn/LazyRow/LazyVerticalGrid এর সুযোগের জন্য নতুন items(count: Int) কারখানা পদ্ধতি। items(items: List) এবং itemsIndexed(items: List) এখন এক্সটেনশন ফাংশন তাই ব্যবহার করার সময় আপনাকে ম্যানুয়ালি আমদানি করতে হবে। অ্যারেগুলির জন্য নতুন এক্সটেনশন ওভারলোড: items(items: Array) এবং itemsIndexed(Array) ( I803fc , b/175562574 )

  • Please use ImeAction.None instead of ImeAction.NoAction

    • Please use ImeAction.Default instead of ImeAction.Unspecified ( Ie1bcc )
  • পরীক্ষায় TestCoroutineDispatcher লিভারেজ ( I532b6 )

  • Renamed TextInputService.onStateUpdated as updateState ( Id4853 )

  • TransitionDefinition-ভিত্তিক ট্রানজিশন অবচয় করা হয়েছে ( I0ac57 )

  • TextUnitType.Inherit is removed. Please use TextUnitType.Unspecified instead. ( I9ff64 )

Version 1.0.0-alpha10

13 জানুয়ারী, 2021

androidx.compose.ui:ui-*:1.0.0-alpha10 is released. Version 1.0.0-alpha10 contains these commits.

ব্রেকিং চেঞ্জ

  • Restructuring of the internal compiler API allows batching changes to the nodes generated as a result of composition into the "apply changes" phase of composition, after all @Composable functions have completed.

    This is a behavioral breaking change that might affect application code as nodes are no longer available from internal and experimental APIs until after changes have been applied. This can usually be worked around by surrounding code with such dependencies in a SideEffect composable to defer execution of the code until after the nodes have been created and initialized. ( I018da )

এপিআই পরিবর্তন

  • Added Modifier.focusOrder() that can be used to specify a custom focus traversal order ( I90cf5 , b/175899543 , b/170155556 , b/170155429 )
  • Removed deprecated focusObserver use onFocusChanged or onFocusEvent instead ( I3ecb9 , b/175156387 )
  • EditOperations API Changes
    • Renamed EditOperation as EditCommand
    • Added Command suffix for EditOperation concrete implementations
    • EditCommand's are no longer data classes
    • Renamed EditOperation.process function to applyTo
    • Renamed InputEventListener to InputEventCallback
    • ( I0a366 )
  • Removed unused PxSquared, PxCubed, PxInverse. Changed Size.center() to be a property. ( I973f7 )
  • ui-test module will now be able to configure the creation of Recomposers for UIs under test ( Ibebd8 )
  • উপাদান অংশ এবং গাণিতিক অপারেশন আছে পরিবর্তিত বেগ. ( Ib0447 )
  • অনুরূপ পরীক্ষামূলক এপিআই টীকা ( Ia4502 , b/171464963 ) এর সাথে সামঞ্জস্যপূর্ণ হতে @ExperimentalTesting এর নাম পরিবর্তন করে @ExperimentalTestApi করা হয়েছে
  • Renamed Color.useOrElse() to Color.takeOrElse() ( Ifdcf5 )
  • Removed unused DpInverse, DpSquared, and DpCubed classes. ( I4d62b )
  • Constraints#satisfiedBy was renamed to isSatisfiedBy. ( I9cf5c )
  • Add a callback to notify Owner when layoutnode bounds change. ( I72fd1 )
  • Added isSpecified, isUnspecified, and useOrElse for inline classes with an Unspecified constant. ( I93f7b , b/174310811 )
  • Expand [Abstract]ComposeView APIs to allow recycling Compose-based views, disposing their composition to recreate again later. Add APIs for installing and discovering window-scoped Recomposers and CompositionReferences for creating child compositions.

    Add ViewCompositionStrategy for configuring the composition disposal strategy of [Abstract]ComposeViews; default behavior is dispose on window detach. ( I860ab )

  • Removed Any.identityHashCode() public api ( I025d7 )

  • Removed toStringAsFixed API in favor of using String.format instead directly. ( Iaba6b )

  • Strings.kt ফাউন্ডেশনে টগল যোগ করুন ( I4a5b7 , b/172366489 )

  • নেটিভক্লাসকে UI মডিউলে সরানো হয়েছে এবং এটি অভ্যন্তরীণ করেছে। পরিবর্তে 'is MyClass' ব্যবহার করার জন্য সমান বাস্তবায়নে নেটিভক্লাসের আপডেট করা ব্যবহার। ( I4f734 )

  • Modifier.focus() এবং Modifier.focusRequester() বাতিল করা হয়েছে। পরিবর্তে Modifier.focusModifier() এবং Modifier.focusReference() ব্যবহার করুন। ( I75a48 , b/175160751 , b/175160532 , b/175077829 )

  • Introduced SelectionRegistrar.notifySelectableChange to notify Selectable updates to SelectionManager. ( I6ff30 , b/173215242 )

  • Introduced Outline.bounds property to obtain the bounding rect for various outline implementations. ( I16e74 , b/175093504 )

  • Deprecated TestUiDispatcher. Use Dispatchers.Main instead ( Ic171f , b/175385255 )

  • ImeOptions and KeyboardOptions are no more a data class ( I3c898 , b/168684531 )

  • VisualTransformation API Changes

    • Renamed OffsetMap to OffsetMapping
    • Renamed OffsetMapping.identityOffsetMap to OffsetMapping.Identity
    • PasswordTransformation is no longer data-class
    • Moved OffsetMapping to its own file
    • ( I0bdf3 )
  • অবস্থানের নাম পরিবর্তন করে DpOffset করা হয়েছে এবং getDistance() ( Ib2dfd ) সরানো হয়েছে

  • Changed fun Dp.isFinite() to a val Dp.isFinite ( I50e00 )

বাগ ফিক্স

  • Recomposer now exposes a Flow of its current state, allowing monitoring its activity and the activity of associated effects. ( Ifb2b9 )
  • The native keyEvent can now be accessed through keyEvent.nativeKeyEvent ( I87c57 , b/173086397 )
  • animate() এখন animateAsState() দিয়ে প্রতিস্থাপিত হয়েছে, যা T এর পরিবর্তে একটি State<T> প্রদান করে। এটি আরও ভাল পারফরম্যান্সের অনুমতি দেয়, কারণ অবৈধকরণের সুযোগ যেখানে স্টেট মান পড়া হয় সেখানে সংকুচিত করা যেতে পারে। ( Ib179e )
  • শব্দার্থতত্ত্ব ভূমিকা API যোগ করুন এবং ক্লিকযোগ্য, নির্বাচনযোগ্য এবং টগলযোগ্য শব্দার্থবিদ্যা মডিফায়ারে একটি প্যারামিটার হিসাবে ভূমিকা যোগ করুন। পরিবর্তন করা হয়েছে Modifier.progressSemantics যাতে স্লাইডারও এটি ব্যবহার করতে পারে। ( I216cd )
  • New coroutine-based API Animatable that ensures mutual exclusiveness among its animations.
    • New DecayAnimationSpec to support multi-dimensional decay animation
    • ( I820f2 , b/168014930 )

Version 1.0.0-alpha09

16 ডিসেম্বর, 2020

androidx.compose.ui:ui-*:1.0.0-alpha09 is released. Version 1.0.0-alpha09 contains these commits.

এপিআই পরিবর্তন

  • Deprecated KeyEvent.Alt is now removed. Use KeyEvent.isAltPressed instead. ( Idd695 )
  • Modifier.keyInputFilter and Modifier.previewKeyInputFilter are deprecated use Modifier.onKeyEvent and Modifier.onPreviewKeyEvent instead ( Idbf1b , b/175156384 )
  • Modifier.focusObserver বাতিল করা হয়েছে। পরিবর্তে Modifier.onFocusChanged বা Modifier.onFocusEvent ব্যবহার করুন ( I30f17 , b/168511863 , b/168511484 )
  • For suspending pointer input APIs, renamed HandlePointerInputScope to AwaitPointerEventScope and handlePointerInput() to awaitPointerEventScope(). ( Idf0a1 , b/175142755 )
  • অটোফিল API এখন পরীক্ষামূলক API এবং এর জন্য অপ্ট-ইন প্রয়োজন ( I0a1ec )
  • Adding destructuring declarations to create FocuSRequester instances ( I35d84 , b/174817008 )
  • অ্যাক্সেসিবিলিটি লেবেলের নাম পরিবর্তন করে কন্টেন্ট ডেসক্রিপশন করা হয়েছে। অ্যাক্সেসিবিলিটি ভ্যালুকে স্টেটডেসক্রিপশনে নামকরণ করা হয়েছে। ( I250f2 )
  • Custom events were removed from suspending pointer input API ( Ia54d5 , b/175142755 )
  • Introduced several new functions in SelectionRegistrar and also renamed onPositionChange to notifyPositionChange. ( Ifbaf7 )
  • More members of LayoutNode we marked as internal ( I443c6 )
  • LayoutInfo was introduced to be used by tooling and testing ( I9b190 )
  • AndroidOwner made internal ( Ibcad0 , b/170296980 )
  • Removed ExperimentalPointerInput annotation ( Ia7a24 )
  • Nested scroll system added. Refer to Modifier.nestedScroll for more details ( I36e15 , b/162408885 )
  • subcomposeInto(LayoutNode) was made internal ( Id724a )
  • The Applier interface has changed to simplify building trees bottom-up instead of top-down.

    The insert() method has been renamed to insertTopDown() .

    A new method, insertBottomUp() , was added.

    An applier either inserts nodes into the tree it is editing using insertTopDown() or insertBottomUp() depending on which performs better.

    Some trees, such as LayoutNode and View , are much more efficient to build bottom-up than top-down. Prior to this change, a stack of inserts was required to implement bottom-up which needed to be copied to every applier which needed bottom-up construction for performance. With this change an Applier overrides insertBottomUp() to build a tree bottom-up and insertTopDown() to build the tree top-down. ( Icbdc2 )

  • Added dismissOnBackPress and dismissOnClickOutside properties to AndroidDialogProperties. These allow configuring when the dialog's onDismissRequest lambda will be invoked. ( If5e17 )

  • Added painterResource API to handle opaquely loading Painter objects from either rasterized asset formats (like PNGs) or VectorDrawables. Consumers no longer have to determine the type of asset in advance and can call this method to get a Painter object to use in Image composables or painter modifiers. ( I2c703 , b/173818471 )

  • উত্তরসূরির শব্দার্থকল্প পরিষ্কার করতে এবং নতুন সেট করতে Modifier.clearAndSetSemantics যোগ করা হয়েছে। ( I277ca )

  • DrawScope-এর সাথে থাকার জন্য ContentDrawScope কে ui-গ্রাফিক্স মডিউলে সরানো হয়েছে। ( Iee043 , b/173832789 )

  • Introduced PathEffect graphics API to provide different patterns to stroked shapes. Deprecated usage of NativePathEffect in favor of expect/actual implementation of PathEffect. ( I5e976 , b/171072166 )

  • Added IdlingResource interfaces to Compose, as a Compose supported variant of Espresso's idling resources. They can be registered and unregistered through the ComposeTestRule ( I433f3 )

  • Removed global (un)registration of ComposeIdlingResource and global (un)registration of clocks into ComposeIdlingResource ( I32660 )

বাগ ফিক্স

  • অফসেট মডিফায়ারে Lambdas এখন Float এর পরিবর্তে IntOffset ফেরত দেয়। ( Ic9ee5 , b/174137212 , b/174146755 )
  • Removed SlotTable, SlotReader and SlotWriter from the public API. These were marked as InternalComposeAPI previously. Now they are internal to the compose module.

    CompositionData and CompositionGroup were added as a replacement for the ui-tooling API to use to extract composition information. These are public but are not intended for use outside the ui-tooling API as they provide the raw information the ui-tooling API interprets ( I31a9c )

  • ড্রয়িং এনভায়রনমেন্টের সাইজিং তথ্য উপলব্ধ হলে অলসভাবে একটি শেডার ইন্সট্যান্স তৈরি করতে রিফ্যাক্টর করা ShaderBrush। কাস্টম DrawModifier বাস্তবায়ন না করেই কম্পোজিশনের সময় কম্পোজেবলের সম্পূর্ণ অঙ্কন সীমা দখল করে এমন গ্রেডিয়েন্টগুলিকে সংজ্ঞায়িত করতে এটি কার্যকর।

    গ্রেডিয়েন্ট অবজেক্টে ফ্যাক্টরি পদ্ধতির পক্ষে গ্রেডিয়েন্ট ফাংশন কনস্ট্রাক্টর API গুলিকে অবমূল্যায়ন করা হয়েছে। ( I511fc , b/173066799 )

  • LazyColumnFor, LazyRowFor, LazyColumnForIndexed এবং LazyRowForIndexed অবমূল্যায়ন করুন। পরিবর্তে LazyColumn এবং LazyRow ব্যবহার করুন ( I5b48c )

  • Deprecated BuildCompat.isAtLeastR ( Idb37e )

  • Added buildAnnotatedString factory function in order to build an AnnotatedString. Deprecated annotatedString builder function. ( Idfe0b )

  • Removed extension methods on Float and Double to convert values to radians. Moved to be a private function within the implementation PathParser which was the only place where it was used ( I25f52 )

Version 1.0.0-alpha08

2 ডিসেম্বর, 2020

androidx.compose.ui:ui-*:1.0.0-alpha08 is released. Version 1.0.0-alpha08 contains these commits.

এপিআই পরিবর্তন

  • শব্দার্থবিদ্যা ক্রিয়া যুক্ত করুন খারিজ ( I2b706 )
  • DrawModifier API গুলিকে androidx.compose.ui প্যাকেজ থেকে androidx.compose.ui.draw প্যাকেজে সরানো হয়েছে। বর্তমান এপিআই থেকে বঞ্চিত থেকে মাইগ্রেশনে সহায়তা করার জন্য typealiases/helper পদ্ধতিগুলি অন্তর্ভুক্ত করতে DrawModifierDeprecated.kt ফাইল তৈরি করা হয়েছে। ( Id6044 , b/173834241 )
  • Modifier.drawLayer থেকে Modifier.graphicsLayer নামকরণ করা হয়েছে এছাড়াও API ফিডব্যাক অনুযায়ী GraphicsLayer-এ সম্পর্কিত ক্লাস আপডেট করা হয়েছে। ( I0bd29 , b/173834241 )
  • New methods placeable.placeWithLayer() and placeable.placeRelativeWithLayer() were added which allows custom layouts and layout modifiers to place a child with introducing a graphics layer for their drawing. Having that we can first optimize redrawings, so when we need to move a child we don't have to redraw its content, second we can apply draw transformations for a child ( Ibd8f6 , b/170296989 , b/171493718 , b/173030831 )
  • <T> SubcomposeLayout ঘোষণা থেকে সরানো হয়েছে। আপনি এখন একটি প্রকার উল্লেখ না করে এটি ব্যবহার করতে পারেন। ( Ib60c8 )
  • drawLayer-এর সুবিধা হিসেবে Modifier.scale/rotate API যোগ করা হয়েছে।
    • Modifier.drawOpacity নাম পরিবর্তন করে Modifier.alpha রাখা হয়েছে
    • Modifier.drawShadow নাম পরিবর্তন করে Modifier.shadow করা হয়েছে ( I264ca , b/173208140 )
  • Made PointerInputData's uptime and position fields non-nullable. ( Id468a )
  • MaterialTheme এখন নির্বাচন হ্যান্ডেল এবং নির্বাচন পটভূমির জন্য সঠিক রং সেট করে। নন-মেটেরিয়াল অ্যাপগুলি নির্বাচনের জন্য ব্যবহৃত রঙগুলি কাস্টমাইজ করতে অ্যাম্বিয়েন্ট টেক্সট সিলেকশন কালার ম্যানুয়ালি ব্যবহার করতে পারে। ( I1e6f4 , b/139320372 , b/139320907 )
  • Added WindowManager.isWindowFocused to check if the host window is in focus, and a WindowFocusObserver that provides an onWindowFocusChanged callback. ( I53b2a , b/170932874 )
  • Updated TransformOrigin API to have destructuring syntax to return pivotFractionX and pivotFractionY as component1 and component2 ( If43c4 , b/173586560 )
  • রচনা নির্দেশিকাগুলির সাথে সামঞ্জস্যতা পরীক্ষা করতে কম্পোজযোগ্য ল্যাম্বডা প্যারামিটারের নামকরণ এবং অবস্থানের জন্য লিন্ট চেক যুক্ত করা হয়েছে। এছাড়াও লিন্ট চেক এবং নির্দেশিকা অনুসারে, কিছু এপিআই স্থানান্তরিত করেছে children নাম হিসাবে তাদের পিছনের ল্যাম্বডা content ব্যবহার করে। ( Iec48e )
  • Added API to check if Alt, Ctrl, Meta or Shift modifier keys were pressed when a keyevent was dispatched. ( I50ed9 )
  • একটি নতুন Modifier.drawLayer() ওভারলোড যোগ করা হয়েছে৷ এটি একটি নতুন GraphicsLayerScope-এ একটি ল্যাম্বডা ব্লক লাগে যেখানে আপনি স্তরের পরামিতিগুলিকে এমনভাবে সংজ্ঞায়িত করেন যা রাষ্ট্রের পরিবর্তন ঘটলে পুনর্গঠন এবং রিলেআউট এড়ানোর অনুমতি দেয়। DrawLayerModifier এখন LayoutModifier ( I15e9f , b/173030831 ) এর placeable.placeWithLayer() পদ্ধতিতে এর যুক্তি স্থানান্তর করার প্রস্তুতির জন্য অভ্যন্তরীণ।
  • Ambient সাথে তাদের প্রত্যয় হিসাবে নাম দেওয়া অ্যাম্বিয়েন্টগুলিকে অবমূল্যায়িত করা হয়েছে এবং অন্যান্য অ্যাম্বিয়েন্ট এবং রচনা API নির্দেশিকা অনুসরণ করে অ্যাম্বিয়েন্টের সাথে প্রিফিক্স করা নতুন বৈশিষ্ট্যগুলির সাথে প্রতিস্থাপিত হয়েছে৷ ( I33440 )
  • Moved androidx.compose.ui.text.Typeface to androidx.compose.ui.text.font.Typeface ( Ic2b81 )
  • শব্দার্থতত্ত্বের যুক্তি মার্জঅলডেসেন্ড্যান্ট-এর নাম পরিবর্তন করে মার্জ ডিসেন্ডেন্ট করা হয়েছে। ( Ib6250 )
  • New drag gesture detector suspending pointer input API, including orientation locking. ( Icef25 )
  • Renamed VectorAsset to ImageVector Moved and renamed VectorAsset to Builder to be an inner class of ImageVector as per API guidelines. কম্প্যাটের জন্য ImageVector.Builder লিঙ্ক করতে VectorAssetBuilder-এর টাইপলিয়াস যোগ করা হয়েছে। ( আইসিএফডিসি৮ )
  • ImageBitmap এ ImageAsset এবং সম্পর্কিত পদ্ধতির নাম পরিবর্তন করা হয়েছে। ( IA2d99 )
  • Add zIndex param for the PlacementScope's place() so Modifier.zIndex() now works as a LayoutModifier and any custom layout can set zIndexes for their children right in the placement block ( I711f7 , b/171493718 )
  • ফাউন্ডেশনের শব্দার্থবিদ্যার বৈশিষ্ট্য UI ( I6f05c ) এ সরানো হয়েছে
  • Deprecate place(Offset) and placeRelative(Offset). Use overloads with int offsets instead ( I4c5e7 )
  • Previously Deprecated APIs were removed: Modifier.onPositioned was removed, use Modifier.onGloballyPositioned. Modifier.onDraw was removed, use Modifier.onDrawBehind. Modifier.plus was removed, use Modifier.then. Color.Unset was removed, use Color.Unspecified. PxBounds class was removed, use Rect instead. ( Ie9d02 , b/172562222 )
  • প্রান্তিককরণ ইন্টারফেস আপডেট করা হয়েছে এবং কার্যকরী করা হয়েছে। ( I46a07 , b/172311734 )
  • Gesture detector for tap, double-tap, long press, and press indication were added using the new suspending pointer input. A few utilities were added as well, making it easier for developers to write their own gesture detectors. ( I00807 )
  • id was renamed to layoutId for LayoutIdParentData . Measurable.id was renamed to Measurable.layoutId . ( আইএডিবিসিবি , বি/172449643 )
  • New multitouch gesture detector, including helpers for detecting rotation, zoom, and panning. ( Ic459d )
  • SweepGradientShader এবং SweepGradientBrush APIs চালু করা হয়েছে। ( IA22c1 )
  • পরীক্ষায় সময় নিয়ন্ত্রণ (TestAnimationClock এবং এর ব্যবহার) এখন পরীক্ষামূলক ( I6ef86 , b/171378521 )
  • Add coroutine-based scrolling APIs:

    Adds LazyListState.snapToItem and LazyListState.smoothScrollBy, as well as lower-level APIs for scroll control. These APIs provide a suspend interface to control scrolling that waits until the scroll is finished before returning. ( Ie5642 )

  • Modifier.focusable has need added in foundation. Use this to add focusable behavior to a component, with correct semantics and accessibility. ( I41eb9 , b/152525426 , b/162865824 )

  • Provide default implementations of methods and properties in AnimationClockTestRule that can be delegated to its clock ( I7ea3d , b/173399709 )

  • AndroidComposeTestRule can now accept custom activity launchers ( Ib8288 , b/153623653 , b/154135019 )

  • TextLayoutResult.getLineVisibleEnd is deprecated. As a replacement TextLayoutResult.getLineEnd now has a new parameter visibleEnd. ( I73282 )

  • আপডেট করা TextFieldValue API

    • TextFieldValue.composition শুধুমাত্র পঠনযোগ্য
    • অপসারিত ব্যতিক্রম অবৈধ নির্বাচন পরিসরের জন্য নিক্ষেপ করা হয়েছে ( I4a675 , b/172239032 )
  • Support TtsAnnotation for text to speech engine. ( I54cc6 )

  • New APIs for running animations in coroutines ( Ied662 )

বাগ ফিক্স

  • বক্সের অ্যালাইনমেন্ট প্যারামিটারের নাম পরিবর্তন করে কনটেন্ট অ্যালাইনমেন্ট করা হয়েছে। ( I2c957 )
  • offsetPx সংশোধকদের নাম পরিবর্তন করে অফসেট করা হয়েছে। তারা এখন রাজ্যের পরিবর্তে ল্যাম্বডা প্যারামিটার নিচ্ছে। ( IC3021 , b/173594846 )
  • Added resetInput parameter to TextInputService#onStateUpdated ( I3e8f5 , b/172239032 , b/171860947 )
  • কম্পোজেবল ফাংশনে মডিফায়ার প্যারামিটারের জন্য লিন্ট চেক যোগ করা হয়েছে। এই লিন্ট চেক কম্পোজ নির্দেশিকাগুলির সাথে সামঞ্জস্যের জন্য নামকরণ, রিটার্ন টাইপ, ডিফল্ট মান এবং প্যারামিটারের ক্রম পরীক্ষা করে। ( If493b )
  • Temporarily added option to let the TestAnimationClock be driven by the MonotonicFrameClock ( I1403b , b/173402197 )
  • Added Android Typeface wrapper. You can load an Android Typeface via typeface function ie typeface(Typeface.DEFAULT) . Also renamed typefaceFromFontFamily() to typeface() ( I52ab7 )
  • Added lint check to check that Modifier factory functions are defined as extensions on Modifier, so they can be fluently chained together. ( I07981 )
  • পুরানো ui-টেস্ট মডিউল এবং এর স্টাবগুলি সরান ( I3a7cb )
  • Recomposer no longer accepts an EmbeddingContext; required scheduling dependencies are obtained from the effectCoroutineContext. FrameManager is deprecated; platform integrations should initialize their own global snapshot handling. ( I02369 )
  • Pass style information to accessibility node. ( If5e8d )
  • TextUnit.Inherit-এর নাম পরিবর্তন করে TextUnit করা হয়েছে।অন্যান্য ইউনিটের সাথে সামঞ্জস্যের জন্য অনির্দিষ্ট। ( ifce19 )

Compose UI Version 1.0.0-alpha07

11 নভেম্বর, 2020

androidx.compose.ui:ui-*:1.0.0-alpha07 is released. Version 1.0.0-alpha07 contains these commits.

এপিআই পরিবর্তন

  • Introduced ScaleFactor inline class to represent scale factors for the horizontal and vertical axes independent of one another in order to support non-uniform scaling use cases.
    • Added computeScaleFactor method to ContentScale
    • Added ContentScale.FillBounds to perform non-uniform scaling to stretch the src bounds to fully occupy the destination.
    • Added operator methods to compute ScaleFactor parameters with Size parameters.
    • ( Ic96a6 , b/172291582 )
  • The BiasAlignment and BiasAbsoluteAlignment factories for creating Alignments were added. ( Iac836 , b/169406772 )
  • Allow a developer to forcefully clear focus. ( I90372 )
  • A bug causing elevation not being drawn for Views inside Compose was fixed. ( If7782 )
  • Created onDrawBehind API within ContentDrawScope to match naming convention with Modifier.drawBehind. ( I4fc3a , b/171955269 )
  • Add support for camera distance to complement 3d transformations rotationX/rotationY on layer APIs. ( I40213 , b/171492100 )
  • Added SelectionContainer without the callback ( Ibfadb )
  • ExperimentalSubcomposeLayoutApi টীকাটি সরানো হয়েছে৷ SubcomposeLayout এখন @OptIn ( I708ad ) যোগ না করে ব্যবহার করা যেতে পারে
  • ফার্স্টবেসলাইন এবং লাস্টবেসলাইনকে androidx.compose.ui.layout প্যাকেজে ( Ied2e7 ) সরানো হয়েছে
  • Removed opacity from drawShadow() modifier as it was confusing. ( I82c62 , b/171624638 )
  • MeasureResult was moved out of MeasureScope. ( Ibf96d , b/171184002 )
  • Several layout related symbols were moved from androidx.compose.ui to androidx.compose.layout.ui. ( I0fa98 , b/170475424 )
  • Removed Deprecated FocusState2 ( I686cb , b/168686446 )
  • ZIndexModifier is now internal ( I1808b , b/171493718 )
  • Updated return type of lerp method on Size parameters to return a non-null Size to avoid unnecessary boxing. ( Ib0044 )
  • Added TestMonotonicFrameClock for testing code that relies on Compose's MonotonicFrameClock for awaiting composition frame events using kotlinx-coroutines-test's runBlockingTest ( I4402f )
  • Removed GestureScope.localToGlobal ( I15299 , b/171462785 )
  • Added onAllNodesWithSubstring finder ( I81dd7 , b/171462889 )
  • androidx.ui.test module deprecated. Please migrate to androidx.compose.ui.test and androidx.compose.ui.test.junit4 ( I452e8 )

বাগ ফিক্স

  • captureToBitmap moved to captureToImage. ( I86385 )
  • foundation.Text অবচয় করা হয়েছে এবং material.Text দিয়ে প্রতিস্থাপিত হয়েছে। একটি মৌলিক, অবিকৃত পাঠ্য API এর জন্য যা একটি থিম থেকে মান গ্রহণ করে না, দেখুন androidx.compose.foundation.BasicText। ( if64cb )
  • কীবোর্ড অপশন গ্রহণ করতে পাঠ্যক্ষেত্র আপডেট করুন ( Ida7f3 )
  • কীবোর্ড বিকল্পগুলিকে ImeOptions হিসাবে পুনঃনামকরণ করুন ( I82f36 )
  • কীবোর্ড টাইপ এবং ImeAction কে কীবোর্ড অপশনে সরানো হয়েছে ( I910ce )
  • provideDefault was added as an alternative for providing ambients, and it can be used to specify ambient values that will only be set when there is no ambient value already provided. ( Id6635 , b/171024925 )
  • BaseTextField অবমুক্ত করা হয়েছে। পরিবর্তে BasicTextField ব্যবহার করুন। ( I896eb )
  • Introduce ui-test-junit4 module ( Ib91f8 )
  • relativePaddingFrom was renamed to paddingFrom . The paddingFromBaseline modifier was added, as convenience for specifying distances from layout bounds to text baselines. ( I0440a , b/170633813 )
  • LaunchedTask was renamed to LaunchedEffect for consistency with the SideEffect and DisposableEffect APIs. LaunchedEffect with no subject params is not permitted in order to encourage best practices. ( Ifd3d4 )
  • Introduced resources composable that recomposes when the configuration updates. ( I6387c , b/167352819 )
  • Recomposer now requires a CoroutineContext at construction ( Ic4610 )
  • Sum zIndex values when multiple Modifier.zIndex() applied. Previously the first one was winning. ( Ic514c , b/170623936 )
  • Changes to the internal SlotTable implementation which should not affect the public API. ( If9828 )
  • Added Keyboard auto correct IME Option ( I57b8d )
  • androidx.ui.test moved to androidx.compose.ui.test ( I9ffdb )
  • Removed KeyboardOptions.toImeOptions from public API. ( Ic2e45 )

External Contribution

  • Disabled publication of internal artifact androidx.compose.ui:ui-text-android ( Ib93fa )

Version 1.0.0-alpha06

অক্টোবর 28, 2020

androidx.compose.ui:ui-*:1.0.0-alpha06 is released. Version 1.0.0-alpha06 contains these commits.

এপিআই পরিবর্তন

  • Recomposer is now a CompositionReference and a valid composition parent. Explicit Recomposer is now required in fewer places. ( I4036f )
  • কমপোজেবল এপিআই অভ্যন্তরীণভাবে রচনাগুলি জুড়ে ডেটা অব্যাহত রাখার জন্য 'স্মরণ' উপার্জনের পক্ষে আরও ভালভাবে ইঙ্গিত করার জন্য ভেক্টরপেইন্টারকে স্মরণ করে। ( আইএফডিএ 43 )
  • Updated Modifier.drawWithCache API to expose ContentDrawScope as a receiver scope instead of DrawScope in order to provide implementations the ability to re-order drawing commands. This is useful for blending/ tinting use cases in which content pixels must be rendered first in order for the corresponding blend mode algorithm to be applied properly. ( Ie7ec8 )
  • Move SimpleContainer into PopupTestUtils.kt ( I78c57 )
  • ConsumedData is no longer a data class. See https://android-review.googlesource.com/c/platform/frameworks/support/+/1455219 for details ( I1737f )
  • Fix Rtl Handle Position. ( I6e1e0 )
  • বিমূর্ত শ্রেণীর পরিবর্তে ইন্টারফেস হতে রিফ্যাক্টরড ড্রস্কোপ এবং কন্টেন্টড্রডস্কোপ
    • ড্রেসস্কোপের ক্যানভাসড্রস্কোপ বাস্তবায়ন তৈরি করা হয়েছে
    • পরিবর্তে ক্যানভাস্কোপ ব্যবহার করতে ড্রস্কোপের রিফ্যাক্টরযুক্ত বাস্তবায়ন
    • ড্রস্কোপের জন্য নির্ভরতা মোড়ানোর জন্য ড্রকনটেক্সট তৈরি করেছে
    • ড্রস্কোপে অবনমিত পদ্ধতিগুলি সরানো হয়েছে ( i56f5e )
  • Breaking change: removed the return value from PointerInputFilter.onPointerEvent(...) given that the only value that should be able to be changed in pointer events is consumption data. Instead of returning data from PointerInputFilter.onPointerEvent(...) , now you can just mutate the consumption data of the PointerEvents passed in. ( I6acd0 )
  • MeasureScope and IntrinsicMeasureScope were made interfaces. ( I1a087 , b/170461665 )
  • The merge function for AlignmentLine was hidden. ( I9da1a , b/170612900 , b/170611568 )
  • Add ability to specify inspector info in composed modifier ( Idee08 , b/163494569 )
  • Added SelectAll option into selection menu ( Ief02b )
  • Updated DrawTransform.rotate to take a default pivot parameter of center to match the documentation.
    • Updated DrawScope.rotateRad to consume an Offset for the pivot point to match other transformation methods.
    • Deprecated DrawScope.rotateRad overload that consumed floats for the x and y coordinate of the pivot.
    • ( Iffcbb , b/170434992 )

বাগ ফিক্স

  • API lint check for MissingGetterMatchingBuilder is enabled for androidx ( I4bbea , b/138602561 )
  • পরীক্ষা যোগ করুন। ( I6b8ae )
  • কমপোজেটস্ট্রুলে ট্রানজিশন সক্ষম করুন; কমপোজেটস্ট্রুল থেকে ব্লিংকিং কার্সার সক্ষম করতে বিকল্প সরান। ( If0de3 )
  • Added KeyboardCapitalization IME Option ( I8ac38 )
  • কোরটেক্সটফিল্ডে একক লাইন কীবোর্ড বিকল্প যুক্ত করা হয়েছে ( i72e6d )
  • Move SimpleContainer into PopupTestUtils.kt ( I65c3e )
  • এটি কমপোজ জুড়ে কীভাবে ব্যবহৃত হয় তা আরও ভালভাবে প্রকাশ করার জন্য রেডিয়াস এপিআইয়ের নামকরণ করা হয়। নেতিবাচক কর্নার রেডিয়াই শূন্যে ক্ল্যাম্প করা হয়েছে তা নির্দেশ করার জন্য আপডেট করা ডকুমেন্টেশন। ( I130c7 , বি/168762961 )
  • Improved Android interop by continuing to send MotionEvents to child Android Views that return false for onTouchEvent for all actions except ACTION_DOWN ( I94c5a , b/170320973 )
  • বাক্স একটি ইনলাইন ফাংশন তৈরি করা হয়েছিল। ( আইবিএস 0 সি , বি/155056091 )

External Contribution

  • Support different locales for AnnotatedString.capitalize and AnnotatedString.decapitalize ( I4aa7f )

Version 1.0.0-alpha05

অক্টোবর 14, 2020

androidx.compose.ui:ui-*:1.0.0-alpha05 is released. Version 1.0.0-alpha05 contains these commits.

এপিআই পরিবর্তন

  • Add a DSL for specifying inspector information ( Ic9a22 )
  • Move LongPress into Text. ( Iff2bc )
  • Experimental Modifier.pointerInput suspending input modifier ( Ia77d2 )
  • Added Copy/Paste/Cut accessibility actions ( I6db4f )
  • Public constructor for AndroidOwner was removed ( Iacaef )
  • পপআপস এবং ডায়ালগগুলি এখন প্যারেন্ট উইন্ডো থেকে ফ্ল্যাগ_সেকিউর উত্তরাধিকারী। এটি স্পষ্টভাবে কনফিগার করার জন্য বিকল্প যুক্ত করেছে ( i64966 , বি/143778148 , বি/143778149 )
  • Consumption data is now mutable. Also calls to extension functions that do consumption now no longer return a new PointerInputChange, but instead mutate the provided PointerInputChange.

    This is the first step in a 2 step process to make PointerEvent data mutable such that other pointer data cannot be edited by user code. The second step will be to remove the List<PointerInputChange> return type from PointerInputFilter.onPointerEvent(...) . ( Id067e )

  • Disable Selection in Text, and a Demo. ( Ie7e97 )

  • Made onGloballyPositioned an inline function ( I15830 )

  • অনপজিশনডমোডিফায়ারটির নামকরণ করা হয় অনগ্লোবালিডিপিশনডমোডাইফায়ারে এবং অনপোশনড () এর নামকরণ করা হয় অনগ্লোবালি -পজিশনড () এ। ( I587e8 , বি/169083903 )

  • The hasPendingMeasureOrLayout property was added to Owner, telling whether the Owner has any pending layout work. ( I3d9f8 , b/169038599 )

  • Added API to programmatically clear focus ( Ie1dc2 , b/161487952 )

  • Removed PointerInputFilter.onPointerInput(...) . PointerInputFilter.onPointerEvent(...) should be used in its place. ( I6f04a )

  • Changes to Size

    • Removed Size.getFlipped
    • Removed Size.rem
    • Removed Size.truncDiv ( Ief44d , b/169790720 )
  • ইনলাইন ক্লাসগুলির জন্য সেন্টিনেল মানগুলির মানককরণের অংশ হিসাবে , রঙিন নামকরণ করুন un

  • টেক্সটওভারফ্লো.নোন চালু করা হয়। যখন ওভারফ্লো কোনও নয়, পাঠ্য আর ওভারফ্লো পরিচালনা করবে না এবং এটি এর প্রকৃত আকারটি লেআউটনোডে রিপোর্ট করবে। ( I175c9 , বি/158830170 )

  • The scope parameter within AnnotatedString.Builder.addStringAnnotation is renamed to tag for API consistency. ( I7c8cb )

বাগ ফিক্স

  • The scrolling performance of LazyColumn/Row is improved by doing less work in subcomposition on every scroll. The new hasInvalidations() method was added for Composition class. hasPendingChanges() method from Recomposer was renamed to hasInvalidations() ( Ib2f32 , b/168293643 , b/167972292 , b/165028371 )
  • Updated Size.Unspecified parameters to be Float.NaN instead of Float.POSITIVE_INFINITY. Updated Painter implementations to check against Size.Unspecified as well as non-finite Sizes. ( I95a7e )
  • The order of place() calls in custom Layouts now defines the drawing order for the children ( Ibc9f6 )
  • Support AnnotatedString to SpannableString conversion for accessibility. ( Ief907 )
  • Added stubs for android classes that are on older platforms to avoid use of reflection when possible. ( Ia1790 )
  • Fixed bug: If the software keyboard showing caused the app to translate, pointer input coordinates would become incorrect. ( Ic4cec , b/163077821 )

Version 1.0.0-alpha04

অক্টোবর 1, 2020

androidx.compose.ui:ui-*:1.0.0-alpha04 is released. Version 1.0.0-alpha04 contains these commits.

এপিআই পরিবর্তন

  • Added OwnerScope to allow collection of layout and drawing observation scopes once they are no longer valid. ( Ic4cf8 )
  • Added OnRemeasuredModifier and onSizeChanged() to receive a callback when content layout has been remeasured and the size has changed, respectively. ( I657cf , b/154108792 )
  • Add long click semantics action ( I6281b , b/156468846 )
  • Made FocusManager private. ( I7872f )
  • Updated implementation to create a dedicated DrawCacheModifier implementation instead of adding optional properties on DrawModifier.

    Updated documentation for various methods ( Ibd166 )

  • Make TextRange inline to avoid object creation. ( Id034b )

  • PlacementScope#parentWidth and PlacementScope#parentLayoutDirection can no longer be read from the placement block of a custom layout. ( Icc1ae , b/168295623 )

  • add AccessibilityScrollState to semantics properties. ( Ifeda9 )

  • Introduced Modifier.drawWithCache to support creating a drawing object that conditionally recreates dependencies that depend on size/state information ( I376dc )

  • ParagraphConstraints is removed. Width is directly passed to Paragraph now. ( Ica712 )

বাগ ফিক্স

  • অনেক গ্রাফিক্স এপিআই আপডেট হয়েছে
    • আপডেট স্কেল এবং রোটেশন ট্রান্সফর্মেশন এপিআইগুলি ড্রস্কোপ এবং ড্রট্রান্সফর্মে এক্স/ওয়াই স্থানাঙ্কের জন্য পৃথক ফ্লোট প্যারামিটারগুলির পরিবর্তে পিভট সমন্বয়কে উপস্থাপন করতে একটি একক অফসেট প্যারামিটার গ্রহণ করতে
    • Rect.expandtoinclude এবং rect rect
    • উপবৃত্তাকার ছাড়াও ওভাল বলতে ব্যাসার্ধের ডকুমেন্টেশন আপডেট হয়েছে
    • ইনলাইন রেডিয়াস শ্রেণীর জন্য পাবলিক কনস্ট্রাক্টরকে নির্দেশ করতে যুক্ত ডকুমেন্টেশনগুলি সরাসরি ডাকা হবে না তবে পরিবর্তে ব্যাসার্ধের অবজেক্টগুলি তাদের ফাংশন কনস্ট্রাক্টরদের মাধ্যমে ইনস্ট্যান্ট করা উচিত
    • টপরাইট, নীচের অংশে, নীচের কেন্দ্রী ইত্যাদি কোয়েরিতে রাউন্ডরেক্ট এপিআই সরানো হয়েছে
    • Rect.translate এর পক্ষে অবমূল্যায়িত rect.shift
    • রাউন্ডরেক্ট.গ্রো এবং rect.shrink apis সরানো হয়েছে
    • Rect.boundingRect এ রাউন্ডরেক্ট.উটাররেক্টের নামকরণ করা হয়েছে
    • রাউন্ডরেক্ট.মিডলারেক্ট/টালমিডলারেক্ট/উইডেমিডলারেক্ট এবং রেক্ট.আইসস্টেডিয়াম পদ্ধতিগুলি সরানো হয়েছে
    • রাউন্ডরেক্টর নামকরণ
    • রাউন্ডরেক্টর নামকরণ
    • রাউন্ডরেক্ট.সেন্টার পরিবর্তিত হয়েছে কোনও ফাংশনের পরিবর্তে সম্পত্তি হিসাবে
    • এক্স/ওয়াই ব্যাসার্ধের মানগুলির জন্য পৃথক পরামিতিগুলির পরিবর্তে ব্যাসার্ধের বৈশিষ্ট্যগুলি গ্রাস করতে আপডেট হওয়া রাউন্ডরেক্ট কনস্ট্রাক্টর
    • অপসারণ আকারের এপিআই যা ধরে নিয়েছিল এটি 0,0 এ উত্স সহ একটি আয়তক্ষেত্র ছিল
    • ব্যাসার্ধে একটি ধ্বংসাত্মক এপিআই যুক্ত করেছেন
    • পরিবর্তে বিভিন্ন রাউন্ডরেক্ট এক্সটেনশন ফাংশনগুলি স্থানান্তরিত করে
    • ( I8f5c7 , বি/168762961 )
  • ফাউন্ডেশন.বক্স অবমূল্যায়ন করা হয়েছিল। পরিবর্তে ফাউন্ডেশন.লআউট.বক্স ব্যবহার করুন। ( আই 5950 , বি/167680279 )
  • স্ট্যাকের নামকরণ করা হয়েছিল বক্সে। পূর্বে বিদ্যমান বাক্সটি কমপোজ.ফাউন্ডেশন.লয়আউটে নতুন বাক্সের পক্ষে হ্রাস করা হবে। নতুন বাক্সের আচরণটি হ'ল বাচ্চাদের একের উপরে শীর্ষে স্ট্যাক করা যখন এটির একাধিক বাচ্চা থাকে - এটি পূর্ববর্তী বাক্সের চেয়ে আলাদা, যা একটি কলামের মতো আচরণ করছিল। ( I94893 , বি/167680279 )
  • বক্স সজ্জা পরামিতিগুলি হ্রাস করা হয়েছে। আপনি যদি আপনার বাক্সে সজ্জা/প্যাডিং রাখতে চান তবে পরিবর্তে মডিফায়ারগুলি ব্যবহার করুন (মডিফায়ার.ব্যাকগ্রাউন্ড, মডিফায়ার.বার্ডার, মডিফায়ার.প্যাডিং) ( আইবিএই 92 , বি/167680279 )
  • অনেক গ্রাফিক্স এপিআই আপডেট হয়েছে
    • স্কোপড ট্রান্সফর্মেশন পদ্ধতিগুলির সাথে ড্রস্কোপ এপিআই আপডেট করা হয়েছে যে রূপান্তরটি কেবল কলব্যাকের মধ্যেই প্রয়োগ করা হয় এবং কলব্যাকটি অনুরোধ করার পরে সরানো হয় তা নির্দেশ করে
    • বৃত্তাকার আয়তক্ষেত্রের পরিবর্তে পথটি উল্লেখ করতে ক্লিপথ ডকুমেন্টেশন আপডেট করা হয়েছে
    • ক্লিপাতে ডান প্যারামিটারের জন্য ডকুমেন্টেশনে স্থির ব্যবধান
    • ড্রিনটোকানভাস এবং সরানো আকারের প্যারামিটারে ড্রস্কোপ.ড্রোকানভাসের নামকরণ করুন
    • অনুভূমিক এবং উল্লম্বভাবে ইনসেট পদ্ধতিতে ডিএক্স/ডিওয়াই প্যারামিটারগুলির নামকরণ করা হয়েছে
    • যুক্ত ইনসেট ওভারলোড যা সমস্ত 4 বাউন্ডে একই ইনসেট মান সরবরাহ করে
    • ইনসেট পদ্ধতিতে ডকুমেন্টেশন সরানো হয়েছে যা নির্দেশ করে যে ইনসেটটি 4 টি পক্ষের জন্য প্রয়োগ করা হবে
    • রেক্ট ক্লাসের জন্য আপডেট ডকুমেন্টেশন
    • কেডিওসি শৈলীর সাথে মেলে রেক প্যারামিটারগুলিতে আপডেট হওয়া মন্তব্যগুলি
    • Rect.join এবং rect.expandtoinclude সরানো হয়েছে
    • Rect.translate (অফসেট) এবং অবমূল্যায়িত rect.shift এর জন্য ওভারলোড তৈরি করা হয়েছে
    • ( If086a , খ/167737376 )
  • Annotated rootAnimationClockFactory, transitionsEnabled, blinkingCursorEnabled and textInputServiceFactory with @VisibleForTesting, make them internal API and hide their kdoc ( I554eb , b/168308412 )
  • Remove SelectionContainer from the Top to disable default selection and avoid unexpected behavior. One can specifically use a SelectionContainer to wrap the content that needs to be selectable instead. ( I8dfe0 , b/158459594 )

Version 1.0.0-alpha03

16 সেপ্টেম্বর, 2020

androidx.compose.ui:ui-*:1.0.0-alpha03 is released. Version 1.0.0-alpha03 contains these commits.

এপিআই পরিবর্তন

  • ফরোয়ার্ড/পিছনের শব্দার্থবিজ্ঞানের ক্রিয়াগুলি স্ক্রোল করুন। অ্যাক্সেসিবিলিটিরেঞ্জ ইনফোতে পদক্ষেপ যুক্ত হয়েছে। ( আইএ 47 বি 0 )
  • Removed onInvalidate() from Owner -- OwnedLayer handles invalidation. ( Ica72b , b/162061312 )
  • Removed operator methods on Size API that consume Offset parameters. The result of these operations is unclear and the type of result is unexpected for these. যেমন should size - offset return an offset or a size result with the difference?

    Also removed deprecated methods on Size class. ( Iec902 , b/166514214 )

বাগ ফিক্স

  • Fix for items of LazyColumn being incorrectly drawn sometimes, this was also causing crashes in some conditions. ( Ibcf17 , b/163066980 , b/165921895 )
  • এটি ব্যবহার করে ডিপকন্ট্রেন্টস এবং এপিআইগুলি হ্রাস করা হয়েছিল। ( I90cdb , খ/167389835 )
  • createAndroidComposeRule থেকে AndroidInputDispatcher ( আইডিএফ 08 , androidx.ui.test /164060572 androidx.ui.test.android
  • মহাকর্ষের ব্যবহারগুলি লেআউট এপিআইগুলিতে সারিবদ্ধ বা প্রান্তিককরণের জন্য ধারাবাহিকভাবে নামকরণ করা হয়েছিল। ( আই 2421 এ , বি/164077038 )
  • কমপোজেটস্ট্রুলে অননোড এবং অন্যান্য বৈশ্বিক পদ্ধতি যুক্ত করা হয়েছে কারণ বর্তমান বৈশ্বিক বিষয়গুলি হ্রাস পেতে চলেছে। ( Ieae36 )

Version 1.0.0-alpha02

2শে সেপ্টেম্বর, 2020

androidx.compose.ui:ui-*:1.0.0-alpha02 is released. Version 1.0.0-alpha02 contains these commits.

এপিআই পরিবর্তন

  • remove callback to notify Owner when layoutnode bounds change. ( If654e , b/166106882 )
  • Added support for filltype parameters on vector graphics paths to support cutouts of shapes according to evenOdd or NonZero path fill rules. ( I43dd2 )
  • Uptime and Velocity are now inline classes ( I48f4a )
  • Duration is now an inline class ( I565eb )
  • Add a callback to notify Owner when layoutnode bounds change. ( Ic40b3 )
  • Fixed issue where Rect function constructor with Offset and radius would create the Rect in the order of left, right, top, bottom instead of left, top, right, bottom.

    Removed deprecated companion methods on Rect in favor of function constructors.

    Added tests to verify methods in Rect.kt ( I08460 , b/165822356 )

বাগ ফিক্স

  • Added MutableRect, a rectangle that can be modified. ( I71bd2 , b/160140398 )
  • ম্যাট্রিক্স 4 ম্যাট্রিক্সের সাথে প্রতিস্থাপন করা হয়েছিল। ভেক্টরমথ প্যাকেজের অন্যান্য সমস্ত অংশ সরানো হয়েছে। ( আইবিডি 665 , বি/160140398 )
  • The calling convention for composable functions has changed. This is a binary breaking change. All libraries must be recompiled to work with this version of the compose compiler plugin.

    This change does not create a source level breaking change as the only APIs that have changed are compiler APIs that have an explicit opt in. ( I7afd2 , b/158123185 )

  • Fixed crash that could occur when dispatch to a PointerInputFilter could cause the PointerInputFilter to be synchronously removed. ( I58f25 )

Version 1.0.0-alpha01

আগস্ট 26, 2020

androidx.compose.ui:ui-*:1.0.0-alpha01 is released. Version 1.0.0-alpha01 contains these commits.

সংস্করণ 0.1.0-দেব

সংস্করণ 0.1.0-DEV17

আগস্ট 19, 2020

androidx.compose.ui:ui-*:0.1.0-dev17 is released. 0.1.0-DEV17 সংস্করণে এই কমিটগুলি রয়েছে।

এপিআই পরিবর্তন

  • emitView was deprecated. Use AndroidView instead if possible for emitting Views inside Compose. Note that composing Views and ViewGroups directly will not be supported in the future unless these are leaves in the composition tree, case when this can be achieved using AndroidView. ( I29b1e , b/163871221 )
  • FocusState2 is deprecated and replaced by FocusState ( Ia8b79 , b/160822876 , b/160923332 )
  • The deprecated AndroidView overloads were removed. ( I946b9 , b/163802393 )
  • Custom emits can now declare that one or more of its setters can be skipped and recomposed independently of the emit. ( Ibbd13 )
  • Changed Vector classes to no longer be data classes as the same object instance is used for composition.

    Added mutableStateOf flag for VectorPainter to conditionally re-draw if contents of the vector change.

    Refactored VectorComponent instance to be part of VectorPainter as it is re-used across compositions.

    Updated GroupComponent and PathComponent to have their name fields be mutable ( Ieae45 , b/151378808 )

  • সরানো onChildPositioned এবং OnChildPositionedModifier । বিকাশকারীদের পরিবর্তে শিশু বিন্যাসে onPositioned এবং OnPositionedModifier ব্যবহার করা উচিত। ( I4522e , খ/162109766 )

  • Offset has become an inline class ( Iaec70 )

  • Added a modifier param to SelectionContainer ( I4aada , b/161487952 )

  • Removed deprecated FocusModifier ( I0b4ba , b/160922116 , b/160821157 , b/162441435 , b/160822875 , b/160921940 )

  • Added mergePolicy lambda to SemanticsPropertyKey . এটি মার্জিলডেসেন্ডেন্টস শব্দার্থবিজ্ঞানের মার্জিংয়ের জন্য একটি কাস্টম নীতি সংজ্ঞায়িত করতে ব্যবহার করা যেতে পারে। ডিফল্ট নীতি হ'ল ইতিমধ্যে উপস্থিত থাকলে পিতামাতার মানটি ব্যবহার করা, অন্যথায় সন্তানের মান। ( আইএএফ 6 সি 4 , বি/161979921 )

  • Constraints is now an inline class ( I88736 )

  • Added FocusManager that moves common focus logic out of AndroidComposeView ( I528ef , b/161487952 , b/162206799 )

  • Updated PointerEventPass names for Alpha release. ( Ifda6f )

  • IntOffset is now an inline class ( Iac0bf )

  • ইন্টসাইজ এখন একটি ইনলাইন ক্লাস ( আই 2 বিএফ 42 )

  • PlacementScope.placeAbsolute() নামকরণ করা হয়েছিল PlacementScope.place() এ, এবং পূর্ববর্তী PlacementScope.place() নামকরণ করা হয়েছিল PlacementScope.placeRelative() এ নামকরণ করা হয়েছিল। ফলস্বরূপ, PlacementScope.place() পদ্ধতিটি স্বয়ংক্রিয়ভাবে ডান-থেকে-বাম প্রসঙ্গে অবস্থানটি আর মিরর করবে না। যদি এটি পছন্দসই হয় তবে পরিবর্তে PlacementScope.placeRelative() ব্যবহার করুন। ( I873ac , খ/162916675 )

  • অ্যালার্টডিয়ালগ এখন বোতামগুলির জন্য ফ্লোরো ব্যবহার করে ( I00EC1 , B/161809319 , বি/143682374 )

  • Made some test utilities non public because they are not where they belong. Will be made public in the future. ( I32ab1 )

  • Refactored organization of pointer input code. ( Ie3f45 )

  • রেকর্ডের পক্ষে Pxbounds অবমূল্যায়িত। রেক্ট সহ পিএক্সবাউন্ডগুলির সমস্ত ব্যবহার আপডেট করেছেন এবং মাইগ্রেশনটিতে সহায়তা করার জন্য যথাযথ অবমূল্যায়ন/টীকাগুলির সাথে প্রতিস্থাপন যুক্ত করেছেন। ( I37038 , বি/162627058 )

  • Removed Deprecated KeyEvent2. Use KeyEvent instead. ( Ied2d0 , b/162097587 )

  • KeyEvent has a unicode property that can be used to get the unicode character generated by the specified key and meta key state combination ( If3afc )

  • Made the DelayUp custom event and related classes an opt in API as it is very likely going to be changed. ( I56d6f )

  • Removed 2 PointerEventPasses that are no longer needed. ( I3dd9d )

  • Add parameter color, shadow and TextDecoration to Paragraph.paint This function is useful to avoid unnecessary Paragraph recreation. ( I81689 )

বাগ ফিক্স

  • টেক্সটফিল্ড থেকে অনফোকাসচ্যাঞ্জড কলব্যাকগুলি সরানো হয়েছে। পরিবর্তে Modifier.focusobserver ব্যবহার করুন। ( I51089 , বি/161297615 )
  • মডিফায়ার.ড্রোবার্ডারকে হ্রাস করা হয়েছে। পরিবর্তে Modifier.border ব্যবহার করুন। সীমান্তের ডেটা ক্লাসটি বর্ডারস্ট্রোক দ্বারা প্রতিস্থাপন করা হয়েছে ( আই 4257 ডি , বি/158160576 )
  • Removed deprecated FrameManager calls.

    Internal compose APIs have been changed to reduce the amount of overhead to track state objects such as mutableStateof() ( I80ba6 )

  • VerticalScroller and HorizontalScroller have been removed. Use ScrollableColumn/Row instead. Modifier.drawBackground has been removed. Use Modifier.background ( I73b0d , b/163019183 )

  • Crash when something which saves the state was used inside the for loop is fixed. Now having the same key in savedInstanceState() is allowed, api of UiSavedStateRegistry is now adjusted to this new requirement ( I4ab76 , b/160042650 , b/156853976 , b/159026663 , b/154920561 )

  • স্পষ্টতার জন্য state { ... } কমপোজেবল এখন সুস্পষ্ট কলগুলির পক্ষে অবমূল্যায়নযোগ্য remember { mutableStateOf(...) } এটি রাষ্ট্রীয় পরিচালনার জন্য সামগ্রিক এপিআই পৃষ্ঠ এবং ধারণার সংখ্যা হ্রাস করে এবং শ্রেণি সম্পত্তি প্রতিনিধি দলের জন্য by mutableStateOf() মেলে। ( Ia5727 )

  • আরও ভাল ফিট কমপোজ নামকরণ প্যাটার্নগুলিতে রাউন্ডরেক্টে আরআরেক্টের নামকরণ করা হয়েছে একই রকম ফাংশন কনস্ট্রাক্টরগুলি তৈরি করা এবং অবমূল্যায়িত আরআরেক্ট ফাংশন কনস্ট্রাক্টরস ( আই 5 ডি 325 )

সংস্করণ 0.1.0-DEV16

আগস্ট 5, 2020

androidx.compose.ui:ui-*:0.1.0-dev16 is released. 0.1.0-DEV16 সংস্করণে এই কমিটগুলি রয়েছে।

এপিআই পরিবর্তন

  • অনচিল্ডপজিশনডকে অবমূল্যায়ন করা হয়েছে। পরিবর্তে সন্তানের উপর অনপোজড ব্যবহার করুন। ( I87f95 , বি/162109766 )
  • setViewContent was deprecated. setContent should be used instead. ( I7e497 , b/160335130 )
  • Added the AndroidViewBinding API for inflating and composing layout resources, based on ViewBinding. ( I081c6 )
  • KeyEvent2 is replaced by KeyEvent ( I2d770 , b/162097585 )
  • Added support for Alt hardware key ( I9036b )
  • FocusManager is Deprecated. Use Modifier.focus(), Modifier.focusObserver() and Modifier.focusRequester() instead. ( I74ae4 , b/162211322 )
  • loadVectorResource supports trimPath attributes ( I808fe )
  • ডায়ালগটি ইউআইতে সরান ( i47fa6 )
  • Removed 2 PointerEventPasses that are no longer needed. ( I33ca7 )
  • Implemented PointerInteropModifier which provides the ability to receive MotionEvents and interact with Compose as if you are an implementation of an Android View. ( Ieb08c )
  • Removed the deprecated tag modifier. Please use layoutId instead. ( Idaa05 , b/162023919 )
  • ডান থেকে বাম সমর্থনের জন্য এপিআইগুলি আপডেট করা হয়েছে। লেআউটডাইরেকশনম্বিয়েন্ট যুক্ত করা হয়েছে, যা লেআউটের দিকটি পড়তে এবং পরিবর্তন করতে ব্যবহার করা যেতে পারে। মডিফায়ার.আরটিএল এবং মডিফায়ার.এলটিআর সরানো হয়েছে। ( I080b3 )
  • Support path trimming in vector graphics ( Ie16c9 , b/158188351 )
  • Added Modifier.layout() that allows to create a custom layout modifier conveniently ( I73b69 , b/161355194 )
  • Added a new AndroidView API and deprecated the existing ones. ( I5bcfd )
  • Modifier.plus অবমূল্যায়ন করা হয়েছে, পরিবর্তে মডিফায়ার ব্যবহার করুন। এর পরিবর্তে। 'তারপরে' এর অর্ডার দেওয়ার আরও শক্তিশালী সংকেত রয়েছে , পাশাপাশি মডিফায়ার টাইপ করতে নিষেধ করে Modifier.padding().background() + anotherModifier
  • Add [Abstract]ComposeView View subclasses for hosting Compose content in a View hierarchy. ( I46357 )
  • Row and Column are now inline function significantly reducing the overhead of using them. ( I75c10 )
  • SubcomposeLayout is added. It is a low level primitive which allows to compose the children during the measuring if we want to use some values available only later during the measure for the subtree composition. For example WithConstraints is not implemented using SubcomposeLayout. ( I25cc8 )
  • Added SemanticsNode.positionInRoot to get the position of a SemanticsNode relative to the root of the Compose hierarchy ( Icdf26 , b/161336532 )
  • MotionEvents passed all the way through from Android, into Compose, and back into Android. ( I14be8 , b/158034713 )
  • Removed dropdownPopup. ( I00430 )
  • কাট-আউট ডিসপ্লেতে স্থির পপআপ অবস্থান। ( আইডিডি 7 ডিডি )
  • Add accessibility action to get TextLayoutResult ( I9d6e6 )
  • RemeasurementModifier added. it allows to synchronously remeasure the layout. In general you never need it as remeasure/relayout is happening automatically, but we use it inside LazyColumnItems during the scroll. ( I5f331 , b/160791058 )
  • Remove getLineEllipsisOffset/getLineEllipsisCount. Use getLineVisibleEnd/getLineEnd/isLineEllipsized instead. ( I85aa2 )
  • Add some Marks/Annotations for best practice reason. ( I66b20 )
  • expose more line APIs in TextLayoutResult. ( I79bd2 )
  • Built-in vector converters to convert built-in units are now accessible via Foo.VectorConverter. eg Dp.VectorConverter, Color.VectorConverter, Float.VectorConverter, etc ( I3e273 )

বাগ ফিক্স

  • ঠিকানা ব্রড এপিআই ফিক্সগুলি ( i077bc )
    1. অব্যবহৃত অফসেটবেস ইন্টারফেস সরান
    2. একটি ধারাবাহিক এপিআই পৃষ্ঠের জন্য অফসেট এবং ইনফসেট ক্লাসগুলি সারিবদ্ধ করুন
    3. অফসেট.ওরিগিনকে নামকরণ করুন ইনফসেট.জেরো অফসেট এপিআইয়ের সাথে সামঞ্জস্যপূর্ণ হতে
    4. গ্রাহকদের তাদের নিজস্ব ক্যানভাস উদাহরণ তৈরি করতে সহায়তা করার জন্য ক্যানভাস ইন্টারফেসের বাইরে নাটিভেকানভাস পদ্ধতিটি সরানো হয়েছে
    5. রিফ্যাক্টর ড্রস্কোপকে ল্যাটআইনিটের পরিবর্তে নন-নাল প্যারামিটার হতে এবং ক্ষেত্রের নন-নালিবিলিটি নিশ্চিত করার জন্য স্টাব খালিকানভাস শ্রেণি তৈরি করেছে
    6. পাস্কাল কেস হতে ক্লিপপ এনাম নামকরণ
    7. পাস্কাল কেস হিসাবে ফিল্টারকুয়ালি এনাম নামকরণ করা হয়েছে
    8. পাস্কাল কেস হওয়ার জন্য স্ট্রোকজয়াইন এনামগুলির নামকরণ করা হয়েছে
    9. প্যাসাল কেস হতে পয়েন্টমোড এনাম নামকরণ
    10. প্যাসাল কেস হতে পেইন্টিং স্টাইল এনাম নামকরণ
    11. পাস্কাল কেস হতে প্যাথফিলটাইপ এনামগুলির নামকরণ করা হয়েছে
    12. পাস্কাল কেস হতে স্ট্রোকক্যাপ এনামগুলির নামকরণ করা হয়েছে
    13. আর ল্যাটআইনিট প্যারামগুলি ব্যবহার করতে হবে না এমন ড্রাগাচে বাস্তবায়ন আপডেট করা হয়েছে
    14. ফিলপেইন্ট এবং স্ট্রোকপেইন্ট অভ্যন্তরীণ পরামিতিগুলির জন্য অলস প্রতিনিধি ব্যবহার করতে আর আপডেট করা ড্রস্কোপ
    15. কম ওভারহেডের জন্য বাক্সের ব্যবহার এড়াতে আপডেট হওয়া চিত্রটি কমপোজেবল
    16. @Immutable টীকাগুলি পেতে আপডেট আউটলাইন ক্লাস
    17. প্রতিটি পাথ নির্দেশের জন্য @immutable টীকাগুলি রাখতে আপডেট করা পথ
    18. সমতার জন্য অপ্রয়োজনীয় শর্তসাপেক্ষ চেকগুলি অপসারণ করতে আপডেট করা ভেক্টর সাবকোমপজিশনটি ইতিমধ্যে সেগুলি পরিচালনা করে
    19. ফাংশন কনস্ট্রাক্টরদের পক্ষে অবচয়
    20. @Immutable এবং @স্টেবল এপিআই সহ আপডেট ব্রাশ ক্লাস এবং ফাংশন কনস্ট্রাক্টর
    21. পাস্কালকেস হতে আপডেট করা ভার্টেক্সমোড এনাম
    22. শর্তসাপেক্ষভাবে পেইন্টে স্ট্রোক প্যারামিটারগুলি ওভাররাইট করার জন্য ড্রকস্কোপ সিলেক্টপেইন্ট পদ্ধতি আপডেট করা হয়েছে যদি সেগুলি পরিবর্তিত হয়
    23. ধ্বংসকারী এপিআই যুক্ত করতে আপডেট আকার, অনির্ধারিত এবং অপসারণ অব্যবহৃত পদ্ধতিগুলিতে অনির্ধারিত এবং অপসারণের নাম পরিবর্তন করুন
  • Updated compose BlendMode API consumption to properly map between Android framework BlendModes and PorterDuff modes depending on API level. Introduced BlendMode#isSupported API to act as a capability query to determine if the BlendMode is supported on the device before it is used. ( I0ef42 )
  • LazyItemScope was added for itemContent param of Lazy lists. It provides modifiers to fill the parent max size which solves the use case when the item should fill the viewport and the regular Modifier.fillMaxSize() doesn't work as the item is measured with infinity constraints. ( Ibd3b2 , b/162248854 )
  • সরানো SemanticsNodeInteraction.performPartialGesture পার্টিয়ালজেচার। পরিবর্তে SemanticsNodeInteraction.performGesture ব্যবহার করুন। ( আইডি 9 বি 62 )
  • LazyColumnItems was renamed to LazyColumnFor . LazyRowItems was renamed to LazyRowFor ( I84f84 )
  • foundation.shape.corner package was flattened to foundation.share ( I46491 , b/161887429 )
  • Renamed AndroidComposeTestRule to createAndroidComposeRule . ( I70aaf )
  • Added more APIs to TextLayoutResult . ( Id7e04 )
  • ম্যাটেরিয়াল FilledTextField নামকরণ করা হয়েছিল TextField এবং ফাউন্ডেশনাল TextField সর্বাধিক পছন্দসই এপিআই আবিষ্কার এবং ব্যবহার করা সহজ করার জন্য BaseTextField নামকরণ করা হয়েছিল ( আইএ 6242 , বি/155482676 )
  • মডিফায়ার.ড্রব্যাকগ্রাউন্ডের নামকরণ করা হয়েছে মডিফায়ার.ব্যাকগ্রাউন্ডে ( আই 13677 )

সংস্করণ 0.1.0-DEV15

22 জুলাই, 2020

androidx.compose.ui:ui-*:0.1.0-dev15 is released. সংস্করণ 0.1.0-DEV15 এর মধ্যে এই কমিট রয়েছে।

নির্ভরতা আপডেট

  • কমপোজের 0.1.0-dev15 সংস্করণটি ব্যবহার করতে, নির্ভরতা ঘোষণায় উপরে প্রদর্শিত নতুন কোড স্নিপেট অনুসারে আপনাকে আপনার নির্ভরতাগুলি আপডেট করতে হবে।

এপিআই পরিবর্তন

  • FocusModifier is deprecated in favor of Modifier.focus, Modifier.focusRequester, Modifier.focusObserver. FocusState and FocusDetailedState are deprecated in favor of FocusState2 ( I46919 , b/160822875 , b/160922136 )
  • Added a modifier to observe focus state change. ( I05866 , b/160924455 , b/160923326 )
  • Added a modifier to request focus changes ( I8dd73 , b/161182057 , b/160924778 )
  • Ajdust the Toolbar Menu to show copy, cut, paste properly. ( Id3955 )
  • Single-value semantics properties now use a calling style. For example, 'semantics { hidden = true }' is now written as: semantics { hidden() } . ( Ic1afd , b/145951226 , b/145955412 )
  • Added Modifier.focus which replaces FocusModifier. ( Ib852a , b/160924778 )
  • Add FloatingToolbar for TextField Selection. ( Ie8b07 )
  • Added an experimental api annotation for key input related API ( I53c0a )
  • Added an experimental api annotation for all Focus-related API ( I53b24 , b/160903352 )
  • Added FocusState2 which will replace FocusDetailedState ( I0a3ba , b/160822595 )
  • Added ExperimentalFocus which is an @OptIn annotation for Focus API. ( I1544b , b/160820961 )
  • An IntBounds unit class has been added, representing integer pixel bounds from layout. The API of PopupPositionProvider has been updated to use it. ( I0d8d0 , b/159596546 )
  • Applier now requires a clear() method for disposing compositions ( Ibe697 )
  • KeyEvent is deprecated and replaced by KeyEvent2 ( I68730 )
  • A new optional flag useUnmergedTree was added to test finders. ( I2ce48 )
  • Made LayoutNode experimental API ( I4f2e9 )
  • Added copy methods to various inline class types including:

    • অফসেট
    • আকার
    • ব্যাসার্ধ
    • গতি
    • ট্রান্সফর্ম অরিজিন

    • Deprecated Size.copy companion object method favor of instance copy method ( Ife290 , b/159905651 )

  • Popups, Dialogs and Menus are now inheriting the contextual MaterialTheme ( Ia3665 , b/156527485 )

  • TextDirection is renamed as ResolvedTextDirection ( I3ff38 )

  • Removed layout direction parameter from the measure block of the Layout() function. Layout direction is however available inside the callback through the measure scope object ( Ic7d9d )

  • Refactor SelectionHandles for reusing. ( I420e0 )

  • Clickable was removed. Use Modifier.clickable ( I84bdf )

  • TestTag and Semantics have been deleted. Use Modifier.testTag and Modifier.semantics instead ( I15ff0 , b/158841414 )

  • Prior to this change, the compose compiler plugin would non-trivially intercept calls to constructors inside of a @Composable function if there was an ( I5205a , b/158123804 )

  • Modifier.tag was renamed to Modifier.layoutId, to avoid confusion with Modifier.testTag. ( I995f0 )

  • Alignment line Int positions returned from Placeable#get(AlignmentLine) are now non-null. If the queried alignment line is missing, AlignmentLine.Unspecified will be returned. ( I896c5 , b/158134875 )

  • The AndroidView composable was added a modifier parameter. ( I48a88 , b/158746303 )

  • Semantics() is deprecated. Use Modifier.semantics() instead. ( I72407 , b/158841414 )

  • Add viewModel() composable which allows to create or get already created ViewModel similarly to how it works in Activity or Fragment ( I5fdd1 )

  • আইএনটিপিএক্সের ব্যবহার আইএনটি সহ প্রতিস্থাপন। ইনটঅফসেটের সাথে intpxposition প্রতিস্থাপন করা হয়েছে। INTPXSIZE intsize সঙ্গে প্রতিস্থাপন। ( আইবি 7 বি 44 )

  • আকারের তথ্য উপস্থাপনের জন্য ব্যবহৃত শ্রেণীর সংখ্যা একীভূত করার জন্য, পিএক্সসাইজের পরিবর্তে আকার শ্রেণীর ব্যবহারের মানকে মানিক করুন। এটি ভাসমান হিসাবে প্রতিনিধিত্বকারী প্রস্থ এবং উচ্চতা উপস্থাপনের জন্য 2 ভাসমান মানগুলি প্যাক করার জন্য দীর্ঘ সময় লাভের জন্য একটি ইনলাইন শ্রেণীর সুবিধা সরবরাহ করে। ( আইসি 0191 )

  • In order to consolidate the number of classes used to represent positioning information, standardize on usage of the Offset class instead of PxPosition. This provides the benefits of an inline class to leverage a long to pack 2 float values to represent x and y offsets represented as floats. ( I3ad98 )

  • Replaced usage of Px class in various compose classes as part of the large refactoring effort to only rely on Dp and primitive types for pixel parameters. Deleted Px class in its entirety ( I3ff33 )

  • Replaced usage of Px class in various compose classes as part of the large refactoring effort to only rely on Dp and primitive types for pixel parameters ( I086f4 )

  • Replaced usage of Px class in various compose classes as part of the large refactoring effort to only rely on Dp and primitive types for pixel parameters ( Id3434 )

  • Replaced usage of Px class in various compose classes as part of the large refactoring effort to only rely on Dp and primitive types for pixel parameters ( I97a5a )

  • TestTag is now deprecated. Use Modifier.testTag instead. ( If5110 , b/157173105 )

  • The default, no-op, implementation of ParentDataModifier#modifyParentData has been removed - it was equivalent to not implementing the interface in the first place. ( I0deaa )

  • Previously deprecated ScaleFit as removed. Use ContentScale instead. ( Ifbc5b )

  • Replaced usage of Px class in various compose classes as part of the large refactoring effort to only rely on Dp and primitive types for pixel parameters ( I19d02 )

  • ইউআই-ম্যাটারিয়ালে ড্রপডাউনম্যানু উপাদান যুক্ত করা হয়েছে, একটি উপাদান নকশা মেনু বাস্তবায়ন। ( I9bb3d )

  • Removed deprecated LayoutTag(), please use Modifier.tag() instead. Removed deprecated Modifier.matchParent(), please use Modifier.matchParentSize() instead. ( If8044 )

  • Replaced usage of Px class in various compose classes as part of the large refactoring effort to only rely on Dp and primitive types for pixel parameters ( I57bff )

  • Modifier.semantics has been undeprecated to allow usages for high level components. ( I4cfdc )

  • একীভূত ক্যানভাস্কোপ বাস্তবায়ন তাই এখন কেবল ড্রস্কোপ এবং কন্টেন্টড্রডস্কোপের নামকরণ করা ক্যানভাস্কোপকে ড্রস্কোপে নামকরণ করা হয়েছে। ঘনত্ব ইন্টারফেস বাস্তবায়নের জন্য আপডেট করা ড্রস্কোপ এবং লেআউটডাইরেকশন মুছে ফেলা অঙ্কিত ড্রয়স্কোপ সাবক্লাস কনটেন্টড্রড্রোপস পেইন্টার এবং পেইন্টরটারমোডাইফায়ারকে আরটিএল সম্পত্তি বজায় রাখার জন্য আপডেট করা হয়েছে কারণ ড্রস্কোপ এটি ম্যানুয়ালি সরবরাহ না করে ইতিমধ্যে সরবরাহ করে ( i1798e )

  • DoubleTapGestureFilter now disambiguates SingleTapGestureFilter across the tree. ( If92b1 )

  • Updated Alignment API and added support for absolute alignment (which does not auto-mirror in Rtl context) ( I38cd3 )

  • DrawLayer modifiers api has been changed: outlineShape renamed to shape and has the RectangleShape default value and now non-nullable; clipToOutline renamed to clip; clipToBounds removed as it is the same as clip == true with RectangleShape ( I7ef11 , b/155075735 )

  • Updated higher level compose APIs that expose a Canvas to expose CanvasScope instead. This removes the need for consumers to maintain their own Paint objects. For consumers that still require access to a Canvas they can use the drawCanvas extension method which provides a callback to issue drawing commands with the underlying Canvas. ( I80afd )

  • WithConstraints trailing lambda API has been changed. Now instead of two params it has a receiver scope which in addition to constraints and layoutDirection provides minWidth, maxWidth, minHeight and maxHeight properties in Dp ( I91b9a , b/149979702 )

  • Renamed LayoutModifier2 to LayoutModifier. ( Id29f3 )

  • Removed deprecated LayoutModifier interface. ( I2a9d6 )

  • Intrinsic measurements functions in Layout and LayoutModifier2 have an IntrinsicMeasureScope receiver now which provides intrinsics query API with implicitly propagated layout direction. ( Id9945 )

  • Layout and LayoutModifier children can be measured with a different layout direction. ( Ibd731 )

  • New Modifier.zIndex() is added to control the drawing order of the children within the same parent layout. elevation property on DrawLayerModifier is renamed to shadowElevation and doesn't control the drawing order anymore. The params order fo DrawShadow is changed: elevation is now the first one and the shape is the second one with a RectangleShape default. ( I20150 , b/152417501 )

  • Removed onSizeChange and onPositionChange in Owner. ( I5c718 )

  • Added Constraints2, a copy of Constraints that does only supports Int connstraints values rather than IntPx. IntPx will be removed and all integer constraints will be assumed to be pixels like Android.

    • Added IntSize as well, which will eventually replace IntPxSize. ( I4b43a )
  • Made Alignment instantiable with arbitrary values. Added 1D Alignments. ( Ia0c05 )

  • alignToSiblings now accepts a Measured instead of Placeable. ( I5788d )

  • ( I45f09 , b/152842521 )

    • Renamed ScaleFit to ContentScale
    • Moved ContentScale from ui-graphics to ui-core module to live in the same module as the Alignment API.
    • Renamed FillMaxDimension to Crop
    • Renamed FillMinDimension to Fit
    • Renamed Fit to Inside to better match
    • ImageView.ScaleType equivalents
    • Added documentation indicating that the combination of Crop and Alignment.Center achieves the same result as ImageView.ScaleType.CENTER_CROP and Fit used with Alignment.Center achieves the same result as ImageView.ScaleType.FIT_CENTER Inside used with Alignment.Center achieves the same result as ImageView.ScaleType.CENTER_INSIDE
  • Rtl support for draw modifiers. ( I0aaf9 )

  • Released API for inflating Android Views from XML. See ViewInCompose demo for more details. ( I42916 )

  • Improve DrawModifier API:

    • Made the receiver scope for draw() ContentDrawScope
    • Removed all parameters on draw()
    • DrawScope has same interface as former CanvasScope
    • ContentDrawScope has drawContent() method ( Ibaced , b/152919067 )
  • Added positionInParent and boundsInParent for LayoutCoordinates. ( Icacdd , b/152735784 )

  • DrawLayerModifier and drawLayer() now default clipToBounds and clipToOutline to false. ( I0eb8b , b/152810850 )

  • Renamed LayoutResult to MeasureResult. ( Id8c68 )

  • Added LayoutModifier2, a new API for defining layout modifiers; deprecated LayoutModifier ( If32ac )

  • Replaced Modifier plus operator with factory extension functions ( I225e4 )

  • Added translationX/Y properties to support offseting the display list of drawing commands for a given Layer. This is useful to move content in response to animations or touch events. ( I8641c )

  • Added pivotX, pivotY parameters to Layer APIs to support rotation and scaling around a particular point on a layer ( Icf7c3 )

  • Add OnPositionedModifier and OnChildPositionedModifier to replace OnPositioned and OnChildPositioned composable functions. ( I2ec8f )

  • Added LayerModifier, a modifier that allows adding a RenderNode for a Layout. It allows setting clipping, opacity, rotation, scaling, and shadows. This will replace RepaintBoundary. ( I7100d , b/150774014 )

  • Made the layout direction be propagated from parent layout node to children. Added layout direction modifier. ( I3d955 )

  • Stack component supports right-to-left directionality ( Ic9e00 )

  • Initial support for Rtl in Compose layout ( Ia5519 )

  • Density and DensityScope were merged into one interface. Instead of ambientDensity() you can now use DensityAmbient.current. Instead of withDensity(density) just with(density) ( I11cb1 )

  • Changed LayoutCoordinates to make providedAlignmentLines a Set instead of a Map and have LayoutCoordinates implement the get() operator instead for retrieving a value. This makes it easier for modifiers to modify one or more value of the set without creating a new collection for each modifier. ( I0245a )

  • LayoutCoordinates no longer has a position property. The position property does not make sense when considering LayoutModifiers, rotation, or scaling. Instead, developers should use parentCoordinates and childToLocal() to calculate the transform from one LayoutCoordinate to another.

    LayoutCoordinates uses IntPxSize for the size property instead of PxSize. Layouts use integer pixel sizes for layouts, so all layout sizes should use integers and not floating point values. ( I9367b )

  • Improvements to the API surface of Constraints ( I0fd15 )

  • Created CanvasScope API that wraps a Canvas object to expose a stateless, declarative drawing API surface. Transformations are contained within their own receiver scope and sizing information is also scoped to corresponding inset bounds. It does not require a consumer to maintain its own Paint state object for configuring drawing operations.

    • Added CanvasScopeSample as well as updated the demo app to include a declarative graphics demo ( Ifd86d )
  • Removed unused MaskFilter API as it has limited usage and is not optimized for hardware acceleration in most use cases ( I54f76 )

  • RectangleShape moved from androidx.ui.foundation.shape.* to androidx.ui.graphics.* ( Ia74d5 , b/154507984 )

  • নালার পরিবর্তে নাল ( আইএবিএএ 7 ) এর পরিবর্তে নন-নালযোগ্য এবং ব্যবহারযোগ্য রঙ un

  • Introduce additional optional rect parameter to ImagePainter to support drawing a subsection of underlying ImageAsset ( I0ea9e )

  • Added Unset Color to represent an unset value without boxing Colors. ( If901a )

  • Added Canvas.rotate and Canvas.scale extension methods to consume optional pivot coordinates for transformations. These default to the top left corner of the current canvas translation.

    Also moved Canvas.rotateRad to be an extension method for consistency ( Ibaca6 )

  • Created PixelMap API to support querying pixel information from an ImageAsset. ( I69ad6 )

  • Renamed toFrameworkRect/toFrameworkRectF to toAndroidRect/toAndroidRectF to match naming convention for object conversions between compose and the Android framework APIs they are built on top of. Also updated docs on these APIs ( I86337 )

  • Added VectorPainter API to replace existing subcomposition API for vector graphics. Result of subcomposition is a VectorPainter object instead of a DrawModifier. Deprecated previous DrawVector composables in favor of VectorPainter.

    Renamed Image(Painter) API to PaintBox(Painter) Created Vector composable that behaves like the Image composable except with a VectorAsset instead of an ImageAsset ( I9af9a , b/149030271 )

  • Renamed Image to ImageAsset to better differentiate the difference between the Image data and the upcoming Image composable used to participate in layout and draw content. _Body:Created extension method on android.graphics.Bitmap, Bitmap.asImageAsset(), to create an instance of an ImageAsset useful for combining traditional Android application development with the compose framework ( Id5bbd )

  • Added TextDirection.Content ( I48f36 )

  • Added TextDecoration.plus operator ( I0ad1a )

  • Force is removed from TextDirectionAlgorithm enum values ( Icc944 )

  • TextDirectionAlgorithm is renamed as TextDirection ( I75ce8 )

  • Implements LongPressAndDrag for TextField Selection. ( I17919 )

  • Added AnnotatedString.getStringAnnotations that returns all annotations within the range. ( I1fa00 )

  • Changed the package name for Locale and LocaleList from androidx.ui.text to androidx.ui.intl ( I8132c )

  • TextField's cursor has a blinking animation ( Id10a7 )

  • API change: AnnotatedString(builder: Builder) is renamed to annotatedString(builder: Builder). ( Ia6377 )

  • API change: AnnotatedString.Item is renamed to AnnotatedString.Range. ( I2d44d )

  • Rename AnnotatedString.Builder.addAnnotationString to addStringAnnotation. ( I5059e )

  • Now it is possible to hide/show software keyboard by using SoftwareKeyboardController which is delivered by onTextInputStarted callback ( I8dc44 , b/151860051 )

  • Added plus operator for (Text/Paragraph/Span)Style which delegates to merge() function. ( Ia1add )

  • FontWeight.lerp does not snap anymore. It is still a data class. ( I521c2 )

  • FontWeight constructor is now public, it is not data class anymore. ( Id6b1f )

  • Add getLineStart, getLineEnd, getEllipsisOffset and getEllipsisCount to TextLayoutResult ( Ibc801 )

  • ui-text module is renamed as ui-text-core ( I57dec )

  • Removed unused Size class as there is a duplicate Size class in the ui-geometry module that is being consumed. ( I1b602 )

  • Added AdapterList, a scrolling list component that only composes and lays out the visible items. Currently known issues include that it is vertical-only and does not fully handle all cases of changes to its children. ( Ib351b )

  • Add paddings, border, shape and background param to Box ( I05027 , b/148147281 )

বাগ ফিক্স

  • টেক্সট ফিল্ডগুলিতে অনফোকাসচেঞ্জ কলব্যাক অনফোকাস চ্যাঞ্জডে নামকরণ করা হয়েছে ( আইডিএ 4 এ 1 )
  • VerticalScroller and HoriziontalScroller have been deprecated. Use ScrollableColumn and ScrollableRow for build-in experience with Column/Row behaviour and parameters, or Modifier.verticalScroll and Modifier.horizontalScroll on your own element. Similarly, ScrollerPosition has been deprecated in favor of ScrollState' ( I400ce , b/157225838 , b/149460415 , b/154105299 )
  • runOnIdleCompose renamed to runOnIdle ( I83607 )
  • Several testing APIs were renamed to be more intuitive. All findXYZ APIs were renamed to onNodeXYZ. All doXYZ APIs were renamed to performXYZ. ( I7f164 )
  • Compose UI can now be composed inside ViewGroups without requiring a new composition. See ViewInteropDemo for an example. ( I9ab0b , b/160455080 )
  • Added sortWith and removeRange to MutableVector ( Icccf7 )
  • Implement Drag Selection Handles to change selection for TextField. ( I27032 )
  • Removed Shader inline class that wrapped the NativeShader expect class Renamed NativeShader to Shader. The wrapped Shader inline class did not add anything valuable to the API surface and was an inline class, so use the NativeShader class directly. ( I25e4d )
  • Refactored PainterModifier to no longer provide scaling based on the given constraints and ContentScale parameter. Implementations of Painter are to scale their drawing content themselves based on the given size of the DrawScope they are drawing into.

    Fixed issue where VectorPainter's cache bitmap was sized to its default size instead of the given size to draw into.

    Updated ImagePainter to scale its content instead of relying on PainterModifier to do so on its behalf. ( I6ba90 )

  • add top-level withFrameNanos function for animation timing ( Ie34c5 )

  • @Untracked annotation has been deprecated. Replace with @ComposableContract(tracked=false) ( Id211e )

  • androidx.ui.foundation.textfieldvalue এবং androidx.ui.input.editorvalue অবমূল্যায়ন করা হয়। টেক্সটফিল্ড, ভরাট টেক্সটফিল্ড এবং কোরটেক্সটফিল্ড কমপোজেবলগুলি যা সেই ধরণের ব্যবহার করে তাও হ্রাস করা হয়। এর পরিবর্তে অ্যান্ড্রয়েডএক্স.ইউআই.ইনপুট.টেক্সটফিল্ডভ্যালু ব্যবহার করুন ( আই 4066 ডি , বি/155211005 )

  • Fixed issue where pointer input dispatch would cause a crash if PointerInputFilters were removed via subcomposition during disptach. এটা এখন ঠিক করা হয়েছে। ( I1f48b , b/157998762 )

  • Fixed issue where pointer input dispatch would cause a crash if PointerInputFilters were removed via subcomposition during disptach. এটা এখন ঠিক করা হয়েছে। ( Iab398 , b/157998762 )

  • Refactored Radius class to be an inline class. Removed companion creation methods in favor of function constructor with default parameter to have the radius along the y-axis match that of the mandatory x-axis radius parameter.

    Updated DrawScope.drawRoundRect to consume a single Radius parameter instead of 2 separate float values for the radius along the x and y axis ( I46d1b )

  • The Recompose composable is no longer a useful abstraction. Most recomposition should happen as a result of MutableState assignments. For anything beyond that, it is recommended that you use the invalidate function to trigger a recomposition of the current scope. ( Ifc992 )

  • Replaced usage of Px class in various compose classes as part of the large refactoring effort to only rely on Dp and primitive types for pixel parameters ( Iede0b )

  • Changes the code generation strategy of Compose's compiler. Prior to the change, the compose compiler would transform calls to composable functions. With this change, we now transform the body of a composable function and leave the callsite unaltered (mostly).

    This means that most of the logic communicating with the compose runtime happens at the start of the function body, instead of at the callsite.

    This should be a source-compatible change for all usage of compose. Most users of compose should not have to update any code as a result of this change.

    In order to support this work, the JVM signature of all composable functions has changed. A Composable function accepting a single parameter is transformed into a function accepting 3 parameters, the additional parameters are the Composer, a 'key' integer. a bitmask integer used to propagate metadata through calls.

    Compose now also transforms default arguments to a composable function. It does this without introducing an additional synthetic default overload of the function itself, so this change will result in fewer functions being defined.

    Known intentional behavioral changes resulting from this:

    1. Some calls will skip where they wouldn't have previously
    2. Composable expressions in default argument expressions are now correctly subscribed to and handled

    This work included some optimizations: 1. The result of comparisons of parameters are propagated through the call graph to other composable functions. This will result in fewer comparisons at runtime, reduces the slot table size, as well as more skipping of composable functions that were previously not skipped 2. Paremeters which are determined to be “static” at compile time are no longer compared or stored in the রানটাইম This reduces the number of comparisons and reduces slot table size. 3. Control flow structure of the body of functions is used to minimize the number of groups that are generated. This reduces slot table size and results in less work for the runtime 4. Unused dispatch and receiver parameters to functions are not included in determining skippability of the function if they are not used inside of the body of the function.

    Most breaking changes were for APIs that the compiler targets directly, and typical use of compose will not be affected: 1. Composer::startExpr was removed 2. Composer::endExpr was removed 3. Composer::call was deprecated 4. The non-varargs overloads of key have been removed. Use the vararg version going forward. 5. The Pivotal annotation was deprecated. Use key as a replacement. 6. ScopeUpdateScope::updateScope was changed to expect a Function3 instead of Function1 7. restartableFunction and restartableFunctionN were updated to include additional compile time parameters ( I60756 , b/143464846 )

  • Removed deprecated LayoutAlign modifiers. ( I10877 )

  • Removed RepaintBoundary in favor of DrawLayerModifier ( I00aa4 )

  • Button, FloatingActionButton and Clickable now have a separate enabled param. Some of the params on Button were renamed or reordered. ( I54b5a )

  • Replaced ButtonStyle with distinct functions and removed text (string) overload. See updated samples for usage information. ( If63ab , b/146478620 , b/146482131 )

  • Breaking changes to the ambients API. See log and Ambient<T> documentation for details ( I4c7ee , b/143769776 )

  • Changed the behavior of default TextDirection to be determined by LayoutDirection. ie If LayoutDirection is RTL, default TextDirection will be RTL. Previously it was TextDirection.ContentOrLtr/Rtl ( I4e803 )

  • Bug fix: When font weight and font style are nested on an AnnotatedString, text is not rendered correctly. ( I77a9d )

  • Adds commonly used parameters to Text(). If you are currently creating a local text style to pass a small number of these parameters, such as Text(style = TextStyle(textAlign = TextAlign.Center)), you can now just provide the parameters directly: Text(textAlign = TextAlign.Center) ( I82768 )

  • ui-android-text module is renamed as ui-text-android ( I68cbe )

,

UI রচনা করুন

Fundamental components of compose UI needed to interact with the device, including layout, drawing, and input.
সর্বশেষ আপডেট স্থিতিশীল রিলিজ প্রার্থী মুক্তি বিটা রিলিজ আলফা রিলিজ
সেপ্টেম্বর 18, 2024 1.7.2 - - 1.8.0-alpha02

গঠন

Compose is combination of 7 Maven Group Ids within androidx . Each Group contains a targeted subset of functionality, each with its own set of release notes.

This table explains the groups and links to each set of release notes.

গ্রুপ বর্ণনা
compose.animation Build animations in their Jetpack Compose applications to enrich the user experience.
compose.compiler Transform @Composable functions and enable optimizations with a Kotlin compiler plugin.
compose.foundation Write Jetpack Compose applications with ready to use building blocks and extend foundation to build your own design system pieces.
compose.material Build Jetpack Compose UIs with ready to use Material Design Components. This is the higher level entry point of Compose, designed to provide components that match those described at www.material.io.
compose.material3 Build Jetpack Compose UIs with Material Design 3 Components, the next evolution of Material Design. Material 3 includes updated theming and components and Material You personalization features like dynamic color, and is designed to be cohesive with the new Android 12 visual style and system UI.
compose.runtime Fundamental building blocks of Compose's programming model and state management, and core runtime for the Compose Compiler Plugin to target.
compose.ui Fundamental components of compose UI needed to interact with the device, including layout, drawing, and input.

নির্ভরতা ঘোষণা করা

To add a dependency on Compose, you must add the Google Maven repository to your project. Read Google's Maven repository for more information.

Add the dependencies for the artifacts you need in the build.gradle file for your app or module:

গ্রোভি

dependencies {
    implementation "androidx.compose.ui:ui:1.7.2"
}

android {
    buildFeatures {
        compose true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.5.15"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

কোটলিন

dependencies {
    implementation("androidx.compose.ui:ui:1.7.2")
}

android {
    buildFeatures {
        compose = true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.5.15"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

For more information about dependencies, see Add build dependencies .

প্রতিক্রিয়া

Your feedback helps make Jetpack better. Let us know if you discover new issues or have ideas for improving this library. Please take a look at the existing issues in this library before you create a new one. You can add your vote to an existing issue by clicking the star button.

একটি নতুন সমস্যা তৈরি করুন

See the Issue Tracker documentation for more information.

সংস্করণ 1.8

Version 1.8.0-alpha02

সেপ্টেম্বর 18, 2024

androidx.compose.ui:ui-*:1.8.0-alpha02 is released. Version 1.8.0-alpha02 contains these commits .

এপিআই পরিবর্তন

  • TextOverflow.StartEllipsis and TextOverflow.MiddleEllipsis are now available which allows to place ellipsis at the start or middle of the line of the single line text. ( I38913 , b/185418980 )

বাগ ফিক্স

External Contribution

  • The AlignmentLines Map now accepts VerticalAlignmentLine or HorizontalAlignmentLine concrete types. ( I02912 )
  • New common ByteArray.decodeToImageBitmap(): ImageBitmap method. ( I83c21 )

Version 1.8.0-alpha01

4 সেপ্টেম্বর, 2024

androidx.compose.ui:ui-*:1.8.0-alpha01 is released. Version 1.8.0-alpha01 contains these commits .

সংস্করণ 1.7

সংস্করণ 1.7.2

সেপ্টেম্বর 18, 2024

androidx.compose.ui:ui-*:1.7.2 is released. Version 1.7.2 contains these commits .

বাগ ফিক্স

  • Improved performance of accessibility node info and semantics events by removing verbose tracing. ( I89156 , b/362530618 )
  • ComposeView will no longer crash when passed exceptionally large measurement size ( da5db , b/347036173 )
  • Fixed an accessibility screenreader issue where LiveRegion announcements on buttons were not made. ( f66fa7 , b/348590026 )

সংস্করণ 1.7.1

10 সেপ্টেম্বর, 2024

  • No changes to Android artifacts. -desktop artifacts were removed and -jvmStubs and -linuxx64Stubs artifacts were added. None of these targets are meant to be used, they are placeholders to help Jetbrains Compose efforts.

সংস্করণ 1.7.0

4 সেপ্টেম্বর, 2024

androidx.compose.ui:ui-*:1.7.0 is released.

Important changes since 1.6.0

Important changes in version 1.7.0 are covered in this blogpost .

Version 1.7.0-rc01

আগস্ট 21, 2024

androidx.compose.ui:ui-*:1.7.0-rc01 is released. Version 1.7.0-rc01 contains these commits .

উল্লেখযোগ্য পরিবর্তন

  • ui:ui module now forces requirement of a minimum version of foundation:foundation to be at least 1.7.0-rc01 or newer. This is enforced to remedy a behaviour incompatibility between ui and foundation in regards to NestedScrollSource changes that happened early during 1.7.0-alpha01.

Version 1.7.0-beta07

7 আগস্ট, 2024

androidx.compose.ui:ui-*:1.7.0-beta07 is released. Version 1.7.0-beta07 contains these commits .

বাগ ফিক্স

  • টেক্সট ইনপুট সম্পর্কিত SemanticsNodeInteraction ফাংশনগুলি performTextReplacement , performTextInput , এবং performTextClearance এখন দাবী ত্রুটিগুলি ফেলতে চলেছে যখন সেগুলিকে শুধুমাত্র TextFields কল করা হয়৷ ( I4ae8f )

Version 1.7.0-beta06

জুলাই 24, 2024

androidx.compose.ui:ui-*:1.7.0-beta06 is released. Version 1.7.0-beta06 contains these commits .

Version 1.7.0-beta05

10 জুলাই, 2024

androidx.compose.ui:ui-*:1.7.0-beta05 is released. Version 1.7.0-beta05 contains these commits .

বাগ ফিক্স

  • Fixed a bug where changing the software keyboard would cause TextField to not accept input from the new keyboard until the focus is lost and regained.
  • Fixed an issue where attempts to persist layer contents would cause unintended side effects when rendering with SurfaceView content.

Version 1.7.0-beta04

জুন 26, 2024

androidx.compose.ui:ui-*:1.7.0-beta04 is released. Version 1.7.0-beta04 contains these commits .

বাগ ফিক্স

  • খুব বড় টেক্সট লাইন (যেমন 10k অক্ষর) পরিমাপ করার সময় ক্র্যাশ এড়িয়ে চলুন ( 8157ab )
  • Disable software rendering support for the GraphicsLayer API. ( 35ddd8 )
  • Fix for a crash in layer persistence logic. ( 70b13e )
  • Reusing layer objects optimization was reverted, as it caused rendering issues. ( 70b13e )

Version 1.7.0-beta03

জুন 12, 2024

androidx.compose.ui:ui-*:1.7.0-beta03 is released. Version 1.7.0-beta03 contains these commits .

Version 1.7.0-beta02

29 মে, 2024

androidx.compose.ui:ui-*:1.7.0-beta02 is released. Version 1.7.0-beta02 contains these commits .

এপিআই পরিবর্তন

  • নাম পরিবর্তন করে SemanticsProperties.EditableIsEditable এবং SemanticsPropertyReceiver.editable val isEditable এ পরিবর্তন করা হয়েছে। সম্পত্তি এখন একটি বুলিয়ান এবং সর্বদা পাঠ্য ক্ষেত্র দ্বারা নির্দিষ্ট করা হয়। ( I8acd8 )
  • Rename accessibility benchmark parameter. ( I3d440 )
  • Updated API for styling the links: TextLinkStyles is now part of the LinkAnnotation constructor and the AnnotatedString.fromHtml method ( I90b2b ). Also removed the TextDefaults from material ( I5477b )

বাগ ফিক্স

  • এর উদ্দেশ্যকে আরও ভালভাবে প্রতিফলিত করার জন্য LayoutCoordinates.introducesFrameOfReference নাম পরিবর্তন করে LayoutCoordinates.introducesMotionFrameOfReference করা হয়েছে। সেই পতাকার উপর ভিত্তি করে স্থানাঙ্ক গণনা করতে সম্পর্কিত ফাংশনের নাম পরিবর্তন করা হয়েছে। ( I3a330 )

Version 1.7.0-beta01

14 মে, 2024

androidx.compose.ui:ui-*:1.7.0-beta01 is released. Version 1.7.0-beta01 contains these commits .

এপিআই পরিবর্তন

  • Renamed performCustomAccessibilityActionLabelled to performCustomAccessibilityActionWithLabel and performCustomAccessibilityActionWhere to performCustomAccessibilityActionWithLabelMatching . ( I5387f )
  • AnnotatedString.hasEqualsAnnotations is now hasEqualAnnotations ( I685c0 )
  • টেক্সটে মেটেরিয়াল থিমযুক্ত লিঙ্ক পাওয়ার জন্য API আপডেট করা হয়েছে। Specifically, removed the methods from the TextDefaults for constructing themed LinkAnnotations and parse HTML with themed links. Instead, added a TextLinkStyles class that allows to style the links as a parameter to the Text composable. ( I31b93 )

বাগ ফিক্স

  • Fixes additional use cases when dynamically adding pointer input modifiers during events 63e1504

Version 1.7.0-alpha08

1 মে, 2024

androidx.compose.ui:ui-*:1.7.0-alpha08 is released. Version 1.7.0-alpha08 contains these commits .

এপিআই পরিবর্তন

  • Adds support for mutable shape implementations. Shape#createOutline is now observed inside graphics layers, so reading state values inside will cause invalidations when the state changes, allowing for more performant shape animations. ( Id1629 , b/326070216 )
  • introducesFrameOfReference জন্য isPositionedByParentWithDirectManipulation নাম পরিবর্তন করা হয়েছে। মনে রাখবেন যে এটির এখন বিপরীত প্রভাব রয়েছে, যার অর্থ ডিফল্টরূপে, বেশিরভাগ LayoutCoordinates রেফারেন্সের একটি ফ্রেম প্রবর্তন করে এবং, শুধুমাত্র যখন সরাসরি ম্যানিপুলেশনের অধীনে স্থাপন করা হয় তখন সম্পত্তিটি মিথ্যা হবে। শুধুমাত্র একটি রেফারেন্সের ফ্রেম প্রবর্তনকারীর সাথে অবস্থান অনুসন্ধান করতে, positionInLocalFrameOfReference(...) ব্যবহার করুন। অথবা একটি LookaheadScope থেকে positionInLocalLookaheadFrameOfReference । ( ifc5f7 )
  • LookaheadScope APIs have been made stable ( I21507 )
  • Change action lambda for getScrollViewportLength as per API council feedback. ( Ibc74a )
  • Updated GraphicsLayer outline APIs to consume float parameters instead of int. Removed UnsetOffset/UnsetSize IntSize sentinel values in favor of already existing Unspecified constants on float based Offset and Size inline classes ( I2fb03 , b/333863462 )
  • When injecting mouse input during tests, MouseInjectionScope.click() , MouseInjectionScope.doubleClick() , MouseInjectionScope.tripleClick() , MouseInjectionScope.longClick() now accept a button: MouseButton parameter to make them more universally applicable. The default value is MouseButton.Primary for all methods. ( I31a23 , b/190493367 , b/261439695 )
  • Renamed onClicked to onClick inside LinkInteractionListener . ( Iaa35c )
  • TextInclusionStrategy.isInside এর নাম পরিবর্তন করে isIncluded করুন। Paragraph/MultiParagraph#getRangeForRect() রিটার্ন টাইপটি বাতিলযোগ্য নয়। ( I51f26 )

বাগ ফিক্স

  • reverseScrolling=true সহ পাত্রে স্ক্রল করার জন্য স্থায়ী দীর্ঘ স্ক্রিনশট ক্যাপচার। ( I7c59c )

External Contribution

  • নেস্টেড LazyLists এ আইটেম প্রিফেচ করার জন্য সমর্থন যোগ করা হয়েছে (যেমন একটি LazyColumn যা নেস্টেড LazyRows রেন্ডার করে)। এই LazyLists জন্য স্ক্রল করার সময় এই পরিবর্তনটি ফ্রেম ড্রপ কমিয়ে দেবে বলে আশা করা হচ্ছে। বাস্তবায়ন ডিফল্ট হল প্রথম 2টি নেস্টেড আইটেম প্রিফেচ করা, তবে এই আচরণটি নতুন LazyLayoutPrefetchStrategy(nestedPrefetchItemCount) এবং LazyListPrefetchStrategy#onNestedPrefetch APIs দ্বারা নিয়ন্ত্রিত হতে পারে। ( I51952 )

Version 1.7.0-alpha07

এপ্রিল 17, 2024

androidx.compose.ui:ui-*:1.7.0-alpha07 is released. Version 1.7.0-alpha07 contains these commits .

এপিআই পরিবর্তন

  • ClickableText অবচিত হিসাবে চিহ্নিত করা হয়েছে। To add links to the text, create an AnnotatedString with a LinkAnnotation corresponding to your link and pass this AnnotatedString to the Text composable. ( I34d4b , b/323346994 )
  • হাতের লেখার অঙ্গভঙ্গির জন্য ViewConfiguration.HandwritingGestureLineMargin প্রবর্তন করুন। Support JoinOrSplit gesture for BasicTextField ( Ie6e13 , b/325660505 )
  • FocusProperties.enter and FocusProperties.exit are no longer experimental. FocusDirection.Enter and FocusDirection.Exit are no longer experimental. FocusRequester.Cancel is no longer experimental ( I461a1 , b/261564106 )
  • লেআউট স্থানাঙ্ক অনুসন্ধান করার সময়, আপনি এখন প্যারেন্ট লেআউট দ্বারা সেট করা অফসেট বাদ দিতে excludeDirectManipulationOffset আর্গুমেন্ট ব্যবহার করতে পারেন যা Placeable.PlacementScope.withDirectManipulationPlacement ব্যবহার করে তাদের সন্তানদের রেখেছে। একইভাবে, একটি লেআউট যা তার বাচ্চাদের অবস্থান ঘন ঘন পরিবর্তন করে এখন withDirectManipulationPlacement (যেমন স্ক্রোল, ডিফল্টরূপে বাস্তবায়িত) ব্যবহার করে তাদের স্থাপন করতে পারে। এটি অ্যানিমেট করার জন্য কী অফসেট করতে হবে এবং তাদের পদ্ধতির অ্যানিমেট করার সিদ্ধান্ত নেওয়ার সময় সরাসরি কী প্রয়োগ করতে হবে তা আলাদা করার সুযোগ পেয়ে এটি approachLayout ভিত্তিক অ্যানিমেশনগুলিকে আরও স্বজ্ঞাত হতে সাহায্য করে৷ ( I60ec7 )
  • দীর্ঘ স্ক্রিনশটগুলির জন্য বৈশিষ্ট্য পতাকা সরানো হয়েছে৷ ( I28648 , b/329128246 )
  • LazyColumn এখন লম্বা স্ক্রিনশটে স্টিকি হেডার সঠিকভাবে রেন্ডার করবে। ( I8d239 , b/329296635 )
  • NestedScroll উত্সগুলির বর্ধিত সংজ্ঞা যা এখন অ্যানিমেশন (সাইড ইফেক্ট) এবং মাউস হুইল এবং কীবোর্ড ( UserInput ) অন্তর্ভুক্ত করে সেই উত্সগুলির বর্ধিত সংজ্ঞার জন্য মিটমাট করতে UserInput এবং SideEffect দ্বারা ড্র্যাগ এবং ফ্লিং প্রতিস্থাপিত হচ্ছে৷ ( I40579 )
  • ApproachLayoutModifierNode and Modifier.approachLayout are now stable, with new isMeasurementApproachInProgress() and isPlacementApproachInProgress() to replace the old isMeasurementApproachComplete() and isPlacementApproachComplete() respectively.
  • Removed deprecated intermediateLayout modifier. ( I3e91c )
  • Rename GraphicsLayer#buildLayer to record to mirror the begin/endRecording methods of Displaylist backed APIs like RenderNode and Picture.
  • Updated rememberGraphicsLayer to leverage rememberObserver . ( I312c1 , b/288494724 , b/330758155 )
  • UrlAnnotation বাতিল করা হয়েছে, পরিবর্তে LinkAnnotation.Url ব্যবহার করুন। আপনি যদি ম্যাটেরিয়াল থিমিং ব্যবহার করে থাকেন, তাহলে TextDefaults অবজেক্ট ব্যবহার করুন যাতে ম্যাটেরিয়াল থিমিং এর সাথে টীকা তৈরি করা যায় ( I8d180 , b/323346545 )
  • Text links got pressed state styling option in addition to normal styling, hovered and focused ( I5f864 , b/139312671 )
  • String.parseAsHtml renamed to AnnotatedString.Companion.fromHtml . ( I43dcd )
  • parseAsHtml পদ্ধতিতে স্টাইলিং আর্গুমেন্ট ( linkStyle , focusedLinkStyle , hoveredLinkStyle ) এবং একটি লিঙ্ক ইন্টারঅ্যাকশন লিসেনার যোগ করা হয়েছে। HTML-ট্যাগযুক্ত স্ট্রিংকে <a> ট্যাগের সাথে পার্স করার সময়, পদ্ধতিটি এই জাতীয় প্রতিটি ট্যাগের জন্য একটি LinkAnnotation.Url তৈরি করবে এবং প্রতিটি টীকাতে স্টাইলিং অবজেক্ট এবং লিঙ্ক ইন্টারঅ্যাকশন লিসেনারকে পাস করবে। ( I7c977 )
  • LinkAnnotation এখন স্টেট-ভিত্তিক স্টাইলিং আর্গুমেন্ট এবং একটি LinkInteractionListener নেয়। একটি হাইপারলিঙ্ক পেতে AnnotatedString এ এই টীকা যোগ করুন। focusedState এবং/অথবা hoveredState পাস করে আপনি লিঙ্কগুলির জন্য ভিজ্যুয়াল configuration নির্ধারণ করতে পারেন যখন সেগুলি ফোকাস করা হয় এবং/অথবা হোভার করা হয়। ( I81ce4 , b/139312671 )
  • ImeOptions.hintLocales আর বাতিলযোগ্য নয়। আপনি যদি একটি খালি লোকেল তালিকা পাস করতে চান, তাহলে অনুগ্রহ করে LocaleList.Empty ব্যবহার করুন। ( IC5bc4 )

বাগ ফিক্স

  • Gracefully handles bad/corrupt historical input event data (ignores bad offset data).
  • Fixes unexpected pointer events when a pointer input modifier is added dynamically before another pointer input modifier during an active pointer input event stream (for example, between a hover enter and hover exit [mouse/stylus]).

Version 1.7.0-alpha06

3 এপ্রিল, 2024

androidx.compose.ui:ui-*:1.7.0-alpha06 is released. Version 1.7.0-alpha06 contains these commits .

নতুন বৈশিষ্ট্য

  • স্টাইল করা স্ট্রিংগুলির জন্য parseAsHtml পদ্ধতি যোগ করা হয়েছে: এটি HTML ট্যাগ দ্বারা চিহ্নিত একটি স্ট্রিংকে AnnotatedString এ রূপান্তর করতে দেয়। মনে রাখবেন যে সমস্ত ট্যাগ সমর্থিত নয়, উদাহরণস্বরূপ আপনি এখনও বুলেট তালিকা প্রদর্শন করতে সক্ষম হবেন না। ( I84d3d , I30626 , b/139326648 )
  • অফিসিয়াল Android API ( ScrollCaptureCallback ) ব্যবহার করে কম্পোজ স্ক্রোল পাত্রে দীর্ঘ স্ক্রিনশটগুলির জন্য পরীক্ষামূলক সমর্থন প্রয়োগ করা হয়েছে। এই বৈশিষ্ট্যটি পরীক্ষামূলক এবং বর্তমানে সমস্ত ক্ষেত্রে সঠিকভাবে পরিচালনা নাও করতে পারে৷ যে কারণে এটি বর্তমানে ডিফল্টরূপে অক্ষম করা হয়েছে। অপ্ট-ইন করতে, ComposeFeatureFlag_LongScreenshotsEnabled পতাকাটিকে সত্যে সেট করুন৷ ( I2b055 , b/329296471 )

এপিআই পরিবর্তন

  • fun ClipEntry.getMetadata() val ClipEntry.clipMetadata এ পরিবর্তিত হয়েছে। ( I50155 )
  • ClipboardManager.getClipMetadata এবং ClipboardManager.hasClip ফাংশন সরানো হয়েছে। বর্তমান ক্লিপ এন্ট্রির মেটাডেটা পড়তে অনুগ্রহ করে clipEntry.getMetadata() ব্যবহার করুন। এছাড়াও ClipboardManager.getClip এর ফলাফল পরীক্ষা করুন যদি এটি শূন্য হয় বা না বোঝার জন্য ক্লিপবোর্ডে বর্তমান ক্লিপ আছে কিনা। ( I50498 )
  • Now you can pass GraphicsLayer objects into placeable.placeWithLayer() functions ( I1b22f )
  • ClipboardManager.setClip এখন ক্লিপবোর্ড সাফ করতে সক্ষম হওয়ার জন্য নাল গ্রহণ করে। ( I7d2e9 )
  • Added resource ids for assist with hiding Views used as implementation details within build tooling ( I99531 )
  • Added GraphicsLayer#toImageBitmap suspend method to support rendering contents of a bitmap into a GraphicsLayer . This is a hardware accelerated rendering operation on API level 22+ (inclusive) which supports over 99% of all Android devices. On Android API level 21 this falls back onto software rendering. ( I9e114 )
  • Helper method to convert an Android RectF to ComposeRect ( I39925 , b/325660505 )
  • সমস্ত KeyboardOptions প্যারামিটারের এখন ডিফল্টরূপে একটি অনির্দিষ্ট মান রয়েছে। KeyboardOptions.merge পদ্ধতি যোগ করা হয়েছে।
  • KeyboardOptions.autoCorrect থেকে autoCorrectEnabled এ পুনঃনামকরণ করা হয়েছে এবং এটিকে বাতিলযোগ্য করা হয়েছে, যেখানে নাল নির্দেশ করে কোনো মান নির্দিষ্ট করা হয়নি। ( IA8ba0 , b/295951492 )
  • BasicTextField(state) ভেরিয়েন্ট এবং BasicSecureTextField এখন সফ্টওয়্যার কীবোর্ড দ্বারা গৃহীত পদক্ষেপগুলি প্রক্রিয়া করতে KeyboardActions এর পরিবর্তে KeyboardActionHandler ব্যবহার করে। ( I58dda )

Version 1.7.0-alpha05

20 মার্চ, 2024

androidx.compose.ui:ui-*:1.7.0-alpha05 is released. Version 1.7.0-alpha05 contains these commits .

নতুন বৈশিষ্ট্য

  • Introduce new GraphicsLayer API to record drawing commands in a display list as well as additional properties that affect the rendering of the display list. This provides an isolation boundary to divide a complex scene into smaller pieces that can be updated individually of one another without recreating the entire scene. Transformations made to a GraphicsLayer can be done without re-recording the display list. Unlike Modifier.graphicsLayer , GraphicsLayer allows for rendering of Composable content elsewhere and is useful in animated use cases where content is expected to be rendered in different scenes.

এপিআই পরিবর্তন

  • GraphicsLayer.draw(Canvas) is not a public api anymore. Please use the DrawScope.drawLayer(GraphicsLayer) extension function instead to draw the layer. ( I7a7c0 )
  • restrictedConstraints() দুটি পদ্ধতিতে বিভক্ত করুন: fitPrioritizingWidth() এবং fitPrioritizingHeight() ( I6d7fd )
  • Introduced HardwareCanvas stub for Android L usage ( I1c3b5 , b/288494724 )
  • Update Compose framework to expose a GraphicsContext composition local alongside updating Owner, DelegateableNode and drawWithCache Modifier implementations to expose access to the GraphicsContext for scoped access that will automatically cleanup GraphicsLayer instances when Modifiers are torn down. ( I64a2f , b/288494724 )
  • নিম্ন-স্তরের IME-সম্পর্কিত পরীক্ষা এবং অন্যান্য নিম্ন-স্তরের IME ব্যবহারের ক্ষেত্রে লিখতে সাহায্য করার জন্য InterceptPlatformTextInput চালু করা হয়েছে। PlatformTextInputTestOverride বাতিল করা হয়েছে। ( I862ed , b/322680547 )
  • GraphicsLayer.setOutline(Outline) extension function was added. ( Ib81f4 )
  • Introduce GraphicsContext function constructor to create a factory to create GraphicsLayer instances ( Ib98d6 , b/288494724 )
  • Exposed GraphicsLayer API to provide developer defined flexibility in capturing drawing commands that can be used to draw elsewhere and also apply different visual effects to the end result. ( I80245 , b/288494724 )
  • Introduce the Paragraph#getRangeForRect which returns a range of text covered by a given rectangle area. ( Iee516 , b/325660505 )
  • onLinkClicked যুক্তি দিয়ে BasicText এর পরীক্ষামূলক ওভাররাইড সরানো হয়েছে। হাইপারলিঙ্ক সমর্থনের জন্য একটি প্রতিস্থাপন API ভবিষ্যতে অনুসরণ করবে। ( I107d5 )

বাগ ফিক্স

  • Added GraphicsLayer expect/actual API definition to support capturing and replaying of drawing commands with optional compositing visual effects and transforms. Introduce GraphicsContext interface to contain graphics dependencies including creation and management of GraphicsLayer instances. ( I4a8d6 , b/288494724 )
  • Fixed an interop issue with 1D focus search where focus would get stuck inside a ComposeView that was embedded among other views. ( I08fd4 )

External Contribution

  • LocalLifecycleOwner moved from Compose UI to lifecycle-runtime-compose so that its Compose-based helper APIs can be used outside of Compose UI. Thanks Jake Wharton for the contribution. ( I6c41b , b/328263448 )
  • Consistently expose bias float properties on all bias-based alignment subtypes. ( I69f0f , b/328088992 )

Version 1.7.0-alpha04

6 মার্চ, 2024

androidx.compose.ui:ui-*:1.7.0-alpha04 is released. Version 1.7.0-alpha04 contains these commits .

এপিআই পরিবর্তন

  • Support stylus handwriting feature for BasicTextField2 on devices after Android U. ( I002e4 )
  • এই CL-তে আমরা GetScrollViewportLength শব্দার্থিক ক্রিয়া যুক্ত করছি যাতে আমরা a11y সিস্টেমে কম্পোজে স্ক্রোল করা উপাদানগুলির সম্পর্কে তথ্য পাইপ করতে পারি। এই CL ফাউন্ডেশন স্ক্রোলযোগ্য তালিকায় উল্লিখিত সম্পত্তির ব্যবহারও প্রযোজ্য। ( IC5fa2 )
  • FocusRequester.createRefs এখন স্থিতিশীল ( I4d92c , b/261436820 )
  • সংশোধক নোডগুলিকে স্থানীয় কম্পোজিশন না পড়ে বর্তমান অ্যান্ড্রয়েড View পেতে অনুমতি দেওয়ার জন্য DelegatableNode.requireView() চালু করা হয়েছে৷ ( I40768 )
  • New API Path.reverse() to reverse a path's direction ( I36348 )
  • একটি পছন্দের ভাষা প্রিসেট করতে নির্দিষ্ট লোকেল সহ IME গুলিকে ইঙ্গিত করার ক্ষমতা সহ TextFields প্রদান করতে KeyboardOptionshintLocales যোগ করা হয়েছে৷
  • Expose platformLocale property from Locale that returns the underlying platform object, eg java.util.Locale . ( I921c6 )

Version 1.7.0-alpha03

21 ফেব্রুয়ারি, 2024

androidx.compose.ui:ui-*:1.7.0-alpha03 is released. Version 1.7.0-alpha03 contains these commits.

এপিআই পরিবর্তন

  • Introducing ContextualFlowRow and Enhanced FlowRow / Column with MaxLines and Overflow. আমরা ContextualFlowRow এবং ContextualFlowColumn এর আত্মপ্রকাশের পাশাপাশি, এখন maxLines এবং ওভারফ্লো সমর্থন সমন্বিত পরীক্ষামূলক FlowRow এবং FlowColumn এ বর্ধিতকরণ ঘোষণা করতে পেরে উত্তেজিত। এই আপডেটটি পারফরম্যান্সের সর্বোত্তম উপাদান প্রদান করার জন্য ডিজাইন করা হয়েছে, যেখানে ContextualFlow* একটি ছোট maxLines কনফিগারেশন এবং গতিশীল +N আরও বোতাম ব্যবহার করে প্রচুর সংখ্যক আইটেমের জন্য উপযুক্ত, এবং FlowRow এবং FlowColumn অল্প সংখ্যক আইটেমের জন্য উপযুক্ত, কম 100 টিরও বেশি আইটেম। গুরুত্বপূর্ণ: FlowRow বা FlowColumn এ বিদ্যমান আচরণ বজায় রাখার জন্য যেখানে সমস্ত আইটেম তৈরি করা হয়েছে তা নির্বিশেষে তারা ক্রস অক্ষের সর্বোচ্চ মাপসই করে, overflow সেট করুন FlowRowOverflow.Visible বা FlowColumnOverflow.Visible .প্রাথমিককরণের সময় দৃশ্যমান। ক্রিয়াশীল এই নতুন বৈশিষ্ট্যগুলির উদাহরণগুলির জন্য ContextualFlowRowSample এবং FlowRowSample অন্বেষণ করুন৷ ( Ib9135 , b/293577082 )
  • Add maxTextLength semantics property that should be set on text fields that filter the maximum allowed number of characters. ( I24d9f , b/170648072 )
  • The Modifier.inspectable wrapper has been deprecated. This API will create more invalidations of your modifier than necessary, so its use is now discouraged. Developers are encouraged to implement the inspectableProperties() method on ModifierNodeElement if they would like to expose modifier properties to tooling. ( Ib3236 )
  • New constructor for PopupProperties which allows for full control over WindowManager.LayoutParams flags. ( Ibb33e , b/312485503 )
  • একটি Modifier.Node এর বর্তমান LayoutCoordinates পেতে একটি উপায় হিসাবে DelegatableNode.requireLayoutCoordinates() চালু করা হয়েছে onPlaced ওভাররাইড করার প্রয়োজন ছাড়াই এবং স্থানাঙ্কগুলিকে একটি সম্পত্তিতে সঞ্চয় করার প্রয়োজন নেই৷ ( IA8657 )
  • একটি Modifier.Node পাওয়ার উপায় হিসাবে DelegatableNode.currentLayoutCoordinates প্রবর্তন করা হয়েছে। onPlaced ওভাররাইড করার প্রয়োজন ছাড়াই নোডের বর্তমান LayoutCoordinates নিজে একটি সম্পত্তিতে স্থানাঙ্কগুলি সংরক্ষণ করা হয়েছে। ( আইয়াইবা )
  • androidx.compose.foundation.text2 প্যাকেজের অধীনে BasicTextField2 এবং সম্পর্কিত APIগুলিকে androidx.compose.foundation.text এ সরানো হয়েছে। ( I9f635 )
  • Added a new ApproachLayoutModifierNode API to support creating custom approach logic in an explicit Modifier Node. Also added a new experimental DeferredTargetAnimation API for animations whose target is unknown at instantiation. ( I60745 )
  • New Path APIs to query the direction of a Path and to extract contours from a Path . ( I63d04 )
  • Added PathHitTest and Path.contains(Offset) to check if a Path contains a specific point. ( I3b218 )
  • The TextLayoutResult now exposes the getLineBaseline(lineIndex) method. This allows to read the baseline of an arbitrary line of the text in addition to existing convenience properties firstBaseline and lastBaseline . ( Ide4e8 , b/237428541 )
  • শুধুমাত্র দুটি AnnotatedStrings এর টীকা তুলনা করার পদ্ধতি যোগ করা হয়েছে। ( I32659 )

বাগ ফিক্স

  • Fixed a backwards compatibility issue with SemanticsPropertyReceiver.performImeAction and SemanticsActions.PerformImeAction . ( Id0528 , b/322269946 )

Version 1.7.0-alpha02

7 ফেব্রুয়ারি, 2024

androidx.compose.ui:ui-*:1.7.0-alpha02 is released. Version 1.7.0-alpha02 contains these commits.

এপিআই পরিবর্তন

  • Fixed a binary compatibility issue with SemanticsPropertyReceiver.performImeAction . ( I65865 , b/322269946 )
  • PopupProperties constructor that takes a usePlatformDefaultWidth parameter is no longer experimental. ( I8f8d2 )
  • Added an overload of ComposeTestRule.waitUntil that takes a string description of the condition to include in the timeout message. ( I9413e )
  • New semantics API unset() to remove semantics properties that are added in the same modifier chain. New semantics property isOpaque . ( I8c583 , b/317966058 , b/246056649 )
  • Removed originalEventPosition from copy method in public API of PointerInputChange . ( I7bead )

বাগ ফিক্স

  • Fixed an a11y bug allowing non-tabs and non-radiobuttons to be clickable when selected. ( I2181c )
  • VelocityTracker will now have the fix for adding points on by default. The fix can still be turned off by setting VelocityTrackerAddPointsFix to false if there's any issues. ( Ib3877 , b/269487059 )
  • Fixed backwards binary incompatibility in TextStyle and ParagraphStyle . ( I179f0 , b/320819734 )

External Contribution

  • Added a new DialogProperties constructor without platform-specific parameters. ( I45829 )
  • Added a new PopupProperties constructor without platform-specific parameters. ( I9a038 )

Version 1.7.0-alpha01

24 জানুয়ারী, 2024

androidx.compose.ui:ui-*:1.7.0-alpha01 is released. Version 1.7.0-alpha01 contains these commits.

এপিআই পরিবর্তন

  • Expanded ClipboardManager by adding ClipEntry and ClipMetadata to support arbitrary content such as images.
  • Adds DeviceConfigurationOverride API to ui-test to allow locally overriding the behavior of content under test, such as to specify an available size, locale, layout direction, font scale, or theme.

সংস্করণ 1.6

সংস্করণ 1.6.8

জুন 12, 2024

androidx.compose.ui:ui-*:1.6.8 is released. Version 1.6.8 contains these commits .

বাগ ফিক্স

  • Fixed inconsistencies in font scaling when the font scale is less than the lowest defined table. In this case, we now interpolate between the linear 1x scale and the lowest defined table, so that the font size is monotonically increasing as scales increase. ( Icbae3 )

সংস্করণ 1.6.7

1 মে, 2024

androidx.compose.ui:ui-*:1.6.7 is released. Version 1.6.7 contains these commits .

সংস্করণ 1.6.6

এপ্রিল 17, 2024

androidx.compose.ui:ui-*:1.6.6 is released. সংস্করণ 1.6.6-এ এই কমিট রয়েছে।

বাগ ফিক্স

  • Fixes a rare BasicTextField crash.

সংস্করণ 1.6.5

3 এপ্রিল, 2024

androidx.compose.ui:ui-*:1.6.5 is released. Version 1.6.5 contains these commits .

সংস্করণ 1.6.4

20 মার্চ, 2024

androidx.compose.ui:ui-*:1.6.4 is released. Version 1.6.4 contains these commits .

সংস্করণ 1.6.3

6 মার্চ, 2024

androidx.compose.ui:ui-*:1.6.3 is released. Version 1.6.3 contains these commits .

সংস্করণ 1.6.2

21 ফেব্রুয়ারি, 2024

androidx.compose.ui:ui-*:1.6.2 is released. Version 1.6.2 contains these commits.

সংস্করণ 1.6.1

February 7, 2024 androidx.compose.ui:ui-*:1.6.1 is released. Version 1.6.1 contains these commits.

বাগ ফিক্স

  • Fixed a backwards compatibility issue with SemanticsPropertyReceiver.performImeAction and SemanticsActions.PerformImeAction . ( Ie0bb2 , b/322269946 )
  • Layouts now issue an error while measuring when one returns an abnormally large size. This kind of error normally happens when the measurement uses maximum constraints directly without checking for Constraints.Infinity . The check will help developers find problems with the layout having the wrong size rather than in a layout that contains it. ( I339a9 )

সংস্করণ 1.6.0

24 জানুয়ারী, 2024

androidx.compose.ui:ui-*:1.6.0 is released. Version 1.6.0 contains these commits.

Version 1.6.0-rc01

জানুয়ারী 10, 2024

androidx.compose.ui:ui-*:1.6.0-rc01 is released. Version 1.6.0-rc01 contains these commits.

বাগ ফিক্স

  • Optimized vector graphics implementation to improve performance by minimizing additional recompositions.

Version 1.6.0-beta03

13 ডিসেম্বর, 2023

androidx.compose.ui:ui-*:1.6.0-beta03 is released. Version 1.6.0-beta03 contains these commits.

নতুন বৈশিষ্ট্য

  • It is now possible for a LayoutCoordinates to be detached without the node being detached. Guard against that in the compose Layout Inspector ( If693 )

বাগ ফিক্স

  • PlatformImeOptions এখন ইন্টারফেসের পরিবর্তে একটি কংক্রিট শ্রেণি। ( If40a4 )
  • Fixed extra downstream recompositions caused by LocalSoftwareKeyboardController and LocalTextInputService being provided new values every time a root recomposed. ( I42190 , b/310510985 )

Version 1.6.0-beta02

নভেম্বর 29, 2023

androidx.compose.ui:ui-*:1.6.0-beta02 is released. Version 1.6.0-beta02 contains these commits.

Version 1.6.0-beta01

15 নভেম্বর, 2023

androidx.compose.ui:ui-*:1.6.0-beta01 is released. Version 1.6.0-beta01 contains these commits.

এপিআই পরিবর্তন

  • DragAndDropTarget মডিফায়ার এখন গ্রহণকারী DragAndDropTarget স্পষ্টভাবে গ্রহণ করে এবং একটি ড্রাগ এবং ড্রপ সেশনটি বেছে নেওয়ার জন্য একটি ল্যাম্বডা রয়েছে। DragAndDropModifierNode জন্য এখন দুটি কারখানার ফাংশন রয়েছে। একটি স্থানান্তর গ্রহণের জন্য একটি এবং একটি ডেটা স্থানান্তর করার জন্য ( i69481 )
  • ফ্লোট হিসাবে প্রতিনিধিত্ব করার জন্য আপডেট করা maximumFlingVelocitymaximumFlingVelocity unity ক্য সম্পর্কে আরও স্পষ্ট হতে আপডেট করা ডকুমেন্টেশন। ( I8adc7 )
  • DragAndDropModifierNode কারখানায় onDragAndDropStart নামকরণ করা হয়েছে acceptDragAndDropTransfer । একটি ড্র্যাগ এবং ড্রপ সেশন থেকে গ্রহণ করার জন্য dragAndDropTarget মডিফায়ারে acceptsDragAndDropTransfer যুক্ত করা হয়েছে। এই ল্যাম্বদা একটি ড্র্যাগ এবং ড্রপ সেশনে আগ্রহী হলে একটি কার্যকর DragAndDropTarget ফেরত দেয়। ড্র্যাগ ইভেন্টগুলি প্রক্রিয়াজাতকরণের জন্য অন্যান্য ল্যাম্বডাস এটি দ্বারা প্রতিস্থাপন করা হয়েছে। ড্র্যাগ এবং ড্রপ সেশনগুলি ( আইইবিএফ 3 এ ) থেকে গ্রহণের জন্য একটি DragAndDropTarget কারখানা ফাংশন যুক্ত করা হয়েছে
  • DragAndDropInfo সরানো হয়েছে টাইপ DragAndDropModifierNode.drag DrawScope transferData

    DragAndDropTarget একক বিমূর্ত পদ্ধতি হওয়ার পরিবর্তে নির্দিষ্ট ড্রাগ এবং ড্রপ ইভেন্টগুলির জন্য পদ্ধতি রয়েছে

    DragAndDropModifierNode জন্য কারখানার ফাংশনে onDragAndDropEvent onDragAndDropStart নামকরণ করা হয়েছে আরও ভালভাবে যোগাযোগ করার জন্য যে প্রদত্ত DragAndDropTarget কেবলমাত্র প্রদত্ত ড্র্যাগ এবং ড্রপ সেশনের জন্য বৈধ, কেবলমাত্র

    DragAndDropEventType সরানো হয়েছে ( i645b1 )

  • PlatformTextInputModifierNode.runTextInputSession establishTextInputSession নামকরণ করা হয়েছে। ( I03cd0 )

  • Improves traversable node api names to make them more understandable. ( Ia4474 )

  • TextSubstitution দ্বারা OriginalText প্রতিস্থাপন করুন। ( Ifa5a8 )

  • PlatformTextInputModifierNode.textInputSession runTextInputSession নামকরণ করা হয়েছে। ( Ie9c6b )

  • ভবিষ্যতে পুনরায় ব্যবহার করার জন্য ধরে রাখা SubcomposeLayout বাচ্চারা (এবং এটির উপর ভিত্তি করে LazyColumn মতো লেআউটগুলি) নিষ্ক্রিয় বলে বিবেচিত হয়। এই জাতীয় নোডগুলি পরীক্ষা করার জন্য নতুন assertIsDeactivated() টেস্ট এপিআই চালু করা হয়েছিল। The rests of the test apis will filter out deactivated nodes by default. ( I2EF84 , ​​খ/187188981 )

  • Removed FocusDirection.In and FocusDirection.Out use FocusDirection.Enter and FocusDirection.Exit instead ( I2f660 )

  • মেটেরিয়াল SwipeToReveal এপিআই (কার্ড এবং চিপগুলির জন্য) এখন স্লট ভিত্তিক এপিআই (কমপোজ দ্বারা প্রস্তাবিত হিসাবে) উপর নির্ভর করে সেই স্লটগুলি তৈরি করার জন্য ডেটা ক্লাস ভিত্তিক দৃষ্টান্তের পরিবর্তে। এটি একটি ব্রেকিং পরিবর্তন, দয়া করে নতুন এপিআই কীভাবে ব্যবহার করবেন সে সম্পর্কে উদাহরণগুলির জন্য ডেমো এবং নমুনা কোডটি দেখুন। ( Ia8943 )

  • FontStyle(int) constructor is deprecated, use FontStyle.Normal or FontStyle.Italic instead. ( I66610 )

  • Renamed FontScalable interface to FontScaling ( Ie804a )

বাগ ফিক্স

  • SoftwareKeyboardController.show() will no longer show the software keyboard if no text editor is focused. ( I2165a , b/301477279 )
  • Hardware key Up events for keys that haven't received a Down event in the same Compose View will now be ignored. ( Ib37b4 , b/305518328 )
  • ArcLine সুইপ গ্রেডিয়েন্টের জন্য রেন্ডারার সমর্থন যুক্ত করুন। ( I4d5bb )
  • PageSize.Fixed জন্য সমান এবং হ্যাশকোড বাস্তবায়ন করুন। ( Ie3ede , খ/300134276 )
  • উইন্ডো ইনসেট পরিবর্তনের সাথে বাইনারি সামঞ্জস্যতার সমস্যাটি ঠিক করুন ( আইইইই 695 )
  • মাইক্রোব্যাঞ্চমার্কগুলি এটি ছাড়া আরও ভাল পারফরম্যান্স দেখায় বলে মেটেরিয়াল 3 চিপ/বোতামের জন্য উপাদান কোর স্তর সরান। ( I55555 )
  • TestDispatcher s passed as the effectContext to Compose tests will now be used to create the test and frame clocks. ( Ia7178 )

Version 1.6.0-alpha08

18 অক্টোবর, 2023

androidx.compose.ui:ui-*:1.6.0-alpha08 is released. Version 1.6.0-alpha08 contains these commits.

এপিআই পরিবর্তন

  • Modifier.dragAndDrawSource onDrawDragShadow লাম্বদাটির নামকরণ করা হয়েছে drawDragDecoration এবং DragAndDropInfo আকারের প্যারামিটারটি dragDecorationSize নামকরণ করা হয়েছে। ( ID0E30 , খ/303904810 )
  • Introduce SemanticsNodeInteraction.isDisplayed() and SemanticsNodeInteraction.isNotDisplayed() to check if a matched node is visible or not without also asserting on it. ( I2c196 , b/302100809 )
  • Introduced a special Unspecified value for TextAlign , TextDirection , Hyphens and LineBreak fields of the ParagraphTextStyle to replace null . Because these classes are inline classes, by replacing nullable with the Unspecified, we avoid primitive type boxing. Constructors, getters and other methods in TextStyle and Paragraph style were updated to accept the mentioned parameters as non-null types. ( I4197e , b/299490814 )
  • Add GoogleFont overload for reading a GoogleFont from XML. ( If8f59 )
  • Made LoremIpsum PreviewParameterProvider an open class. ( I41bf5 , b/266918816 , b/300116360 )

বাগ ফিক্স

  • FontFamilyResolver now uses Dispatchers.Main for cache management coroutines. ( Ie8dd9 )
  • AndroidViewBinding now synchronously removes Fragment instances inflated by including a FragmentContainerView in your layout as part of its onRelease by using commitNow (instead of the commit it was using previously), thus fixing issues with Live Edit's method with replacing the composition upon changes. ( I58fbf )

Version 1.6.0-alpha07

4 অক্টোবর, 2023

androidx.compose.ui:ui-*:1.6.0-alpha07 is released. Version 1.6.0-alpha07 contains these commits.

এপিআই পরিবর্তন

  • কাস্টম পাঠ্য সম্পাদকদের জন্য পরীক্ষা লেখার জন্য PlatformTextInputMethodTestOverride প্রবর্তিত। ( আইডি 159 বি )
  • Adds dragAndDropSource Modifier for starting drag and drop sessions, and dragAndDropTarget Modifier for receiving from drag and drop sessions. ( Ib7828 , b/286038936 )
  • ColorList এবং ColorSet সংগ্রহগুলি যুক্ত করা হয়েছে যা বরাদ্দ এড়ায়। ( I744 বিডি )
  • অ-লিনিয়ার ফন্ট স্কেলিং অক্ষম করতে অস্থায়ী পতাকাটি DisableNonLinearFontScalingInCompose আপনার যদি সেগুলি পরিষ্কার করার জন্য সময় প্রয়োজন হয় তবে আপনার পরীক্ষাগুলিতে DisableNonLinearFontScalingInCompose = true সেট করুন। এই পতাকাটি রচনা 1.6.0-BETA01 এ সরানো হবে। ( আইসি 9486 )

বাগ ফিক্স

  • Optimized XML vector drawables parsing. ( Ibb015 )

Version 1.6.0-alpha06

20 সেপ্টেম্বর, 2023

androidx.compose.ui:ui-*:1.6.0-alpha06 is released. Version 1.6.0-alpha06 contains these commits.

এপিআই পরিবর্তন

  • Additional optimizations to Material icons. ( I3e08d )
  • Adds ability to traverse up/down modifier tree to find similar nodes. ( I2d234 )
  • Added onRestoreFailed() callback to the focusRestorer() modifier ( Ie1d43 )
  • Added androidx annotations to various graphics APIs to specify ColorInt , FloatRange , IntRange , Size and more. ( Id65c8 , b/290950582 )
  • Add showSystemUi=true to PreviewScreenSizes definition ( Ib61d3 )

আচরণ পরিবর্তন

  • কমপোজ এখন আরও ভাল পঠনযোগ্যতা এবং অ্যাক্সেসযোগ্যতার জন্য অ-রৈখিক ফন্ট স্কেলিং ব্যবহার করে। যখন ফন্ট স্কেল> 100% সিস্টেম সেটিংসে, ছোট পাঠ্য সাধারণত আকারে বৃদ্ধি পাবে তবে ইতিমধ্যে-বৃহত্তর পাঠ্যটি কেবল কিছুটা বাড়বে। এছাড়াও, এসপিতে সংজ্ঞায়িত লাইন উচ্চতাগুলি স্বয়ংক্রিয়ভাবে 100% স্কেল উদ্দেশ্যযুক্ত উচ্চতার সাথে সমানুপাতিক থাকার জন্য সামঞ্জস্য করবে। আরও তথ্যের জন্য ফন্ট স্কেলিং সেরা অনুশীলনগুলি দেখুন। ( আই 11518 )

Version 1.6.0-alpha05

6 সেপ্টেম্বর, 2023

androidx.compose.ui:ui-*:1.6.0-alpha05 is released. Version 1.6.0-alpha05 contains these commits.

এপিআই পরিবর্তন

  • Enable content capture in AndroidComposeViewAccessibilityDelegateCompat . ( Ib2969 )
  • ScrollView এবং RecyclerView মতো ভিউ উপাদানগুলিতে ঝাঁকুনির বেগ ভিউ ViewConfiguration.ScaledMaximumFlingVelocity ক্যাপড করা হয় C রচনাটি এখন maximumFlingVelocity নিজস্ব সংস্করণ রয়েছে যা এখন Draggable জন্য প্রযোজ্য। ( আইবিএফ 974 )
  • Adds initial scaffolding to support platform drag and drop APIs. ( If84ce )
  • Add deviceId into RotaryScrollEvent ( Iba3bf )
  • Updated ui-tooling Devices API to include newer devices ( Ib25b4 )

Version 1.6.0-alpha04

23 আগস্ট, 2023

androidx.compose.ui:ui-*:1.6.0-alpha04 is released. Version 1.6.0-alpha04 contains these commits.

এপিআই পরিবর্তন

  • Added a method to deactivate ReusableComposition , removing observations but keeping nodes in place. The deactivated composition can be activated again by calling setContent . ( Ib7f31 )
  • লাইফসাইকেল পরিচালনা এবং সাবকোপজিশনগুলির পুনরায় ব্যবহারের জন্য ReusableComposition ইন্টারফেস যুক্ত করুন। ( I812d1 , খ/252846775 )
  • Modifier.focusGroup স্থিতিশীল এপিআইগুলিতে পদোন্নতি দেওয়া হয়েছে। ( I7ffa3 )
  • Added androidx annotations to various graphics APIs to specify ColorInt , FloatRange , IntRange , Size and more. ( I70487 , b/290950582 )
  • Updated ColorFilter API to have concrete subclass types for improved inspectability of parameters. ( I5fe29 )
  • Introduce wear-tooling-preview library to list valid wear devices that can be used for UI previews ( Ib036e )
  • Created the FontScalable interface to handle the font scaling part of the Density interface. ( I2cf3f )

Version 1.6.0-alpha03

9 আগস্ট, 2023

androidx.compose.ui:ui-*:1.6.0-alpha03 is released. Version 1.6.0-alpha03 contains these commits.

এপিআই পরিবর্তন

  • New type of enter/exit transition that scales the content based on the size of the animating container during enter & exit animation. LookaheadScope Composable fun and interface are now stable. ( Ifb2ce )
  • privateImeOptions কনফিগার করার জন্য সমর্থন যুক্ত করা হয়েছে ( আইডিবি 772 )

বাগ ফিক্স

  • PopupPositionProvider.calculatePosition will now automatically update the popup's position when state read in the calculation is changed. ( I676a1 , b/292257547 )
  • স্থির পাঠ্য ক্ষেত্রগুলি কীবোর্ড দেখায় এবং যখন readOnly সত্য হয় তখন সম্পাদনাযোগ্য হওয়া। ফোকাস করার সময় readOnly সত্য থেকে মিথ্যা পরিবর্তিত হলে কীবোর্ডটি দেখানো হয়নি তাও স্থির করে। ( I34a19 , খ/246909589 )
  • Expanded application of global assertions in UI testing. ( I1f90d )

Version 1.6.0-alpha02

জুলাই 26, 2023

androidx.compose.ui:ui-*:1.6.0-alpha02 is released. Version 1.6.0-alpha02 contains these commits.

এপিআই পরিবর্তন

  • Added a service locator interface that can be implemented by implementors of Composition that allows an implementation of Composition that delegates to another composition delegate service lookups to the original Composition. This should not be called directy and is used to enable creating experimental APIs in the runtime that can be found from wrapped versions of the composer such as the UI module does. ( I296b9 )
  • সম্পূর্ণরূপে পুনরায় ডিজাইন করা PlatformTextInput* এপিআই। ( I6c93a , বি/274661182 , বি/267235947 , বি/277380808 )
  • SoftwareKeyboardController এবং LocalSoftwareKeyboardController আর পরীক্ষামূলক নয়। LocalSoftwareKeyboardController এখন একটি সঠিক CompositionLocal । ( I4c364 )
  • LookaheadLayout and LookaheadLayoutScope have been deprecated for a few releases and are now removed. The replacement APIs are LookaheadScope that can work with any Layout. ( I12ac3 )
  • টেস্টগুলিতে ফোকাসের জন্য অনুরোধ করার জন্য আরও সুবিধাজনক এবং আবিষ্কারযোগ্য উপায় হিসাবে SemanticsNodeInteraction.requestFocus যুক্ত করা হয়েছে। ( Ie8722 )
  • Add experimental APIs for registering global assertions, for use by testing frameworks in the future. ( I12d77 )

বাগ ফিক্স

  • AndroidView 's update callback's first invocation will now be defered until the view is attached, instead of running when the composition that introduces the AndroidView is applied. This fixes a bug where the update callback wouldn't be invalidated if a state it read was changed immediately by an effect. ( Ie9438 , b/291094055 )

Version 1.6.0-alpha01

জুন 21, 2023

androidx.compose.ui:ui-*:1.6.0-alpha01 is released. Version 1.6.0-alpha01 contains these commits.

নতুন বৈশিষ্ট্য

  • Support lookahead in LazyList . This allows LazyList in the lookahead pass to bypass any animation (eg item placement animation, AnimatedVisibility , etc) and to calculate the lookahead size and position for all children. After the lookahead pass, children of LazyList could animate independently to the reality as seen in the lookahead pass.

Behavior Change: includeFontPadding is now false by default in Compose

includeFontPadding is now false by default ( 21d806 ) in Compose.

includeFontPadding is a legacy attribute that controls whether or not to include extra padding on top of the first line and last line of the text to accommodate any characters that may extend above or below the text baselines.

Updating this Compose version will modify how all texts render in your UI by removing the extra padding on top of the first line and last line of every text you display.

Depending on your UI requirements and the font metrics you're using, the changes should be minimal. However you might encounter blockers such as: - Broken screenshot tests. Fix the UI if required, and regenerate the golden images. - Text is slightly misaligned. Remove any custom negative paddings or add padding if required.

You can opt-in to includeFontPadding by using PlatformTextStyle for each text:

Text(
 text = myText,
 style = TextStyle(
   lineHeight = 2.5.em,
   platformStyle = PlatformTextStyle(
     includeFontPadding = true/false
   )
   /* … */
  )
)

You can opt-in to includeFontPadding for all your texts by configuring your Material styles. Note that parameter names will vary between M2 and M3.

val Typography = Typography(
   body1 = TextStyle(
       fontFamily =    /* … */,
       fontSize =    /* … */,
       platformStyle = PlatformTextStyle(
           includeFontPadding = false
       )
   /* … */
   )
)

MaterialTheme(
   typography = Typography,
   /* … */
)

You can find more about Compose includeFontPadding in developer documentation and this blog post .

If you experience issues/bugs connected with this change, file a bug using the issue tracker .

এপিআই পরিবর্তন

  • সমর্থন InputConnection#requestCursorUpdates ( আই 0 সি 69 বি )
  • Added FocusRequester.saveFocusedChild and FocusRequester.restoreFocusedChild ( Ic557e , b/272302679 , b/275157318 )
  • লোড করতে ব্যর্থ হওয়া সম্পদ পাথের বিবরণ সহ বিটম্যাপ সম্পদগুলি লোড করার চেষ্টা করার সময় নিক্ষিপ্ত থ্রোয়েবলগুলি মোড়ানো মোড়কে ResourceResolutionException টাইপ যুক্ত করুন। ( I19f44 , খ/230166331 , বি/278424788 )
  • Optimized accessibility for performance and memory allocations. ( Iede48 )
  • পাঠ্য অনুবাদ সমর্থন করার জন্য শব্দার্থবিজ্ঞানের বৈশিষ্ট্য এবং ক্রিয়া যুক্ত করা হয়েছে। ( I4a6bc )
  • New property in IntrinsincMeasureScope and its implementations (eg MeasureScope ) to indicate whether the current measure pass is a lookahead pass. ( I7a812 )
  • Updated DrawScope api to introduce the ability to retarget rendering into a different canvas with alternative density/layoutdirection and size.
  • Updated DrawContext to support configuration of density and layout direction as well as making the canvas configurable. ( Ie1f9b , b/225408150 )
  • Added Paragraph#fillBoundingBoxes to calculate character bounding boxes. ( If30ee )
  • Added a set of common MultiPreviews ( Ia5a27 )

বাগ ফিক্স

  • যুক্ত FocusTargetModifierNode ইন্টারফেস যা কাস্টম FocusTarget তৈরি করতে ব্যবহার করা যেতে পারে। ( I9790e )
  • Renamed the fallback* parameters on the TextMeasurer constructor to default* . ( I940a5 )
  • Renamed SemanticsPropertyReceiver.performImeAction to onImeAction and SemanticsActions.PerformImeAction to OnImeAction . ( I8e841 )
  • Adds Wheel to differentiate a mouse scroll from a drag in nested scrolling (specifically, in NestedScrollConnection ). ( Ie57e4 )
  • Added asComposePaint API to replace toComposePaint as the returned object wraps the original android.graphics.Paint ( I22b4c )
  • Deprecate SemanticsProperties.imeAction and replace with a new parameter to SemanticsActions.performImeAction . ( I4a587 )
  • মাউস দ্বারা নির্বাচনের জন্য সমর্থন যুক্ত করা হয়েছে। স্পর্শ ভিত্তিক নির্বাচন শব্দ দ্বারা প্রসারিত হবে এবং চরিত্র দ্বারা সঙ্কুচিত হবে। ( আইসি 0 সি 6 সি , বি/180639271 )
  • Paragraph methods that used to throw AssertionError for out of bounds offsets now throw IllegalArgumentException as MultiParagraph does. ( I549d3 , b/243338896 )

সংস্করণ 1.5

সংস্করণ 1.5.4

18 অক্টোবর, 2023

androidx.compose.ui:ui-*:1.5.4 is released. Version 1.5.4 contains these commits.

সংস্করণ 1.5.3

4 অক্টোবর, 2023

androidx.compose.ui:ui-*:1.5.3 is released. সংস্করণ 1.5.3 এই কমিট ধারণ করে.

বাগ ফিক্স

  • ( b/301209788 ) TextField would sometimes incorrectly apply previous commands when focusing and inputting Korean input, leading to lost characters.

সংস্করণ 1.5.2

27 সেপ্টেম্বর, 2023

androidx.compose.ui:ui-*:1.5.2 is released. Version 1.5.2 contains these commits.

Bug Fixes

  • Added workaround for crashes when accessibility scroll API was accessed from background thread.
  • Fix unattached nodes being added to the semantics tree.

সংস্করণ 1.5.1

6 সেপ্টেম্বর, 2023

androidx.compose.ui:ui-*:1.5.1 is released. Version 1.5.1 contains these commits.

বাগ ফিক্স

  • স্থির পাঠ্য ক্ষেত্রগুলি কীবোর্ড দেখায় এবং যখন readOnly সত্য হয় তখন সম্পাদনাযোগ্য হওয়া। ফোকাস করার সময় readOnly সত্য থেকে মিথ্যা পরিবর্তিত হলে কীবোর্ডটি দেখানো হয়নি তাও স্থির করে। ( I34a19 , খ/246909589 )

সংস্করণ 1.5.0

9 আগস্ট, 2023

androidx.compose.ui:ui-*:1.5.0 is released. Version 1.5.0 contains these commits.

সংস্করণ 1.5.0-আরসি 01

জুলাই 26, 2023

androidx.compose.ui:ui-*:1.5.0-rc01 is released. Version 1.5.0-rc01 contains these commits.

বাগ ফিক্স

  • Fixed crash happening when SubcomposeLayout is used inside movableContentOf() .

Version 1.5.0-beta03

জুন 28, 2023

androidx.compose.ui:ui-*:1.5.0-beta03 is released. Version 1.5.0-beta03 contains these commits.

Bug Fixes

  • Added FocusTargetModifierNode interface that can be used to create a custom FocusTarget. ( Ifb1d6 )
  • Fixed an issue with Dialog and Popup composables that could result in the child window not resizing as expected when usePlatformDefaultWidth=true . ( I112ee )

Version 1.5.0-beta02

7 জুন, 2023

androidx.compose.ui:ui-*:1.5.0-beta02 is released. Version 1.5.0-beta02 contains these commits.

এপিআই পরিবর্তন

  • Added asComposePaint API to enable consumption of an android.graphics.Paint instance to be used in Compose

Bug Fixes

  • Added asComposePaint API to replace toComposePaint as the returned object wraps the original android.graphics.Paint ( I22b4c )

Version 1.5.0-beta01

24 মে, 2023

androidx.compose.ui:ui-*:1.5.0-beta01 is released. Version 1.5.0-beta01 contains these commits.

এপিআই পরিবর্তন

  • Removed allocations in recomposition, color animations, and AndroidComposeView ( Ib2bfa )
  • Adds helper fun CacheDrawModifierNode() to allow delegation ( Icf8f9 )
  • Introducing isLookingAhead property, accessible from MeasureScope , to observe lookahead results and influence main pass if desired. ( Ibf4c3 )
  • New semantics property traversalIndex , a float used to reorder nodes in TalkBack traversal (lower values come before). ( I9a81b , b/186443263 )
  • Renaming the Semantics property isContainer to isTraversalGroup ( I121f6 )
  • ColorProducer now has an operator fun invoke instead of produce ( I4a9a2 )
  • Add Path transform API to apply translation/scale/rotation transformations to path objects. ( I23434 , b/233772232 )
  • ColorProducer 's method is called produce . ( I78bde )
  • Rename toFrameworkColorSpace to toAndroidColorSpace ( I4f547 )
  • Rename ColorLambda to ColorProducer . ( I73b1a )
  • Introduce APIs to convert between Android and Compose colorspace types. ( Ie7db4 , b/279979665 )
  • Added a color parameter to BasicText to allow efficiently animating or setting text color. ( Iffd88 , b/246961787 )
  • Renamed TextRange.constrain to TextRange.coerceIn . ( I31be2 )
  • সম্পূর্ণ প্যারামিটার তালিকার সাথে অপ্টিমাইজড TextStyle.merge(...) যুক্ত করা হয়েছে। ( আইএডি 234 , বি/246961787 )
  • Stabilized many Text APIs that include Brush , DrawStyle , TextMotion , DrawScope.drawText , Paragraph.paint(Brush) , MultiParagraph.paint(Brush) . ( I2f740 , b/261581564 , b/261581931 , b/261561245 )
  • PlatformTextStyle.includeFontPadding is undeprecated. Our original intent was to remove the field, however the feedback shows that developers need this configuration option. Therefore removing deprecation from the field ( I98e96 , b/277703184 )
  • Added public TextRange.constrain method. ( I97912 )
  • TalkBack মতো অ্যাক্সেসিবিলিটি পরিষেবাদির মাধ্যমে এখন AnnotatedString এস -তে UrlAnnotation s খোলা যেতে পারে। ( আইএফ 4 ডি 82 , বি/253292081 )
  • পাঠ্য ক্ষেত্রগুলির জন্য InsertTextAtCursor শব্দার্থবিজ্ঞানের ক্রিয়া যুক্ত করা হয়েছে। ( আই 11 এড 5 )
  • LineHeightStyle.Alignment(topRatio) constructor is promoted to stable API. ( I79c32 , b/261565383 )
  • TextMeasurer and related APIs are no longer experimental. ( I74647 , b/261581753 )
  • পাঠ্য সম্পাদক নোডগুলিতে আইএমই অ্যাকশনটি অনুরোধ করার জন্য PerformImeAction শব্দার্থবিজ্ঞানের ক্রিয়া যুক্ত করেছে। ( আইসি 606 এফ , বি/269633506 )
  • PlatformTextInput APIs are no longer experimental for Android. ( I668eb )
  • value parameter name for Enum.valueOf changed ( Ia9b89 )
  • more thrown exceptions from enum valueOf ( I818fe )
  • প্ল্যাটফর্ম এপিআই-তে সরাসরি কথা বলে কাস্টম পাঠ্য ইনপুট বাস্তবায়নগুলি তৈরির জন্য নতুন নিম্ন-স্তরের PlatformTextInputAdapter এপিআই প্রবর্তন করেছে। ( I58df4 )
  • ক্যানভাসে পাঠ্য অঙ্কন করার সময় বিভিন্ন মিশ্রণ অ্যালগরিদমগুলিকে সমর্থন করার জন্য DrawScope.drawText , Paragraph.paint এবং MultiParagraph.paint পদ্ধতিগুলিতে BlendMode প্যারামিটার যুক্ত করা হয়েছে। ( I57508 )
  • Rename Font.MaximumAsyncTimeout to Font.MaximumAsyncTimeoutMillis . Rename only. ( I07af5 )
  • Updated DPI values of @Preview reference devices ( Id6151 , b/254528382 )
  • Add brush , alpha parameters to BasicText to allow efficiently animating or setting text brush.
  • Define box-free lambda types for Float, Double, Long, Int, Short in :ui:ui-unit ( I6f18d , b/246961787 )

Bug Fixes

  • পয়েন্টার বেগ ট্র্যাকিংয়ে একাধিক বরাদ্দ মুছে ফেলা ( i26bae )
  • Reduced allocations in layout and pointer input management ( I5333a )
  • Optimize Vector memory usage and first-frames rendering ( I2f3c6 )
  • Removed allocations when drawing lines and points with Canvas ( I9f535 )
  • Add docs for AndroidFont.fontVariationSettings ( I7d9e2 )

External Contribution

  • Improved performance and reduce allocations in Vector APIs ( I906cb )

Version 1.5.0-alpha04

10 মে, 2023

androidx.compose.ui:ui-*:1.5.0-alpha04 is released. Version 1.5.0-alpha04 contains these commits.

নতুন বৈশিষ্ট্য

  • Modifier.Node Delegation Improvements Added an enhanced ability to delegate to other Modifier.Node instances from a DelegatingNode . This can be done with the delegate and undelegate APIs. Prior to this change, every API from the delegating node needed to be delegated explicitly to the delegated node. After this change, node interfaces will get delegated implicitly unless the DelegatingNode is explicitly overriding them. ( 67352bc )

এপিআই পরিবর্তন

  • Introduce NestedScrollModifierNode , a NestedScroll Modifier.Node that can be delegated to. ( I69513 )
  • Added onReset and onRelease parameters to the AndroidViewBinding composable, mirroring the AndroidView composable and enabling support for View reuse with ViewBinding . ( I00b1e , b/276802519 )
  • Updated Compose Path API to support rewind operations to support usecases of frequent Path manipulation with faster re-use. ( I7b797 )
  • সম্পূর্ণ প্যারামিটার তালিকার সাথে অপ্টিমাইজড TextStyle.merge(...) যুক্ত করা হয়েছে। ( আইএডি 234 , বি/246961787 )
  • Stabilized many Text APIs that include Brush , DrawStyle , TextMotion , DrawScope.drawText , Paragraph.paint(Brush) , MultiParagraph.paint(Brush) . ( I2f740 , b/261581564 , b/261581931 , b/261561245 )
  • PlatformTextStyle.includeFontPadding is undeprecated. Our original intent was to remove the field, however the feedback shows that developers need this configuration option. Therefore removing deprecation from the field ( I98e96 , b/277703184 )

Bug Fixes

  • স্থির রিগ্রেশন যেখানে কীবোর্ড ডায়ালগগুলির মধ্যে Dialog তৈরি করা হয় না এমন ডায়ালগগুলির ভিতরে পাঠ্য ক্ষেত্রগুলির জন্য প্রদর্শন করছিল না। ( I82551 , খ/262140644 )

Version 1.5.0-alpha03

এপ্রিল 19, 2023

androidx.compose.ui:ui-*:1.5.0-alpha03 is released. Version 1.5.0-alpha03 contains these commits.

নতুন বৈশিষ্ট্য

  • New default behavior for SubcomposeLayout in LookaheadScope : SubcomposeLayouts that don't have conditional slots (eg TabRow , Scaffold , BoxWithConstraints , etc) now work nicely with lookahead animations.

এপিআই পরিবর্তন

  • New default intermediateMeasurePolicy that reuses measure policy from lookahead pass allows SubcomposeLayout subtypes without conditional slots such as Scaffold , TabRow , and BoxWithConstraints to work with lookahead by default. ( Id84c8 )
  • The recomposer created for an Android window will now only block calls to withFrameNanos instead of all composition when it receives an ON_STOP notification. This means windows associated with stopped activites will continue to recompose for data changes but the animations, or any other caller of withFrameNanos , will block. ( Id9e7f , b/240975572 )
  • Changes motionEventSpy to stable. ( Ic5ec4 , b/261560988 )
  • Added public TextRange.constrain method. ( I97912 )
  • PlatformTextStyle.includeFontPadding is no longer deprecated to encourage developers to use this compatibility API to switch and test setting includeFontPadding false. ( I98e96 , b/277703184 )

Version 1.5.0-alpha02

5 এপ্রিল, 2023

androidx.compose.ui:ui-*:1.5.0-alpha02 is released. Version 1.5.0-alpha02 contains these commits.

এপিআই পরিবর্তন

  • New SubcomposeLayout API that takes an additional intermediate measure policy for handling measure/layout logic during lookahead-based animations. ( I017d3 )
  • PointerInput is now lazy and uses Modifier.Node for better performance ( read about the minor behavior change ). ( 15dab9 )
  • Changes experimental APIs to stable with Key events. ( I9c7d8 , b/261566839 , b/261567368 )
  • Changes experimental APIs to stable in PointerInputChange . ( I1b543 , b/261560988 , b/261565762 , b/261565749 )
  • Adds a way to instantiate a SuspendingPointerInputModifierNode for more complex Modifier.Node implementations. ( Ic4933 )
  • TalkBack মতো অ্যাক্সেসিবিলিটি পরিষেবাদির মাধ্যমে এখন AnnotatedString এস -তে UrlAnnotation s খোলা যেতে পারে। ( আইএফ 4 ডি 82 , বি/253292081 )
  • Added an API to intercept hardware keys before they are sent to the soft keyboard ( I4f4c6 , b/186800395 )
  • পাঠ্য ক্ষেত্রগুলির জন্য InsertTextAtCursor শব্দার্থবিজ্ঞানের ক্রিয়া যুক্ত করা হয়েছে। ( আই 11 এড 5 )
  • পাঠ্য সম্পর্কিত পরীক্ষার ক্রিয়াগুলি (যেমন performTextInput ) এখন ক্ষেত্রটিতে ক্লিক করার পরিবর্তে শব্দার্থবিজ্ঞানের ক্রিয়াটি ব্যবহার করে সরাসরি ফোকাসের জন্য অনুরোধ করবে। ( I6ed05 )

Bug Fixes

  • Text test actions now require text fields to be enabled. ( Iab328 )

Version 1.5.0-alpha01

22 মার্চ, 2023

androidx.compose.ui:ui-*:1.5.0-alpha01 is released. Version 1.5.0-alpha01 contains these commits.

এপিআই পরিবর্তন

  • Modifier.intermediateLayout now doesn't require an explicit LookaheadScope. The measure block in intermediateLayout has IntermediateMeasureScope as receiver, which provides convenient CoroutineScope, LookaheadScope and MeasureScope.( Ibe2e5 )
  • LookaheadLayout has been replaced by LookaheadScope, which is no longer a Layout. This allows chid content in a LookaheadScope to be directly controlled by parent's MeasurePolicy. ( Ibe2e5 )
  • Adds Modifier.Node#coroutineScope to allow Modifier.Nodes to launch coroutines. ( I76ef9 )
  • Allow Modifier.Nodes to read CompositionLocals by implementing the CompositionLocalConsumerModifierNode interface. ( Ib44df )
  • Propagation of @Deprecated class to property. ( I882d1 )

সংস্করণ 1.4

সংস্করণ 1.4.3

3 মে, 2023

androidx.compose.ui:ui-*:1.4.3 is released. সংস্করণ 1.4.3 এই কমিট ধারণ করে.

Bug Fixes

  • Fixed an issue where AndroidView may not be laid out correctly when used with certain Modifiers. ( I4dc77 , b/274797771 )
  • Fixed a bug in 2D Focus Search that affected DropDown Menus ( b/276811828 )
  • Fixed a bug in custom focus enter/exit properties that only ran the enter/exit block the first time the lambda was invoked ( b/277234245 )
  • Fixed a regression in the focus system that caused a crash while reading focusProperties . ( b/271324781 , b/274897776 )

সংস্করণ 1.4.2

এপ্রিল 19, 2023

androidx.compose.ui:ui-*:1.4.2 is released. Version 1.4.2 contains these commits.

Bug Fixes

  • Fixed an issue where AndroidView would not reuse its modifiers correctly, potentially resulting in unexpected behavior and crashes. ( Ib67ee , b/275919849 )
  • Fixed regression where keyboard wasn't showing for text fields inside dialogs not created by the Dialog composable ( I82551 , b/262140644 )

সংস্করণ 1.4.1

5 এপ্রিল, 2023

androidx.compose.ui:ui-*:1.4.1 is released. Version 1.4.1 contains these commits.

Bug Fixes

  • Fixes an issue with ParentDataModifier not affecting AndroidView ( b/274797771 )

সংস্করণ 1.4.0

22 মার্চ, 2023

androidx.compose.ui:ui-*:1.4.0 is released. Version 1.4.0 contains these commits.

Important changes since 1.3.0

  • Added a new PinnableContainer API that allows lazy list items to be pinned, so that they are not disposed when they are scrolled out of bounds. For example, Modifier.focusable() uses this mechanism to pin the currently focused item. ( আইবি 8881 , বি/259274257 , বি/195049010 )
  • The focus system is rewritten using the new experimental Modifier.Node APIs. ( I7f4d7 , b/247708726 , b/255352203 , b/253043481 , b/247716483 , b/254529934 , b/251840112 , b/251859987 , b/257141589 )
  • Added in IsContainer semantics property on Surfaces. This property will be used in a later change that determines traversal order based on the semantic meaning of elements such as surfaces. ( I63379 )
  • Added a new accessibility role DropdownList . This can be used to replicate TalkBack 's behavior when focusing android.widget.Spinner . ( I177e5 , b/236159001 )
  • You can now use PlatformTextStyle(emojiSupportMatch) to optionally disable emoji support processing for a single Paragraph. ( Ia7100 , b/139326806 )
  • Android Compose UI tests will now run layout passes for each frame when executing frames to get to idle (eg via waitForIdle ). This may affect tests that assert on individual frames of layout animations. ( I8ea08 , b/222093277 )
  • Static(default) বা অ্যানিমেটেড হিসাবে পাঠ্যকে সংজ্ঞায়িত করতে TextStyle পরীক্ষামূলক TextMotion যুক্ত করা হয়েছে। TextMotion.Animated ব্যবহার করুন an অ্যানিমেশনের মাধ্যমে পাঠ্য স্কেল, অনুবাদ বা ঘোরানো হলে অ্যানিমেটেড। ( I24dd7 )

Version 1.4.0-rc01

8 মার্চ, 2023

androidx.compose.ui:ui-*:1.4.0-rc01 is released. Version 1.4.0-rc01 contains these commits.

এপিআই পরিবর্তন

  • Added an overload of AndroidView composable function, which accepts the onReset param. It allows View instances to be reused when their node in the composition is discarded and reused in a compatible way. This is especially useful for LazyRows and LazyColumns of Views. ( I3f10d , b/230099236 )
  • প্ল্যাটফর্ম এপিআই-তে সরাসরি কথা বলে কাস্টম পাঠ্য ইনপুট বাস্তবায়নগুলি তৈরির জন্য নতুন নিম্ন-স্তরের PlatformTextInputAdapter এপিআই প্রবর্তন করেছে। ( I58df4 )

Bug Fixes

  • BasicTextField SetText শব্দার্থবিজ্ঞান অ্যাকশন এখন আইএমই আপডেট এবং পরীক্ষার ফাংশন (যেমন performTextReplacement ) হিসাবে একই কোড পাথ ব্যবহার করে পাঠ্য বাফারটি আপডেট করবে।
  • পাঠ্য পরীক্ষার ফাংশনগুলি performTextClearance , performTextReplacement এবং performTextSelection এখন SemanticsActions ব্যবহার করে। ( I0807d , খ/269633168 , বি/269624358 )

Version 1.4.0-beta02

22 ফেব্রুয়ারি, 2023

androidx.compose.ui:ui-*:1.4.0-beta02 is released. Version 1.4.0-beta02 contains these commits.

এপিআই পরিবর্তন

  • modifierElementOf() এপিআই মুছে ফেলা। পরিবর্তে সরাসরি ModifierNodeElement থেকে প্রসারিত করুন। ( I2256b )
  • একটি নতুন Modifier.Node.onReset() কলব্যাক যুক্ত করা হয়েছে যাতে আপনাকে কিছু স্থানীয় রাষ্ট্রকে পুনরায় সেট করতে দেয় যখন Layout পুনরায় ব্যবহার করা হবে (উদাহরণস্বরূপ LazyColumn এর আইটেম হিসাবে) কেসটি সঠিকভাবে পরিচালনা করতে দেয়। ফোকাসযুক্ত রাষ্ট্রটি সঠিকভাবে পুনরায় সেট করতে ফিক্স FocusTargetModifierNode । ( I65495 , বি/265201972 )
  • ক্যানভাসে পাঠ্য অঙ্কন করার সময় বিভিন্ন মিশ্রণ অ্যালগরিদমগুলিকে সমর্থন করার জন্য DrawScope.drawText , Paragraph.paint এবং MultiParagraph.paint পদ্ধতিগুলিতে BlendMode প্যারামিটার যুক্ত করা হয়েছে। ( I57508 )

বাগ ফিক্স

  • Accessibility focus order algorithm improved, for example top/bottom bars are more often read first/last respectively ( 74e9c5 )

Version 1.4.0-beta01

ফেব্রুয়ারী 8, 2023

androidx.compose.ui:ui-*:1.4.0-beta01 is released. Version 1.4.0-beta01 contains these commits.

এপিআই পরিবর্তন

  • PinnableContainer.PinnedHandle.unpin() নামকরণ করা হয়েছিল release() ( i4667a ) প্রকাশের জন্য।
  • Added waitUntilNodeCount , waitUntilAtLeastOneExists , waitUntilExactlyOneExists and waitUntilDoesNotExist as experimental API to ComposeTestRule , extending the waitUntil API to accept any matcher and any count of nodes. See ComposeTestRule for further documentation. ( Ifa1b9 , b/226934294 )
  • Rename Font.MaximumAsyncTimeout to Font.MaximumAsyncTimeoutMillis . ( I07af5 )
  • Removed GoogleFont.Provider.AllFontsListUri and linked to it in ktdoc instead. ( I16f29 )

Bug Fixes

  • Add docs for AndroidFont.fontVariationSettings ( I7d9e2 )

Version 1.4.0-alpha05

25 জানুয়ারী, 2023

androidx.compose.ui:ui-*:1.4.0-alpha05 is released. Version 1.4.0-alpha05 contains these commits.

এপিআই পরিবর্তন

  • runComposeUiTest ফাংশনের জন্য নতুন পরীক্ষামূলক ওভারলোডগুলি প্রবর্তন করে এবং create*ComposeRule যা CoroutineContext প্যারামিটারগুলি গ্রহণ করে। প্রসঙ্গটি পরীক্ষার রচনা এবং যে কোনও LaunchedEffect এবং rememberCoroutineScope() সংমিশ্রণে কলগুলির জন্য ব্যবহৃত হবে। ( আই 10614 , বি/265177763 )
  • Add a new API to track 1 dimensional velocity ( If5a82 )
  • FocusRequester is now marked as @Stable . ( I580ee )
  • Remove an experimental annotation from the DialogProperties constructor that takes a usePlatformDefaultWidth parameter. ( Ic4048 )
  • Added function to calculation position and tangent at a distance on a path - with PathMeasure.getPosition() and PathMeasure.getTangent() ( I3b47c )
  • Removed accidentally exposed public setter on PlatformParagraphStyle . ( I07f47 )
  • ইনলাইন/অবমূল্যায়িত-লুকানো ফাংশনগুলির আরও প্রকার/বাতিলযোগ্যতা ( i24f91 )
  • Add AnnotatedString.hasStringAnnotations to query for annotations with zero-allocations. ( I94dfe , b/246960758 )
  • Added a new overload for TextMeasurer.measure function which takes in a String as text. ( I47b2d , b/242705342 )
  • টেক্সটাইলে LineBreak এবং Hyphens এপিআইগুলি স্থিতিতে স্নাতক হয়। ( আইসি 1 ই 1 ডি )

External Contribution

  • TextInputSession এবং TextInputService notifyFocusedRect পদ্ধতিগুলি আবার অবমূল্যায়ন করা হয় না। ( I23a04 , খ/262648050 )

Version 1.4.0-alpha04

11 জানুয়ারী, 2023

androidx.compose.ui:ui-*:1.4.0-alpha04 is released. Version 1.4.0-alpha04 contains these commits.

নতুন বৈশিষ্ট্য

  • Added a new PinnableContainer API that allows lazy list items to be pinned, so that they are not disposed when they are scrolled out of bounds. For example, Modifier.focusable() uses this mechanism to pin the currently focused item. ( আইবি 8881 , বি/259274257 , বি/195049010 )
  • The focus system is rewritten using the new experimental Modifier.Node APIs. ( I7f4d7 , b/247708726 , b/255352203 , b/253043481 , b/247716483 , b/254529934 , b/251840112 , b/251859987 , b/257141589 )
  • Added in IsContainer semantics property on Surfaces. This property will be used in a later change that determines traversal order based on the semantic meaning of elements such as surfaces. ( I63379 )
  • Added new accessibility role DropdownList . This can be used to replicate TalkBack's behavior when focusing android.widget.Spinner . ( I177e5 , b/236159001 )
  • You can now use PlatformTextStyle(emojiSupportMatch) to optionally disable emoji support processing for a single Paragraph. ( Ia7100 , b/139326806 )
  • Android Compose UI tests will now run layout passes for each frame when executing frames to get to idle (eg via waitForIdle ). This may affect tests that assert on individual frames of layout animations. ( I8ea08 , b/222093277 )
  • Static(default) বা অ্যানিমেটেড হিসাবে পাঠ্যকে সংজ্ঞায়িত করতে TextStyle পরীক্ষামূলক TextMotion যুক্ত করা হয়েছে। TextMotion.Animated ব্যবহার করুন an অ্যানিমেশনের মাধ্যমে পাঠ্য স্কেল, অনুবাদ বা ঘোরানো হলে অ্যানিমেটেড। ( I24dd7 )

এপিআই পরিবর্তন

  • প্রতিস্থাপন maxSize: IntSize আকারের সাথে drawText ইন্টিজ আর্গুমেন্ট size: Size অন্যান্য DrawScope ফাংশনগুলির সাথে ইনলাইন হতে হবে। size সেট করা হয় Size.Unspecified ( আইসিডি 27 ডি )
  • Removed deprecated experimental font constructor. ( I8a724 , b/261435386 )
  • UI টুলিং ডেটা ক্লাস Group এখন একটি ক্ষেত্র রয়েছে, isInline , যা নির্দেশ করে যে গ্রুপটি একটি ইনলাইন কম্পোজেবল ফাংশনে কল করার জন্য। যদি isInline true হয় তবে কলটি একটি ইনলাইন কম্পোজেবল ফাংশনে হয়। যাইহোক, কম্পোজ কম্পাইলার প্লাগইনের একটি সংস্করণের সাথে সংকলিত মডিউল থেকে ইনলাইন কম্পোজেবল ফাংশনগুলিতে কল করার জন্য মানটি মিথ্যা হতে পারে যা ইনলাইন ফাংশন তথ্য তৈরি করে না। ( Idb846 )
  • Graduated a number of previously experimental APIs to stable
  • Rotary Scroll Event API is now stable ( I42ad3 , b/261561229 )
  • FontVariation API is now stable ( I8779f , b/241016309 )
  • All Font() constructors are now stable API ( I5948b , b/261435386 )
  • DeviceFontFamilyName is now stable ( I8b640 , b/261435386 )
  • variationSettings সহ AndroidFont কনস্ট্রাক্টর এখন একটি স্থিতিশীল এপিআই, এবং নতুন ধরণের ফন্ট বর্ণনাকারী তৈরি করতে ব্যবহার করা যেতে পারে। ( I5adcc , খ/261565807 )
  • createFontFamilyResolver API is now stable. This can be used to catch uncaught exceptions during async font loading. ( Ibb481 , b/261435386 )
  • Font.loadingStrategy API is now stable. ( I5937c , b/261435386 )
  • GoogleFont API is now stable. ( Ic90b0 , b/261435386 )
  • TextUnit(float, TextUnitType) is now stable API. ( I90c84 , b/261561612 )
  • pluralStringResource is now stable API. ( I09849 , b/261439703 )

Version 1.4.0-alpha03

7 ডিসেম্বর, 2022

androidx.compose.ui:ui-*:1.4.0-alpha03 is released. Version 1.4.0-alpha03 contains these commits.

এপিআই পরিবর্তন

  • Removing ExperimentalComposeUiApi from PointerIcon ( I23af8 )
  • পৃষ্ঠা অ্যাক্সেসযোগ্যতার ক্রিয়াগুলি প্রবর্তন করুন: PageUp , PageDown , PageLeft , PageRight । নোট করুন যে এগুলি কেবল এপিআই 29 থেকে পাওয়া যায়। ( আইডিএ 4 অ্যাব )
  • Updated rememberNestedScrollConnection parameter view from root view to host view. ( Ia5200 )
  • Added an Modifier API to query ancestors scroll info. ( I2ba9d , b/203141462 )
  • Used in Clickable to correctly delay press interactions, when gestures could become scroll events.
  • Fixed Clickables not correctly delaying ripples, when used inside an Scrollable ViewGroup .
  • Updated Drawers and Sheets to correctly delay presses in case gestures can become scroll events.
  • Renamed CompositingStrategy.Always to Offscreen to indicate that the graphicsLayer will always be rendered into an intermediate buffer ( I47dc1 )
  • Layout overload with multiple content slots is now stable ( I10566 , b/248294649 )
  • Added experimental new APIs PerfettoTrace.record {} and PerfettoTraceRule to capture Perfetto traces (also known as System Traces) as part of a test, to inspect test behavior and performance. ( I3ba16 )
  • একটি কমপোজ বিধি ব্যবহার করে ইউআই পরীক্ষায়, সমস্ত ফ্রেম কলব্যাকগুলি চলমান শেষ না হওয়া পর্যন্ত withFrameNanos কলব্যাকস চলাকালীন পুনরায় শুরু করা ধারাবাহিকতা প্রেরণ করা হবে না। এটি সাধারণত চলাকালীন রচনার আচরণের সাথে মেলে। যাইহোক, পুরানো আচরণের উপর নির্ভর করে এমন পরীক্ষাগুলি ব্যর্থ হতে পারে। এটি কেবলমাত্র কোডকে প্রভাবিত করবে যা সরাসরি withFrameNanos বা withFrameMillis কল ​​করে এবং কলব্যাকের বাইরে যুক্তিযুক্ত সেই ফাংশনগুলিতে পাস করা উচিত যা কলব্যাকগুলির ভিতরে সরানোর প্রয়োজন হতে পারে। See the animation test changes in this CL for examples.
  • On চ্ছিক onPerformTraversals: (Long) -> Unit withFrameNanos কলব্যাকগুলির পরে কোড চালানোর জন্য TestMonotonicFrameClock কনস্ট্রাক্টর এবং ফ্যাক্টরি ফাংশনে ইউনিট প্যারামিটার তবে কলারদের করুটাইনগুলি পুনরায় শুরু করার আগে কোড চালানোর জন্য। ( আইডিবি 413 , বি/254115946 , বি/222093277 , বি/255802670 )
  • রচনা করতে ইমোজিকম্প্যাট যুক্ত করা হয়েছে ( আইবিএফ 6 এফ 9 , বি/139326806 )
  • Added new wallpaper parameter to @Preview for dynamic colour support ( I9f512 )

Bug Fixes

  • Snapshot apply notifications are now sent after the Recomposer finishes applying changes. ( Iad6c0 , b/222093277 )
  • Introduced changes in captureToImage to allow for capturing multi window screenshots. This is useful for screenshot tests that use compose PopUps. ( I169c5 )

নির্ভরতা আপডেট

  • Compose UI and Compose Material now depend on Lifecycle 2.5.1. ( I05ab0 , b/258038814 )

Version 1.4.0-alpha02

9 নভেম্বর, 2022

androidx.compose.ui:ui-*:1.4.0-alpha02 is released. Version 1.4.0-alpha02 contains these commits.

এপিআই পরিবর্তন

  • Updated GraphicsLayerScope to expose the current size of the graphicsLayer . This is useful for computing graphicsLayer transformations as a function of the Composable size. ( If8c43 , b/181387080 )
  • Introduced CompositingStrategy to determine when to leverage an offscreen compositing layer for rendering of graphicsLayer content. Auto maintains the default behavior which internally leverages a layer if alpha is applied or a RenderEffect/Overscroll . Always will always introduce an offscreen buffer where ModulateAlpha will avoid leveraging an offscreen buffer and instead will modulate each of the recorded drawing instructions within the graphicsLayer . ModulateAlpha usage will still leverage an offscreen buffer for RenderEffect/Overscroll usages ( I25e82 , b/256382834 )
  • invalidateSubtree() was added to Modifier.Node to allow invalidating entire hierarchies for layout and drawing. ( I4bd90 )
  • Promote rememberNestedScrollInteropConnection to stable. Introduced the ability to pass a root view to rememberNestedScrollInteropConnection . This can help the custom view better react to scrolling constraints, specially in non-standard views (eg ModalBottomSheetDialog ). ( I9e107 )
  • Added ObserverNode interface that can be used by Modifier.Node implementations that need to be notified when a value that they had previously read has changed ( I5728b , b/247716483 )
  • Added a new constructor to Paint that accepts a native android.graphics.Paint . Also added an extension function toComposePaint() that converts an existing native Paint object to Compose Paint. ( Ica91b )
  • Add new FontFamily.Resolver.resolveAsTypeface for use on Android. ( I8950b )
  • Add ToolingState to allow tooling to change internal states of Composable ( Ie6614 )
  • Refactor tooling to have better support for new added animations ( I8677b )
  • Added minLines parameter into material and material3 Text, TextField and OutlinedTextField which allows setting the minimum height of the component in terms of number of lines ( I4af1d )

Version 1.4.0-alpha01

24 অক্টোবর, 2022

androidx.compose.ui:ui-*:1.4.0-alpha01 is released. Version 1.4.0-alpha01 contains these commits.

এপিআই পরিবর্তন

  • A new method, awaitEachGesture() , for gesture detectors was added. It operates similar to forEachGesture() , but the loop over gestures operates entirely within the AwaitPointerEventScope so events can't be lost between iterations.
  • forEachGesture() has been deprecated in favor of awaitEachGesture() because it allows events to be lost between gestures. ( Iffc3f , b/251260206 )
  • Deprecating recycling of acccessibility objects in androidx. We've found performance changes to be negligible in even the oldest supported versions. ( I0a961 )
  • Added DrawStyle as an Experimental attribute to TextStyle and SpanStyle to enable drawing outlined text. ( If24b8 , b/155421273 )
  • AnnotatedString.Builder now implements kotlin.text.Appendable . ( I1a061 , b/231030444 )
  • AnnotatedString.Builder now has an append(AnnotatedString, start: Int, end: Int) method to append a substring of an AnnotatedString and the intersecting styles.
  • Added DrawStyle parameter to Paragraph and MultiParagraph paint functions that enables drawing outlined text. ( Ic8102 , b/155421273 )

External Contribution

  • Thanks for vighnesh for adding TV Devices to Previews ( Ie15cd )

সংস্করণ 1.3

সংস্করণ 1.3.3

11 জানুয়ারী, 2023

androidx.compose.ui:ui-*:1.3.3 is released. Version 1.3.3 contains these commits.

Bug Fixes

  • Fix for a crash sometimes happening on Android 9 when Activity is saving the state of the Compose View. ( I0b755 , b/260322832 )

সংস্করণ 1.3.2

7 ডিসেম্বর, 2022

androidx.compose.ui:ui-*:1.3.2 is released. সংস্করণ 1.3.2 এই কমিট ধারণ করে.

Bug Fixes

  • Updated to use Profobuf 3.21.8, which avoids a security alert in protobuf-javalite:3.19.4 (CVE-2022-3171) ( b/255545055 )

সংস্করণ 1.3.1

9 নভেম্বর, 2022

androidx.compose.ui:ui-*:1.3.1 is released. Version 1.3.1 contains these commits.

সংস্করণ 1.3.0

24 অক্টোবর, 2022

androidx.compose.ui:ui-*:1.3.0 is released. Version 1.3.0 contains these commits.

Important changes since 1.2.0

  • New experimental API suite LookaheadLayout (enabling previously impossible animation behaviors)
  • New experimental API suite Modifier.Node (higher-performance alternative to Modifier.composed )
  • Improved window insets support.
  • Focus support for D-Pads and hardware keyboard in LazyLists.
  • Maximum supported elevation in dialogs and popups has been reduced to 8dp (behavior breaking change for some customized design systems – rationale in beta01 release notes )
  • Many minor, nonbreaking API improvements
  • Many bugfixes and performance improvements

Version 1.3.0-rc01

5 অক্টোবর, 2022

androidx.compose.ui:ui-*:1.3.0-rc01 is released. Version 1.3.0-rc01 contains these commits.

এপিআই পরিবর্তন

  • Added new experimental API Hyphens to support automatic hyphenation in Text ( Iaa869 )

Bug Fixes

  • DeviceFontFamilyName fonts will not configure wght and ital variation settings by default, instead using platform setting for loaded Typeface . ( Ia7a6d , b/246989332 )
  • Fixed LazyColumn memory leak - onModifierLocalsUpdated was not being called with the default value when modifiers were reused ( b/230168389 )

Version 1.3.0-beta03

21শে সেপ্টেম্বর, 2022

androidx.compose.ui:ui-*:1.3.0-beta03 is released. Version 1.3.0-beta03 contains these commits.

এপিআই পরিবর্তন

  • Add options to customize line breaking in Text. ( I86907 )
  • Changed size:IntSize argument with constraints: Constraints in TextMeasurer.measure method to support minimum width constraints. ( I37530 , b/242707525 )

Bug Fixes

  • AndroidX Activity's BackHandler API now works within a Dialog composable. ( I35342 )

Version 1.3.0-beta02

7 সেপ্টেম্বর, 2022

androidx.compose.ui:ui-*:1.3.0-beta02 is released. Version 1.3.0-beta02 contains these commits.

এপিআই পরিবর্তন

  • Added an experimental overload for Layout which accepts a list of multiple composable content lambdas, which allows to threat measurables put into different content lambdas differently ( Ic1b4e )

Changes to experimental Focus APIs:

  • FocusDirection.In and FocusDirection.Out are deprecated and replaced by FocusDirection.Enter and FocusDirection.Exit . ( Ia4262 , b/183746982 )
  • Added two new focus properties enter and exit to specify a custom behavior for FocusManager.moveFocus(Enter) and FocusManager.moveFocus(Exit) . ( I5f3f9 , b/183746982 )
  • You can now use FocusRequester.Cancel to cancel a focus move. FocusRequester.Cancel can be used in any of the following focus properties: up, down, left, right, next, previous, start, end, enter and exit. ( Ib300f )

Version 1.3.0-beta01

24 আগস্ট, 2022

androidx.compose.ui:ui-*:1.3.0-beta01 is released. Version 1.3.0-beta01 contains these commits.

Modifier Node Refactor

The layer which handles Modifier/Modifier.Element instances and coordinates their behavior on LayoutNodes has been majorly refactored. As it stands this was a refactor which did not affect the public API of any of the many modifiers in Compose, and can be viewed as an implementation-only change. Despite that, this is an important change for various reasons. ( Ie4313 )

সারাংশ পরিবর্তন করুন

The added experimental Modifier.Node APIs provide an abstraction that allows for state to be maintained on an instance that will be retained with the lifecycle of the layout node, and will be allocated per-layout-node and per-usage of the corresponding Modifier.Element that produced it.

Broadly speaking, this abstraction provides an alternative mechanism to produce stateful modifiers without relying on the mechanics of the Modifier.composed API.

ঝুঁকি

This change is strictly binary compatible with prior releases, and is intended to be backwards compatible in terms of observable behavior as much as practical and reasonable. That said, there are few subsystems of compose this refactor did not touch, and it is likely that behavior has changed in ways that were not covered by our tests and have not yet been found and fixed .

Please upgrade to this release with caution. If you believe this has broken something for you, please let us know.

পরীক্ষামূলক API

Various experimental APIs have been added, all relating to the new concept of a "Modifier Node". Modifier.Node's are created as a result of

  • fun modifierElementOf(…): Modifier
  • abstract class ModifierNodeElement
  • abstract class Modifier.Node
  • abstract class DelegatingNode
  • interface LayoutModifierNode
  • interface DrawModifierNode
  • interface SemanticsNode
  • interface PointerInputNode
  • interface ModifierLocalNode
  • interface ParentDataModifierNode
  • interface LayoutAwareModifierNode
  • interface GlobalPositionAwareModifierNode
  • interface IntermediateLayoutModifierNode

Behavior breaking change

ডায়ালগ এবং পপআপগুলিতে সর্বাধিক সমর্থিত উচ্চতা 8dp এ হ্রাস করা হয়েছে৷

The maximum supported elevation for Compose dialogs and popups has been reduced from 30dp to 8dp. এই পরিবর্তন উপাদান এবং ui কাস্টম ডায়ালগ এবং পপআপ উভয়কেই প্রভাবিত করে। S এর নিচের Android সংস্করণগুলিতে অ্যাক্সেসিবিলিটি বাগ প্রশমিত করতে এবং সেই উইন্ডোগুলির মধ্যে অ্যাক্সেসিবিলিটি পরিষেবাগুলি ডায়ালগ বা পপআপের ভিতরের সামগ্রীর সাথে ইন্টারঅ্যাক্ট করতে সক্ষম তা নিশ্চিত করতে এই পরিবর্তন করা হয়েছে৷

You will only be impacted by this change if you are creating a custom dialog or popup implementation with an elevation set to levels higher than 8dp. Consider lowering the elevation of your dialog or popup. If you need to opt-out from this new behavior, consider forking your own dialog or popup with the desired elevation set. This is not recommended, as accessibility might be negatively impacted and it is on the developer to ensure the bottom part of the dialog or popup is interactable and readable by accessibility services.

এপিআই পরিবর্তন

  • Fixed an issue where painterResource wouldn't update on configuration changes ( I58e73 , b/228862715 )
  • rememberTextMeasurer no longer takes FontFamily.Resolver , Density , or LayoutDirection parameters. Please use the TextMeasurer constructor to provide custom values for these parameters. ( Ia1da3 )
  • Added DialogProperties.decorFitsSystemWindows property to allow Dialogs to support WindowInsets . ( I57742 , b/229378542 )
  • Moved font constructors back to original kotlin file to retain binary compatibility. No change from last stable release. ( Ieb2f3 )
  • Removed unnecessary operator from several equals definitions - this has no effect. ( I6c309 )
  • FontVariation.Setting is a sealed interface, to allow future clamping APIs. ( I11021 , b/143703328 )
  • Add CompositionGroup.findParameters to SlotTree.kt . This allows tools to retrieve parameters for a CompositionGroup without having to parse the entire slot table. ( I124fe )

Version 1.3.0-alpha03

আগস্ট 10, 2022

androidx.compose.ui:ui-*:1.3.0-alpha03 is released. Version 1.3.0-alpha03 contains these commits.

এপিআই পরিবর্তন

  • LayoutCoordinates.findRootCoordinates() is now public ( I7fa37 , b/204723384 )
  • Added experimental API to get the LayoutCoordinates in the PlacementScope . This lets developers know where the current layout is to place children relative to its position. ( I5482b , b/238632578 )
  • Added LayoutCoordinates.transformFrom to get the Matrix transformation from one LayoutCoordinates to another. ( Ic5ab1 , b/238632578 )
  • Deprecated SemanticsModifier.id and moved the semantics id to LayoutInfo.semanticsId instead. ( Iac808 , b/203559524 )
  • Resource Fonts now support setting font variation settings (API 26+). ( I900dd , b/143703328 )
  • Variable font support in DeviceFontFamilyNameFont ( Ic1279 , b/143703328 )
  • Font constructors now accept a list of FontVariation.Setting for configuring variable fonts on O+ devices. ( I11a9d , b/143703328 )
  • Add FontVariation API for defining and using variable fonts. ( I3c40c , b/143703328 )
  • LineHeightStyle.Alignment constructor is now public (experimental) ( I4bbbe , b/235876330 )
  • Paragraph is now expect|actual and defined for Android and Desktop. ( Id387e , b/239962983 )
  • Interface Paragraph is now sealed interface Paragarph. There is no use case for subclassing paragraph, and we recommend reaching out if this change impacts you. ( If5247 , b/239962983 )
  • Removed experimental annotation from PlatformTextStyle and LineHeightStyle . ( I64bef )
  • Deprecate TextInputService.show|hideSoftwareKeyboard . Please use SoftwareKeyboardController instead in app code and TextInputSession in IME-management code. ( I14e4c , b/183448615 )
  • Add new API for existing animation types ( I26179 )

Bug Fixes

  • Added @RequiresPermission to APIs that require granting the POST_NOTIFICATIONS permission on SDK 33 and above. ( Ie542e , b/238790278 )

Version 1.3.0-alpha02

জুলাই 27, 2022

androidx.compose.ui:ui-*:1.3.0-alpha02 is released. Version 1.3.0-alpha02 contains these commits.

এপিআই পরিবর্তন

  • Added a new property PointerInputChange#pressure to retrieve the pressure. ( I45a5e , b/205164819 )
  • Added rememberTextMeasurer to easily create and remember TextMeasurer instances in composition. ( I8d66e )
  • Rect , RoundRect , and MutableRect now support the Kotlin in syntax for calling the contains function. ( Ie42b0 , b/238642990 )
  • Remove unnecessary functions from KeyInjectionScope , as they can be easily implemented with simpler parts of the API. The functions that have been removed include pressKeys , keysDown and keysUp . ( I81d77 )
  • Refactored constant and parameter names in KeyInjectionScope to include the suffix 'Millis' where the units of said constants and parameters are milliseconds. ( Iabef5 )
  • Added toStringForLog() method to EditCommand to help troubleshoot text editing issues. ( I53354 , b/228862731 )
  • Added drawText extension function on DrawScope to provide a way to draw multi-styled text on composables and modifiers that operate on a DrawScope like Canvas and drawBehind . ( I16a62 , b/190787898 )
  • Introduce a new experimental API called TextMeasurer that enables arbitrary text layout computation that creates identical results to BasicText , independent from Compose runtime. ( I17101 )
  • Add mapTree to SlotTree.kt . This allows tools to inspect the SlotTree without making an in memory copy first like asTree does. For the Layout Inspector this gives a performance improvement of about a factor 10. ( I5e113 )
  • Changed Compose Preview to be stored in binary output files, in order to allow developers to write and reuse MultiPreview annotations from libraries. ( I85699 , b/233511976 )

Bug Fixes

  • When adding InputEventChange events to Velocity Tracker we will consider now deltas instead of positions, this will guarantee the velocity is correctly calculated for all cases even if the target element moves ( Icea9d , b/216582726 , b/223440806 , b/227709803 )
  • Fix NPE caused by AnnotatedString.toUpperCase when annotations are present. ( I0aca2 , b/210899140 )

Version 1.3.0-alpha01

জুন 29, 2022

androidx.compose.ui:ui-*:1.3.0-alpha01 is released. Version 1.3.0-alpha01 contains these commits.

এপিআই পরিবর্তন

  • New LookaheadLayout that supports a lookahead pass before the actual measure/layout. This allows a pre-calculation of the layout when it changes, while permitting the post-lookahead measure/layout to use the pre-calculated size/position to animate the size and positions towards the target. SubcomposeLayouts are not yet supported, but will be in an upcoming release. ( I477f5 )
  • Add optional alpha parameter to Brush flavor of TextStyle and SpanStyle to modify opacity of the whole Text . ( Ic2fac , b/234117635 )
  • Introduced the UrlAnnotation annotation type and associated methods to support TalkBack link support in AnnotatedString s. ( I1c754 , b/231495122 )
  • Moving utility functionality to runtime ( I4f729 )

Bug Fixes

External Contribution

  • Added a new API WindowInfo.keyboardModifiers to observe its state within composable functions or via snapshotFlow ( Icdb8a )

সংস্করণ 1.2

সংস্করণ 1.2.1

আগস্ট 10, 2022

androidx.compose.ui:ui-*:1.2.1 is released. Version 1.2.1 contains these commits.

Bug Fixes

  • Fixed nullpointer in the inspector ( b/237987764 )
  • Fixed class cast exception during remember in the inspector ( b/235526153 )

সংস্করণ 1.2.0

জুলাই 27, 2022

androidx.compose.ui:ui-*:1.2.0 is released. Version 1.2.0 contains these commits.

Important changes since 1.1.0

  • Improvements in focus traversal:

    • Focus-driven-scrolling of Lazy lists now works, using the new BeyondBoundsLayout core API
    • New behavior customization APIs in FocusOrder and FocusProperties
    • Improved behavior with physical keyboard or TV remote
  • New APIs for:

    • Window insets
    • Core primitives for gesture-driven, infinite and layout animations
    • GraphicsLayer capabilities, including RenderEffect
  • Many bugfixes and performance improvements

Version 1.2.0-rc03

জুন 29, 2022

androidx.compose.ui:ui-*:1.2.0-rc03 is released. Version 1.2.0-rc03 contains these commits.

  • No changes since 1.2.0-rc02.

Version 1.2.0-rc02

22 জুন, 2022

androidx.compose.ui:ui-*:1.2.0-rc02 is released. Version 1.2.0-rc02 contains these commits.

Version 1.2.0-rc01

15 জুন, 2022

androidx.compose.ui:ui-*:1.2.0-rc01 is released. Version 1.2.0-rc01 contains these commits.

এপিআই পরিবর্তন

  • Interfaces in compose libraries are now built using jdk8 default interface methods ( I5bcf1 )
  • Added higher-order functions to KeyInjectionScope for injecting key presses while other keys are held down or toggled on. These functions include withKeysDown , withKeysToggled etc. Also added properties for checking if a particular meta key is down, for example, isCtrlDown to check if either control key is depressed. Refer to KeyInjectionScope for documentation on each function. ( I9f6cd , b/229831515 )
  • An experimental OverscrollEffect has been introduced to allow for custom overscroll effects, alongside the Modifier.scrollable overloads that accept it.
  • Experimental LocalOverScrollConfiguration has been moved from foundation.gesture to foundation package and renamed to LocalOverscrollConfiguration ( If19fb , b/204650733 )
  • Rename runComposeUiTestWithoutActivity {} to runEmptyComposeUiTest {} , which aligns it with createEmptyComposeRule() ( I6fed7 )

Version 1.2.0-beta03

জুন 1, 2022

androidx.compose.ui:ui-*:1.2.0-beta03 is released. Version 1.2.0-beta03 contains these commits.

এপিআই পরিবর্তন

  • Added pressKeyTimes as well as isCapsLockOn and friends to KeyInjectionScope . Additionally, the API now supports mouse and keyboard combined injection patterns such as clicking a mouse button with a meta key held down. ( I4c8da , b/229831515 )
  • Added experimental support for injecting key events. Use performKeyInput to send key events, or send them through the key property of MultiModalInjectionScope during a multi modal input gesture with performMultiModalInput . See KeyInjectionScope for documentation of the API. ( Ic5000 , b/229831515 )
  • Add new GoogleFont.Provider.AllFontsListUri for retrieving the canonical internet source of Google Fonts supported by Android.
  • Improve error messages rethrown when GoogleFonts fail to load in compose. ( I0416c )

Bug Fixes

  • When adding InputEventChange events to Velocity Tracker we will consider now deltas instead of positions, this will guarantee the velocity is correctly calculated for all cases even if the target element moves ( I51ec3 , b/216582726 , b/223440806 , b/227709803 )
  • The Show Layout Bounds setting will now be applied for composables immediately after toggling it from the quick settings tile, without having to leave and re-enter the activity. ( I843d5 , b/225937688 )
  • Accessibility string lookup does not trigger font loading. Previously, it would attempt to load fonts for StyleSpans , which lead to crashes if FontFamily.Resolver had been overwritten. ( I4609d )
  • Pressing the forward delete key when the cursor is at the end of a text field will no longer crash.
  • DeleteSurroundingTextCommand and DeleteSurroundingTextInCodePointsCommand now require their constructor arguments to be non-negative. ( Ica8e6 , b/199919707 )

Version 1.2.0-beta02

18 মে, 2022

androidx.compose.ui:ui-*:1.2.0-beta02 is released. Version 1.2.0-beta02 contains these commits.

এপিআই পরিবর্তন

  • Reusing functionality in other preview types ( I19f39 )

Bug Fixes

  • ViewCompositionStrategy.DisposeOnDetachedFromWindowIfNotInPoolingContainer has been renamed to DisposeOnDetachedFromWindowOrReleasedFromPool to better reflect that when disposals do occur, rather than simply when they do not occur. ( If15ca )

Version 1.2.0-beta01

11 মে, 2022

androidx.compose.ui:ui-*:1.2.0-beta01 is released. Version 1.2.0-beta01 contains these commits.

নতুন বৈশিষ্ট্য

  • This is the first beta release of 1.2!

এপিআই পরিবর্তন

  • Added experimental BeyondBoundsInterval that can be used by custom implementations of LazyList when they layout items beyond visible bounds ( Ifabfb , b/184670295 )
  • Keyed versions of Modifier.composed are now stable API ( Ie65e4 , b/229988420 )
  • Simplified the rememberNestedScrollConnection API to use composition locals to acquire the current view information ( I67ca7 )
  • The @ComposableTarget annotation and annotations marked by @ComposableTargetMarker can now be used at the file scope using the @file prefix. Using a target annotation at the file scope will cause the compiler to assume all composable functions in the file are intended to be target the associated applier. For example, using @file:UiComposable declares that all @Composable functions target the Compose UI applier. A function that needs to target another applier must explicitly supply the target marker annotation for the desired applier. ( I40804 )
  • Introduced new experimental, platform independent, test API: an interface ComposeUiTest and a fun runComposeUiTest(block: ComposeUiTest.() -> Unit) , that can be used to run Compose Ui tests without the need for a TestRule . To run a test without a ComposeTestRule , pass the test as a lambda to runComposeUiTest , and use the methods and members in the receiver scope ComposeUiTest , which are the same ones as in ComposeContentTestRule .

    The Android specific interface AndroidComposeUiTest and fun runAndroidComposeUiTest(block: AndroidComposeUiTest.() -> Unit) are added to provide access to the underlying Activity, similar to AndroidComposeTestRule . For even more control, you can instantiate a class AndroidComposeUiTestEnvironment yourself.

    The Desktop implementation is the class DesktopComposeUiTest , but no Desktop specific run functions are offered at the moment.

    Migrating a test from a ComposeTestRule to ComposeUiTest can be done like this (Android example). থেকে:

    @RunWith(AndroidJUnit4::class)
    class MyTest {
        @get:Rule val rule = createComposeRule()
        @Test
        fun test() {
            rule.setContent {
                Text("Hello Compose!")
            }
            rule.onNodeWithText("Hello Compose!").assertExists()
        }
    }
    

    প্রতি:

    @RunWith(AndroidJUnit4::class)
    class MyTest {
        @Test
        @OptIn(ExperimentalTestApi::class)
        fun test() = runComposeUiTest {
            setContent {
                Text("Hello Compose!")
            }
            onNodeWithText("Hello Compose!").assertExists()
        }
    }
    
  • For now, ComposeContentTestRule and ComposeTestRule don't extend from ComposeUiTest , which means extension functions on ComposeUiTest can't be called yet on the TestRule interface. When ComposeUiTest graduates to stable API, ComposeContentTestRule and ComposeTestRule will be changed to extend from ComposeUiTest . ( Ib4e90 )

  • LineHeightBehavior is renamed as LineHeightStyle

  • LineVerticalAlignment is renamed as LineHeightStyle.Alignment

  • Renames LineHeightTrim is renamed as LineHeightStyle.Trim

  • Default constructor values from LineHeightStyle is removed ( I582bf , b/181155707 )

  • Added Brush to TextStyle and SpanStyle to provide a way to draw text with gradient coloring. ( I53869 , b/187839528 )

  • trimFirstLineTop , trimLastLineBottom attributes of LineHeightBehavior changed into a single enum: LineHeightTrim . LineHeightTrim have values of 4 states defined by two booleans: FirstLineTop , LastLineBottom , Both and None ( Ifc6a5 , b/181155707 )

  • Added LineHeightBehavior to the TextStyle and ParagraphStyle . LineHeightBehavior controls whether line height is applied to the top of the first line and to the bottom of the last line. It also defines the alignment of line in the space provided by TextStyle(lineHeight) .

    For example it is possible to get a behavior similar to what CSS defines via LineHeightBehavior(alignment = LineVerticalAlignment.Center, trimFirstLineTop=false, trimLastLineBottom = false) .

  • trimFirstLineTop , trimLastLineBottom configurations works correctly only when includeFontPadding is false. ( I97332 , b/181155707 )

  • PlatformParagraphStyle.lerp and PlatformSpanStyle.lerp functions are changed to be top level functions ( I9a268 )

Bug Fixes

  • PointerInputChange::copy documentation now correctly states that it is a shallow copy. ( I182f5 )
  • Support ellipsis when height is limited and doesn't fit all text lines ( Ie528c , b/168720622 )
  • Turned on default includeFontPadding . It is possible to turn off the includeFontPadding using TextStyle.platformTextStyle attribute. In the near future we will change the default behavior however until that time this allows us to better integrate line height improvements (aosp/2058653) and solve TextField clipping issues. ( I01423 , b/171394808 )

External Contribution

  • MouseInjectionScope.scroll(delta = someDelta) is now inverted on Android if we scroll vertically (if someDelta is positive, it will scroll downward) ( Ifb697 , b/224992993 )

Version 1.2.0-alpha08

20 এপ্রিল, 2022

androidx.compose.ui:ui-*:1.2.0-alpha08 is released. Version 1.2.0-alpha08 contains these commits.

এপিআই পরিবর্তন

  • The pluralStringResource functions were marked as experimental in order to allow evolution to support better internationalization in the future. ( If24e4 )
  • Paragraph and MultiParagraph are now accepting Constraints parameter. Passing Constraints.maxHeight is a no-op at the moment but will allow to do some calculation in the future, like ellipsizing based on the height. ( I6afee , b/168720622 )
  • SubcomposeSlotReusePolicy.getSlotsToRetain() now accepts a custom MutableSet-like class which doesn't allow adding new items in it. ( Icd314 )
  • PointerIcon is now a @Stable interface ( I9dafe )
  • Partial consumption (down OR position) has been deprecated in PointerInputChange . You can use consume() to consume the change completely. অন্য কেউ পূর্বে পরিবর্তনটি গ্রহণ করেছে কিনা তা নির্ধারণ করতে আপনি isConsumed ব্যবহার করতে পারেন।
  • PointerInputChange::copy() now always makes a shallow copy. It means that copies of PointerInputChange will be consumed once one of the copies is consumed. If you want to create an unbound PointerInputChange , use constructor instead. ( Ie6be4 , b/225669674 )
  • Enable Nested Scroll interop between Compose and View in the direction Compose > View. This means that a compose parent will be able to receive nested scroll deltas from a nested scroll view. ( If7949 , b/174348612 )
  • New SemanticsProperty testTagsAsResourceId , which can be used to make Compose conform with UIAutomator tests designed for the View system. ( I39c20 )
  • Display all available weights for systems fonts on Android when using FontFamily.SansSerif . This will use fallback font names like sans-serif-medium internally on API 21-28. This is a behavior change as previously only weights 400 and 700 were supported on API 21-28. ( I380fe , b/156048036 , b/226441992 )
  • Paragraph and Multiparagraph instructors reordered positional arguments to before optional arguments. ( Idafaa )
  • AndroidFont now takes typefaceLoader as a constructor parameter. ( I2c971 )

Version 1.2.0-alpha07

6 এপ্রিল, 2022

androidx.compose.ui:ui-*:1.2.0-alpha07 is released. Version 1.2.0-alpha07 contains these commits.

এপিআই পরিবর্তন

  • New function Snapshot.withoutReadObservation { ... } was added. It allows users to run the passed lambda without subscribing to the changes of the state values read during this block. You could find it useful in use cases when you want to benefit from the snapshot based thread safe write/reads, but want to be able to read the value without causing unnecessary recomposition or remeasure. ( I9f365 , b/214054486 )
  • The consumeWindowInsets extension property of ComposeView allows developers to disable consumption of Android WindowInsets . This allows separate ComposeViews in the hierarchy to each apply WindowInsets without interfering with each other. ( I0ef08 , b/220943142 )
  • Added KeyboardType.Decimal as an alternative to Keyboard.Number for specifically including decimal separator in IME. ( Iec4c8 , b/209835363 )
  • PointerEventType.Scroll and PointerEvent.scrollDelta are stable APIs now ( I574c5 , b/225669674 )
  • Enable Nested Scroll interop between View and Compose for cooperating View classes. This means compose is now able to dispatch scroll deltas to a (cooperating) View parent. ( I5d1ac , b/174348612 )
  • Updated FontFamily.Resolver to integrate System-wide bold text accessibility setting ( I6c1e7 )
  • Font(AssetManager, String, ...) is deprecated, replaced with Font(String, AssetManager, ...) . This is an experimental API. ( I1c7a4 )
  • Add new font descriptor Font(DeviceFontFamilyName) to optionally lookup system-installed fonts during font fallback chains. ( I30468 , b/219754572 )
  • Added temporary compatibility configuration for includeFontPadding in TextStyle/ParagraphStyle. includeFontPadding can be changed via TextStyle(platformStyle = PlatformTextStyle(includeFontPadding = true/false)) . This is a temporary configuration option to enable migration and will be removed. ( If47be , b/171394808 )
  • Add GoogleFont.Provider.isAvailableOnDevice extension for debugging help. ( I64e31 )
  • Add GoogleFont.Provider constructor for use with @ArrayRes ( Ic5ee1 , b/225984280 )
  • Compose GoogleFont is now called Font(GoogleFont) , API remains stable otherwise. ( I125f2 )

Bug Fixes

  • Added lint check to material/Scaffold to ensure that the inner padding is being used ( Ifb111 )

Version 1.2.0-alpha06

23 মার্চ, 2022

androidx.compose.ui:ui-*:1.2.0-alpha06 is released. Version 1.2.0-alpha06 contains these commits.

এপিআই পরিবর্তন

  • Added RequestFocus semantics action to request focus on the focusable target. ( I17b71 )
  • Updated parsing of vector drawables to support auto mirroring to flip the content of a VectorPainter if the current layout direction is RTL. ( I79cd9 , b/185760237 )
  • Updated shadow/ambient colors to be trailing parameters of Modifier.graphicsLayer for API compatibility ( I3f864 , b/160665122 )

  • Added default implementations to shadow/ambient color on GraphicsLayerScope to ensure non-breaking API changes

  • Added event time to RSB events ( Ief8ae )

  • FocusOrder has now been merged into FocusProperties and focusProperties() now has all the capabilities of focusOrder() . FocusOrder and focusOrder() have been deprecated. focusOrder() that accepts a focusRequester should be replaced with a focusRequester() modifier in combination with focusProperties() . This allows the modifiers to have a stronger separation of concerns. ( I601b7 )

  • Upgrading both RecyclerView and Compose will now result in much better scrolling performance for RecyclerViews with Compose views as children.

  • Add ViewCompositionStrategy.Default as a means of retrieving the built-in default strategy

  • Add ViewCompositionStrategy.DisposeOnDetachedFromWindowIfNotInPoolingContainer , which is the new default strategy and properly handles pooling containers such as RecyclerView. ( If7282 )

  • Added support for annotating annotations classes with @Preview as a first step for adding the Multipreview feature. Such annotations could be used to annotate Composable methods or other annotation classes, which could then be considered as indirectly annotated with the given @Preview. ( I12eff )

  • Reference devices added to the Devices list for @Preview ( I071c9 )

Bug Fixes

  • Updated Vector graphics APIs to use the proper composable annotation @VectorComposable instead of @UiComposable ( I942bc )
  • Remove crossinline from AnnotatedString.Builder.withStyle ( If84d5 )

External Contribution

  • compose-ui: Add ambientShadowColor and spotShadowColor properties to GraphicsLayerScope ( I1ba1a , b/160665122 )
  • Plural resources are now supported via the pluralStringResource functions. ( Ib2f23 , b/191375123 )

Version 1.2.0-alpha05

9 মার্চ, 2022

androidx.compose.ui:ui-*:1.2.0-alpha05 is released. Version 1.2.0-alpha05 contains these commits.

এপিআই পরিবর্তন

  • TextToolbar now takes lambda arguments instead of ActionCallback . ( Ib2eb9 , b/197950089 )
  • Updated nullability in core and appcompat to match Tiramisu DP2 ( I0cbb7 )
  • Measured interface now exposes parentData property ( I3313f )
  • Modifier.onPlaced and the OnPlacedModifier interface are now stable. ( Ib5482 )
  • হুরে! Compose animation now supports 'Animator duration scale' setting from Developer Options. ( I5a4fc , b/161675988 )
  • Added a BeyondBoundsLayout modifier local ( If8b51 , b/184670295 )
  • Text: includeFontPadding is now turned off by default. The clipping issues as a result of includeFontPadding=false is handled and no clipping should occur for tall scripts. ( I31c84 , b/171394808 )

Bug Fixes

  • ComposeContentTestRule.setContent will now throw an IllegalStateException if you try to set content when there already is content. ( I888a5 , b/199631334 )
  • Fix crash caused by clipboard content while reading from clipboard on Android. ( I06020 , b/197769306 )
  • Improve RSB scrolling samples. ( I6a596 )

External Contribution

  • Updated to use Kotlinx coroutines 1.6.0 ( I3366d )

Version 1.2.0-alpha04

23 ফেব্রুয়ারি, 2022

androidx.compose.ui:ui-*:1.2.0-alpha04 is released. Version 1.2.0-alpha04 contains these commits.

এপিআই পরিবর্তন

  • Added ComposableTarget , ComposableTargetMarker and ComposableOpenTarget that allows compile time reporting of when a composable function is called targeting an applier it was not designed to use.

    In most cases the annotations can be inferred by the compose compiler plugin so using these annotation directly should be rare . The cases that cannot be inferred include creating and using a custom applier, abstract composable functions (such as interface methods), fields or global variables that are composable lambdas (local variables and parameters are inferred), or when using ComposeNode or a related composable functions .

    For custom appliers the composable functions that calls ComposeNode or ReusableComposeNode need to add a ComposableTarget annotation for the function and any composable lambda parameter types. It is recommended, however, to create an annotation that is annotated with ComposableTargetMarker and then the marked annotation be used instead of ComposableTarget directly. A composable annotation marked with ComposableTargetMarker is equivalent to a ComposbleTarget with the fully qualified name of the attribute class as the applier parameter. For an example of using ComposableTargetMarker see anroidx.compose.ui.UiComposable . ( I38f11 )

  • Font(resId, ...) now takes loadingStrategy on stable API. ( Ief3d2 )

  • FontLoadingStrategy is now stable API. ( I1ee35 , b/174162090 )

  • Support async font loading in Text ( I77057 , b/214587005 )

  • Add bridge API for converting custom Font.ResourceLoader into FontFamily.Resolver . ( Ia0060 )

বাগ ফিক্স

  • Provided FontFamily.Resolver are passed to subcompositions such as Popup.
  • Provided Font.ResourceLoader are passed to subcompositions such as Popup. ( I48fa5 )

Version 1.2.0-alpha03

ফেব্রুয়ারী 9, 2022

androidx.compose.ui:ui-*:1.2.0-alpha03 is released. Version 1.2.0-alpha03 contains these commits.

এপিআই পরিবর্তন

  • notifyFocusedRect methods in TextInputSession and TextInputService are now deprecated and won't be called. Use BringIntoViewRequester instead. ( Ia4302 , b/192043120 , b/216842427 , b/178211874 )
  • Introduced destroyDisplayListData method on RenderNode stub class ( I1e659 , b/216660268 )
  • Added a new api which allows to premeasure children of SubcomposeLayout you precomposed. ( I857ea )
  • Added movableContentOf which converts a composable lambda into a lambda that moves it state, and corresponding nodes, to any new location it is called. When the previous call leaves the composition the state is temporarily preserved and if a new call to the lambda enters the composition then the state, and associated nodes, are moved to the location of the new call. If no new call is added the state is removed permanently and remember observers are notified.

    If a movableContentOf lambda is called multiple times in the same composition, new state and nodes are created for each call and, as calls leave the composition and new calls enter, the state is moved from the first leaving calls to the entering calls in the order তাদের বলা হয়। All state not claimed by new calls is removed permanently. ( Ib4850 )

  • FontFamilyResolver is now available via LocalFontFamilyResolver.current

  • Added createFontFamilyResolver(context) and createFontFamilyResolver(context, coroutineScope) to create new FontFamily resolvers outside of compose usage.

  • Paragraph and MultiParagraph now take FontFamily.Resolver

  • TextLayoutResult.layoutInput.fontFamilyResolver now contains the resolver used for this layout, deprecated TextLayoutResult.layoutInput.resourceLoader as it is no longer used. ( Id5a45 , b/174162090 )

  • Support for async and optional font loading, with fallback behavior. This path is used by Text and TextField, and exposed through FontFamilyResolver

  • Support for preloading fonts via FontFamilyResolver.preload

  • FontFamilyResolver.setAsyncLoadContext allows setting the global coroutine context used for loading async fonts. ( I87fe8 , b/174162090 )

  • Added AndroidFont , a new low-level API for providing new types of font resource descriptors on Android. For example, loading fonts from an app-specific backend, optionally locating pre-installed fonts on-device, or loading a font from a resource not provided by the current Font factories.

  • Expanded Font.ResourceLoaded API to support optional and async font loading. It is not recommended that application developers use this API directly. To add new types of fonts see AndroidFont .

  • Font.AndroidResourceLoader extension function allows construction of a Font.ResourceLoader when outside of composition.

  • Added loadingStrategy parameter to resource-based fonts, to allow async loading when resource font references downloadable fonts XML. ( Ie5aea , b/174162090 )

  • Typeface(FontFamily) constructor is deprecated. This was previously used to preload fonts, which may take up to 10 seconds for downloadable fonts. With downloadable fonts, this call may block for 10 seconds. Instead use FontFamilyResolver.preload .

  • fontResource(FontFamily): Typeface is deprecated. This was previously used to preload fonts, which may take up to 10 seconds for downloadable fonts. Instead use FontFamilyResolver.preload ( If8e7c , b/174162090 )

  • SubcomposeLayoutState constructor accepting maxSlotsToRetainForReuse is now deprecated. Instead there is a new constructor accepting SubcomposeSlotReusePolicy - a new interface allowing more granular control on what slots should be retained for the future reuse. ( I52c4d )

  • Exposes HSV and HSL function in Color as non-experimental API. The Oklab color space is now public API. ( I08fb6 , b/180731008 )

  • Deprecated AndroidComposeTestRule.AndroidComposeStatement , which was not meant to be in public API and didn't do anything for you anyway. ( Ibc46b )

  • Internal generated kt class rename ( Ia0b9e , b/174162090 )

  • Removed FontLoadingStrategy.values ( I42a9d , b/174162090 )

  • Global font loader is now called FontFamilyResolver . ( I4f773 , b/174162090 )

  • Use new font loading system for desktop. ( I9ce5c , b/174162090 )

  • FontFamily.Resolver.resolve returns State<Any> ( I4406c , b/174162090 )

Bug Fixes

  • TextFields will now be kept above the keyboard when they are focused and the keyboard is shown, when the soft input mode is ADJUST_PAN . ( I8eaeb , b/190539358 , b/192043120 )
  • Desktop uses composition local for FontFamily.Resolver
  • Desktop FontLoader is deprecated
  • New createFontFamilyResolver factory on Desktop ( I6bbbb , b/174162090 )
  • The soft keyboard input type no longer flickers when changing focus between text fields. ( I1bf50 , b/187746439 )

Version 1.2.0-alpha02

জানুয়ারী 26, 2022

androidx.compose.ui:ui-*:1.2.0-alpha02 is released. Version 1.2.0-alpha02 contains these commits.

API Changes

  • Added Modifier.onRotaryScrollEvent() and Modifier.onPreRotaryScrollEvent() for wear devices with a rotating side button ( I18bf5 , b/210748686 )
  • Add experimental View.createLifecycleAwareRecomposer extension ( I0cde6 )

External Contribution

  • PointerEvent.scrollDelta.y is now inverted on Android (now it returns 1 instead of -1 if we tilt mouse wheel to the right) ( Ia9811 )

Version 1.2.0-alpha01

জানুয়ারী 12, 2022

androidx.compose.ui:ui-*:1.2.0-alpha01 is released. Version 1.2.0-alpha01 contains these commits.

এপিআই পরিবর্তন

  • Deprecated FontFamily.canLoadSynchronously . This property has no semantic meaning. ( Ica5ef )
  • Added identity field to CompositionData for generating invariant ids in the Layout Inspector. ( Ic116e )
  • Added Wear OS device ids to Preview devices list ( I93232 )

নির্ভরতা আপডেট

  • Now depends on Kotlin 1.6.10 .

সংস্করণ 1.1

সংস্করণ 1.1.1

23 ফেব্রুয়ারি, 2022

androidx.compose.ui:ui-*:1.1.1 is released. Version 1.1.1 contains these commits.

Bug Fixes

সংস্করণ 1.1.0

ফেব্রুয়ারী 9, 2022

androidx.compose.ui:ui-*:1.1.0 is released. Version 1.1.0 contains these commits.

Important changes since 1.0.0

  • Stable support for the Android 12 Overscroll effect
  • Improvements to touch target sizing
    • Note that, with respect to Compose 1.0, Material components will expand their layout space to meet Material accessibility guidelines for touch target size . For instance, Button touch target will expand to a minimum size of 48x48dp, even if you set the Button's size to be smaller. এটি কম্পোজ ম্যাটেরিয়ালকে ম্যাটেরিয়াল ডিজাইন কম্পোনেন্টের একই আচরণের সাথে সারিবদ্ধ করে, যদি আপনি ভিউ এবং কম্পোজ মিশ্রিত করেন তাহলে সামঞ্জস্যপূর্ণ আচরণ প্রদান করে। এই পরিবর্তনটি নিশ্চিত করে যে আপনি যখন রচনা উপাদান উপাদান ব্যবহার করে আপনার UI তৈরি করবেন, তখন স্পর্শ লক্ষ্য অ্যাক্সেসযোগ্যতার জন্য ন্যূনতম প্রয়োজনীয়তা পূরণ করা হবে।
  • Stable Support for Navigation Rail
  • Graduates a number of previously experimental APIs to stable
  • Support for newer versions of Kotlin

Version 1.1.0-rc03

জানুয়ারী 26, 2022

androidx.compose.ui:ui-*:1.1.0-rc03 is released. Version 1.1.0-rc03 contains these commits.

Bug Fixes

  • কম্পোজ ম্যাটেরিয়াল 1.1.0-rc03 সমর্থন করার জন্য আপডেট করা হয়েছে

Version 1.1.0-rc01

15 ডিসেম্বর, 2021

androidx.compose.ui:ui-*:1.1.0-rc01 is released. Version 1.1.0-rc01 contains these commits.

Bug Fixes

  • Fixed a bug that caused missing accessibility scroll actions ( I7cbfb )
  • SemanticsNodeInteraction.captureToImage() will now also work if HardwareRenderer.isDrawingEnabled() is false , by enabling it for the duration of the call ( Idf3d0 )

Version 1.1.0-beta04

ডিসেম্বর 1, 2021

androidx.compose.ui:ui-*:1.1.0-beta04 is released. Version 1.1.0-beta04 contains these commits.

নতুন বৈশিষ্ট্য

  • Updated to be compatible with Kotlin 1.6.0

এপিআই পরিবর্তন

  • Cleaned up nullability in androidx.core.view ( I7078a , b/204917439 )
  • Experimental APIs were added that allow users to consume PointerInputchange as a whole or check whether it was consumed or not. ( I2e59d )
  • Adds support for mouse scroll wheel events in the UI layer. ( Ia14eb , b/198214718 )
  • Add experimental Modifier.composed overloads that accept keys to compare for equality and qualify for skipping optimizations. ( Ice799 , b/205851704 )
  • ComposeNotIdleException now extends from Exception instead of directly from Throwable . Note that this means that catch clauses that were catching Exception might now catch ComposeNotIdleException s, where they wouldn't do that previously. ( I9c217 )

বাগ ফিক্স

  • Fix text handles not moving when IME visibility changes. ( I25f2e )

Version 1.1.0-beta03

17 নভেম্বর, 2021

androidx.compose.ui:ui-*:1.1.0-beta03 is released. Version 1.1.0-beta03 contains these commits.

API Changes

  • Added new modifier Modifier.onPlaced to allow placement change to be observed. Additional changes to child modifier's offset can therefore be made based on the observed placement change. ( I558fd )
  • Removed InjectionScope.flush() and InjectionScope.dispose() . Flushing of all events and disposing of the scope now happens at the end of the called perform*Input() method like before. ( I2bed8 )
  • Removed MultiModalInjectionScope.Touch and MultiModalInjectionScope.Mouse . In order to inject touch and mouse events for multi-modal gestures, you can now use MultiModalInjectionScope.touch() and MultiModalInjectionScope.mouse() , both of which accept a lambda that has the receiver scope of that modality. ( Idde18 )

Bug Fixes

  • The default value for durationMillis in TouchInjectionScope.swipeWithVelocity is now calculated such that the swipe is feasible. ( I19deb )

Version 1.1.0-beta02

November 3, 2021

androidx.compose.ui:ui-*:1.1.0-beta02 is released. Version 1.1.0-beta02 contains these commits.

API Changes

  • Added experimental BringIntoView API that lets you send a request to parents so that they scroll to bring an item into view ( Ib918d , b/195353459 )
  • New animation APIs for supporting tooling. Specifically, they allow tooling to inspect the animations & their configurations in a Transitions. ( I4116e )

External Contribution

  • Added Modifier.pointerHoverIcon ( I95f01 )

Version 1.1.0-beta01

27 অক্টোবর, 2021

androidx.compose.ui:ui-*:1.1.0-beta01 is released. Version 1.1.0-beta01 contains these commits.

API Changes

  • Added experimental BringIntoView API that lets you send a request to parents so that they scroll to bring an item into view ( Ib918d , b/195353459 )
  • New animation APIs for supporting tooling. Specifically, they allow tooling to inspect the animations & their configurations in a Transitions. ( I4116e )

Version 1.1.0-alpha06

13 অক্টোবর, 2021

androidx.compose.ui:ui-*:1.1.0-alpha06 is released. Version 1.1.0-alpha06 contains these commits.

API Changes

  • Remove ExperimentalComposeUiApi from ViewRootForInspector and LayoutInfo.ownerViewId ( I5c2e3 )
  • A child-less overload for Layout was added, with improved efficiency ( Ib0d9a )
  • Removed InternalCompilerApi from Composer methods that are required to be called cross-module ( I1aa0b )
  • SemanticsNodeInteraction.performSemanticsAction now returns the SemanticsNodeInteraction on which the function was called. ( I9e5db )
  • Added LocalInputModeManager CompositionLocal to detect TouchMode/NonTouchMode. ( I6a83c , b/175899786 )
  • Added viewConfiguration: ViewConfiguration to LayoutInfo to allow consumers get the correct value for things like long press timeout. ( I76ca6 )
    • Added viewConfiguration: ViewConfiguration to InjectionScope to allow tests to adjust input injection based on things like long press timeout or touch slop.
    • Changed default duration of long press and double tap for both touch and mouse input to be based on the values in InjectionScope.viewConfiguration .
  • Implementation of ExposedDropdownMenu based on ExposedDropdownMenuBox with TextField and DropdownMenu inside ( If60b2 )
  • dismissOnOutsideClick was added to PopupProperties, replacing dismissOnClickOutside which was deprecated. The new property receives the click position and the anchor bounds, providing finer control over whether onDismissRequest should be invoked or not. For example, this can be useful to prevent anchor dismissal for touches on the anchor.
    • updateAndroidWindowManagerFlags was added to PopupProperties, offering low-level control over the flags passed by the popup to the Android WindowManager. The parameter of the lambda will be the flags calculated from the PopupProperties values that result in WindowManager flags: eg focusable. The result of the lambda will be the final flags which will be passed to the Android WindowManager. By default, updateAndroidWindowManagerFlags will leave the flags calculated from parameters unchanged. This API should be used with caution, only in cases where the popup has very specific behavior requirements. ( I6e9f9 )
  • Recomposer.state has been deprecated and replaced by Recomposer.currentState to change its type to a StateFlow ( Ic2ab3 , b/197773820 )
  • Added flush() and dispose() to InjectionScope . Use them when you want to flush all queued up events immediately and when you want to dispose of the scope, respectively. ( Ifb73a )
  • Added performScrollToNode(matcher: SemanticsMatcher) that scrolls a scrollable container to the content that is matched by the given matcher. ( Ic1cb8 )
  • InjectionScope now implements Density , allowing you to easily convert between px and dp in performTouchInput and friends. ( I8fe1f )

Bug Fixes

  • AndroidView now propagates LocalLifecycleOwner and LocalSavedStateRegistryOwner to its view via ViewTreeLifecycleOwner and ViewTreeSavedStateRegistryOwner. ( I38f96 , b/179708470 )
  • Fix WearOS SwipeToDismissBox sometimes not handling swipes. ( I9387e )
  • The default time between injected input events has been changed from 10ms to 16ms. This potentially changes the outcome of tests that perform input gestures, like a specific swipe. ( I829fd )

Version 1.1.0-alpha05

29 সেপ্টেম্বর, 2021

androidx.compose.ui:ui-*:1.1.0-alpha05 is released. Version 1.1.0-alpha05 contains these commits.

API Changes

  • Added support for inter-modifier communication ( Id5467 , b/198826874 )
  • Added experimental historical pointers to PointerEventChange. ( Ic1fd8 , b/197553056 , b/199921305 )
  • Added density: Density and layoutDirection: LayoutDirection to LayoutInfo . This allows consumers of LayoutInfo to interpret the dimensions and position exposed in LayoutInfo properly. ( I002f1 )
  • Added experimental support for injecting mouse events. Use performMouseInput to start sending mouse events, or send mouse events through the Mouse property of MultiModalInjectionScope during a multi modal input gesture with performMultiModalInput . See MouseInjectionScope for documentation of the available API. ( Iaa4a8 , b/190493367 )

Bug Fixes

  • Fixed accessibility support for scrollables (both lazy and non-lazy) with respect to scrolling ( I6cdb0 )
  • Improved TouchInjectionScope.swipeWithVelocity . It now accepts a wider range of input variables and will suggest changes to the input if a swipe can't be created ( I40fbe , b/182477143 )

Version 1.1.0-alpha04

15 সেপ্টেম্বর, 2021

androidx.compose.ui:ui-*:1.1.0-alpha04 is released. Version 1.1.0-alpha04 contains these commits.

API Changes

  • PointerEvent now has a PointerEventType to support hover events. ( I091fa )
  • Allow children to accept pointer input outside of parent's pointer input bounds. Parents may intercept those calls with a property PointerInputScope.alwaysInterceptChildEvents ( I9eae3 , b/192479655 )
  • Deprecated performGesture and GestureScope , which have been replaced by performTouchInput and TouchInjectionScope . ( Ia5f3f , b/190493367 )
  • Added touchBoundsInRoot to SemanticsNode that includes the minimum touch target size so that developers can ensure that touch targets meet accessibility minimums. ( I2e14b , b/197751214 )
  • Redo implementation of inspectable ( I927bc , b/191017532 )
  • Changed parameter name of inspectable to match composed ( I3a482 , b/191017532 )
  • Introduced performTouchInput and TouchInjectionScope as a replacement for performTouchInput and TouchInjectionScope , paving the way for other modalities (like mouse).

    TouchInjectionScope has the same methods as GestureScope , with the exception of movePointerTo and movePointerBy , which have been renamed to updatePointerTo and updatePointerBy . All other methods are the same.

    The behavior of TouchInjectionScope is almost identical to GestureScope , with two small details:

    1. When sending a down event while pointers had been moved without sending a move event (in other words, updatePointerTo() has been used, but not move() , and then down() is called), the previous implementation would advance the event time and send a move event before sending the down event. The new implementation still sends the move event, but doesn't advance the event time in this specific scenario.
    2. When sending an up event while pointers had been moved without sending a move event (similar as above), the previous implementation would advance the event time and send a move event before sending the up event. The new implementation does neither: the new positions of the pointers will only be reflected through the up event.

    Finally, TouchInjectionScope introduces a new method currentPosition(pointerId: Int) to get the current position of the given pointer. ( If1191 , b/190493367 )

Bug Fixes

  • Allow clip to extend touch target bounds beyond the clip region for minimum touch target purposes. ( I43e10 , b/171509422 )
  • Support for stretch overscroll has been added on Android 12 devices. ( Iccf3c , b/171682480 )

Version 1.1.0-alpha03

1 সেপ্টেম্বর, 2021

androidx.compose.ui:ui-*:1.1.0-alpha03 is released. Version 1.1.0-alpha03 contains these commits.

নতুন বৈশিষ্ট্য

  • Updated Compose 1.1.0-alpha03 to depend on Kotlin 1.5.30 . ( I74545 )

API Changes

  • Added Modifier.inspectable for wrapping other modifiers. ( I1909b , b/191017532 )
  • Added BlurredEdgeTreatment API to simplify blur use cases into more commonly used combinations of clip flags and TileModes. Most use cases involve either letting blurred content render outside the original content bounds and blurring regions outside these bounds with transparent black, or clipping content to content bounds sampling the closest edge for blur kernels that extend beyond content bounds. ( I6b4b7 , b/166927547 )
  • Added support for RenderEffect in compose desktop. Introduced OffsetEffect as well as the blur modifier as a simple way to introduce blur visual effects to a portion of the composition hierarchy. ( I0f6aa , b/166927547 )
  • Introduced RenderEffect API that can be optionally configured on a Modifier.graphicsLayer to alter the contents of the layer itself. This can be used to blur contents of a composable and child composables within a composition hierarchy. ( I47c4d , b/166927547 )
  • AwaitPointerEventScope now has withTimeout() and withTimeoutOrNull() ( I507f0 , b/179239764 , b/182397793 )
  • Added minimum touch target size to ViewConfiguration for use in semantics and pointer input to ensure accessibility. ( Ie861c )
  • Add TileMode.Decal support which is useful in defining edge behavior for blur based RenderEffects. ( I7e8ed , b/166927547 )
  • performScrollToIndex , performScrollToKey , hasScrollToIndexAction and hasScrollToKeyAction are now stable API ( I142ae , b/178483889 )
  • Added test method to get the clipped bounds. ( I6b28e )

Bug Fixes

  • Removed isBounded method from BlurredEdgeTreatment in favor of explicitly checking if the shape parameter is null. ( I85d68 )

Version 1.1.0-alpha02

18 আগস্ট, 2021

androidx.compose.ui:ui-*:1.1.0-alpha02 is released. Version 1.1.0-alpha02 contains these commits.

API Changes

  • PointerEvent now has support for reading mouse button state and keyboard modifier state. ( I6310c , b/180075467 )
  • Injected gestures now use the MainTestClock's time as the source of truth for time. The current time for injected events in performGesture will be initialized to the current time of the MainTestClock. ( Ifb364 , b/192064452 )
  • Added DpRect(DpOffset, DpSize) constructor ( I2cf16 , b/194219828 )
  • Added DpSize class ( I7abb1 , b/194219828 )

বাগ ফিক্স

  • Updated Vector graphics xml parsing to support ColorStateLists as root color tint properties on VectorDrawables. ( I86915 , b/195668138 )

Version 1.1.0-alpha01

4 আগস্ট, 2021

androidx.compose.ui:ui-*:1.1.0-alpha01 is released. Version 1.1.0-alpha01 contains these commits.

এপিআই পরিবর্তন

  • RelocationRequester.bringIntoView now accepts a rectangle as a parameter which enables us to bring a part of a composable into view ( Ice2c5 , b/194330245 )
  • AnimatedImageVector and the related APIs are now in the new androidx.compose.animation:animation-graphics module. ( I60873 )
  • Added experimental modifier to handle relocation requests. ( I65a97 , b/178211874 )
  • Introduced BrushPainter API to support drawing of an arbitrary Brush within a Painter, similar to ColorPainter

    Updated Brush API to have an intrinsic size parameter that is queried within BrushPainter ( Ia2752 , b/189466433 )

  • Updated DrawScope#drawImage method that consumes source and destination rects to consume an optional FilterQuality parameter. This is useful for pixel art that is intended to be pixelated when scaled up for pixel based art. Updated BitmapPainter + Image composable to also consume an optional FilterQuality parameter ( Ie4fb0 , b/180311607 )

  • Added GestureScope.advanceEventTime method to give more control over the timing of events in a gesture ( Ibf3e2 )

Bug Fixes

  • In order to better support chaining of draw modifiers, make sure the Modifier.paint implementation calls drawsContent. Previously Modifier.paint was expected to a leaf node in the chain of Modifiers, however, by doing so it prevents it from being configured on a composable container (ex. box) or adding additional decorations on top such as Modifier.paint().border() . By having Modifier.paint call drawContent after drawing the contents of the given painter, we have better behavior consistency in behavior with the modifier pattern. ( Ibb2a7 , b/178201337 , b/186213275 )
  • Dialogs now follow the platform sizing behaviour. Set usePlatformDefaultWidth to false to override this behaviour. ( Iffaed , b/192682388 )
  • Moved InfiniteAnimationPolicy to :compose:ui ( I5eb09 , b/160602714 )
  • Scrolling via semantics actions for lazy lists and regular scrolling components is now animated ( Id9066 , b/190742024 )

সংস্করণ 1.0

সংস্করণ 1.0.5

November 3, 2021

androidx.compose.ui:ui-*:1.0.5 is released. Version 1.0.5 contains these commits.

Bug Fixes

  • Fixed a crash tracking derivedStateOf instances. ( aosp/1792247 )

সংস্করণ 1.0.4

13 অক্টোবর, 2021

androidx.compose.ui:ui-*:1.0.4 is released. Version 1.0.4 contains these commits.

নির্ভরতা আপডেট

  • Updated to depend on Kotlin 1.5.31

সংস্করণ 1.0.3

29 সেপ্টেম্বর, 2021

androidx.compose.ui:ui-*:1.0.3 is released. Version 1.0.3 contains these commits.

নির্ভরতা আপডেট

  • Updated to depend on Kotlin 1.5.30

সংস্করণ 1.0.2

1 সেপ্টেম্বর, 2021

androidx.compose.ui:ui-*:1.0.2 is released. Version 1.0.2 contains these commits.

Updated to support the Compose 1.0.2 release. Compose 1.0.2 is still compatible with Kotlin 1.5.21 .

সংস্করণ 1.0.1

4 আগস্ট, 2021

androidx.compose.ui:ui-*:1.0.1 is released. সংস্করণ 1.0.1 এই কমিট ধারণ করে.

নির্ভরতা আপডেট

  • Updated to depend on Kotlin 1.5.21 .

সংস্করণ 1.0.0

28 জুলাই, 2021

androidx.compose.ui:ui-*:1.0.0 is released. Version 1.0.0 contains these commits.

Major features of 1.0.0

This is the first stable release of Compose. Please see the official Compose Release blog for more details!

পরিচিত সমস্যা

  • If you are using Android Studio Bumblebee Canary 4 or AGP 7.1.0-alpha04 / 7.1.0-alpha05 , you may hit the following crash:

      java.lang.AbstractMethodError: abstract method "void androidx.lifecycle.DefaultLifecycleObserver.onCreate(androidx.lifecycle.LifecycleOwner)"
    

    To fix, temporarily increase your minSdkVersion to 24+ in your build.gradle file. This issue will be fixed in the next version of Android Studio Bumblebee and AGP 7.1 . ( b/194289155 )

Version 1.0.0-rc02

14 জুলাই, 2021

androidx.compose.ui:ui-*:1.0.0-rc02 is released. Version 1.0.0-rc02 contains these commits.

Bug Fixes

  • Dialogs now follow the platform sizing behaviour. Set usePlatformDefaultWidth to false to override this behaviour. ( Iffaed , b/192682388 )

Version 1.0.0-rc01

জুলাই 1, 2021

androidx.compose.ui:ui-*:1.0.0-rc01 is released. Version 1.0.0-rc01 contains these commits.

নতুন বৈশিষ্ট্য

  • Split ui-tooling module into ui-tooling and ui-tooling-preview ( Iefa28 , b/190649014 )

API Changes

  • Removed deprecated experimental FocusManager#moveFocusIn and FocusManager#moveFocusOut ( I227d7 , b/170154986 , b/186567354 , b/168510304 )
  • Canvas now supports a contentDescription parameter for accessibility. ( Ib547c )
  • useDefaultMaxWidth in PopupProperties was renamed to usePlatformDefaultWidth . ( I05710 )
  • Dialogs are now able to use the entire screen width. ( I83929 , b/190810877 )
  • Added experimental support for HSV and HSL color representations. ( Id7cf8 , b/180731008 )

আচরণ পরিবর্তন

  • Compose @Preview now provides a LocalActivityResultRegistryOwner that allows you to preview Composables that use APIs like rememberLauncherForActivityResult() that depend on that owner existing. ( Ib13d1 , b/185693006 )
  • Compose @Preview now provides a LocalOnBackPressedDispatcherOwner that allows you to preview Composables that use APIs like BackHandler that depend on that owner existing. ( Ia1c05 , b/185693006 )

Bug Fixes

  • Moved InfiniteAnimationPolicy to androidx.compose.ui:ui ( I5eb09 , b/160602714 )
  • AnimatedImageVector was temporarily removed in order to change the module structure. ( I41906 , b/160602714 )

সংস্করণ 1.0.0-beta09

16 জুন, 2021

androidx.compose.ui:ui-*:1.0.0-beta09 is released. Version 1.0.0-beta09 contains these commits.

API Changes

  • Change enum Role and LiveRegionMode into inline classes with private constructor ( Id1890 )
  • KeyboardCapitalization is converted into an inline class. ( Id5a1c )
  • Change HapticFeedbackType to inline class. ( I255ec )
  • Modifier.pointerInteropFilter is @ExperimentalComposeUiApi. ( Iede6c )
  • TextAlign, FontSynthesis and TextDirection are now inline classes. ( I212fe )
  • TextOverflow is changed to an inline class. ( I433af )
  • FontStyle is now an inline class. ( I9e48b )

Bug Fixes

  • Key constants are @ExperimentalComposeUiApi for now. Consuming code can declare private constants prior to stabilization. ( Ia5d48 )
  • Compose tests can now be run on Robolectric. The following limitations have so far been identified:
    • There is no native bitmap, so ImageBitmap() leads to a NullPointerException.
    • There is no drawing, so captureToImage() will indefinitely await the next draw pass (ie it deadlocks).
    • There is no font loaded, so any text will be measured incorrectly. All characters have a fixed height of around 20px and width of 1px.
    • ComposeTestRule.waitUntil {} does not run the main thread while it's waiting, making it effectively the same as ComposeTestRule.mainClock.advanceTimeUntil {} More limitations are expected to be identified in the future. ( I284fa )

Added Profile Rules

This release adds profile rules to the following compose modules ( I14ed6 ):

  • androidx.compose.animation
  • androidx.compose.animation-core
  • androidx.compose.foundation
  • androidx.compose.foundation-layout
  • androidx.compose.material
  • androidx.compose.material-ripple
  • androidx.compose.runtime
  • androidx.compose.ui
  • androidx.compose.ui.geometry
  • androidx.compose.ui.graphics
  • androidx.compose.ui.text
  • androidx.compose.ui.text
  • androidx.compose.ui.unit
  • androidx.compose.ui.util

What are profile rules?

  • Profile rules for a library are specified in a text file baseline-prof.txt located in the src/main or equivalent directory. The file specifies a rule per line, where a rule in this case is a pattern for matching to methods or classes in the library. The syntax for these rules is a superset of the human-readable ART profile format that is used when using adb shell profman --dump-classes-and-methods ... . These rules take one of two forms to target either methods or classes.

  • A method rule will have the following pattern:

    <FLAGS><CLASS_DESCRIPTOR>-><METHOD_SIGNATURE>
    
  • And a class rule will have the following pattern:

    <CLASS_DESCRIPTOR>
    
  • Here <FLAGS> is one or more of the characters H , S , and P to indicate whether or not this method should be flagged as "Hot", "Startup", or "Post Startup".

  • The <CLASS_DESCRIPTOR> is the descriptor for the class that the targeted method belongs to. For example, the class androidx.compose.runtime.SlotTable would have a descriptor of Landroidx/compose/runtime/SlotTable; .

  • The <METHOD_SIGNATURE> is the signature of the method, and includes the name, parameter types, and return types of the method. For example, the method fun isPlaced(): Boolean on LayoutNode has the signature isPlaced()Z .

  • These patterns can have wildcards ( ** , * , and ? ) in order to have a single rule encompass multiple methods or classes.

নিয়ম কি করে?

  • A method that has the flag H indicates that this method is a "hot" method, and should be compiled ahead of time.

  • A method that has the flag S indicates that it is a method which is called at startup, and should be compiled ahead of time to avoid the cost of compilation and interpreting the method at startup time.

  • A method that has the flag P indicates that it is a method which is called after startup.

  • A class that is present in this file indicates that it is used during startup and should be pre-allocated in the heap to avoid the cost of class loading.

এটা কিভাবে কাজ করে?

  • Libraries can define these rules which will be packaged in AAR artifacts. When an app is then built which includes these artifacts, these rules are merged together and the merged rules are used to build a compact binary ART profile that is specific to the app. ART can then leverage this profile when the app is installed on devices in order to ahead-of-time compile a specific subset of the application to improve the performance of the application, especially the first run. Note that this will have no effect on debuggable applications.

Version 1.0.0-beta08

2 জুন, 2021

androidx.compose.ui:ui-*:1.0.0-beta08 is released. Version 1.0.0-beta08 contains these commits.

API Changes

  • NestedScrollSource enum is replaced by an inline class. ( Ie321b , b/187055290 )
  • FocusManager.clearFocus(forcedClear = true) is renamed to FocusManager.clearFocus(force = true) ( Ia0c41 )
  • Refactored enum usages to inline classes to avoid issues with exhaustive when statements when new enum values are added. ( I2b5eb )
  • Remove @ExperimentalComposeUiApi from PopupProperties . ( I01fa6 )
  • PointerType was changed from an enum to an inline class ( If5058 )
  • ContentDescription and Text semantics properties are no longer single values but lists. This enables to merge them as they are instead of concatenations. Also provided better testing APIs to utilize these changes ( Ica6bf , b/184825850 )
  • Modifier.focusModifier() is deprecated and replaced by Modifier.focusTarget() ( I6c860 )
  • Modifier.onSizeChanged() and Modifier.onGloballyPositioned() are not inlined functions anymore ( I727f6 , b/186109675 )
  • KeyboardType enum is replaced by an inline class. ( I73045 , b/187055290 )
  • Replaced FocusState enum with a FocusState interface ( Iccc1a , b/187055290 )
  • ImeAction enum is replaced by an inline class. ( I18be5 , b/187055290 )
  • PlaceholderVerticalAlign is converted into an inline class. ( If6290 )
  • TextUnitType is an inline class now. ( I4cba9 )
  • AnnotatedString.withAnnotation functions are now ExperimentalTextApi instead of ExperimentalComposeApi. ( I0cd0a )
    • TextUnit constructor with TextUnitType is now ExperimentalTextApi instead of ExperimentalComposeApi.

Bug Fixes

  • Fixed the bug introduced in beta07 where LazyColumn/Row items were displayed partially after the scroll ( I8c9ac , b/188566058 )
  • Now detectDragGesures , detectVerticalGestures , and detectHorizontalGestures will consume the position change automatically, no need to call change.consumePositionChange in the onDrag callbacks ( I42fc4 , b/185096350 , b/187320697 )
  • LayoutModifiers providing alignment lines was fixed. A bug causing the parent not being remeasured when the alignment lines of the children were changing was fixed. ( I4401f , b/174315652 )
  • Modifier.onGloballyPositioned() was changed to report the coordinates of this modifier in the modifier chain, not the layout coordinates after applying all the modifiers. This means that now the ordering of modifiers is affecting what coordinates would be reported. ( Ieb67d , b/177926591 )

Version 1.0.0-beta07

18 মে, 2021

androidx.compose.ui:ui-*:1.0.0-beta07 is released. Version 1.0.0-beta07 contains these commits.

API Changes

  • Added ViewRootForInspector interface for use in inspector ( Ib70df )
  • SubcomposeLayoutState now supports setting count of reusable slots. The layout will keep up to this count slots active instead of disposing them in order to reuse the slot next time we need a new one ( Ieb981 )
  • KeyEventType enum is replaced by an inline class. ( Id670a , b/187055290 )
  • FocusDirection enum is replaced by an inline class. ( Ib6d03 , b/187055290 , b/184086802 )
  • Introduces ability to hoist the SubcomposeLayout state which allows you to precompose the content into a requires slotId which would make the next measure pass faster as once we try to subcompose with the given slotId next time there will be no composition needed. ( I42580 , b/184940225 )
  • Added Clip Selection Handle ( Iff80d , b/183408447 )
  • Removed unused APIs related to LayoutInspector support. ( I2ac78 )

বাগ ফিক্স

  • LazyColumn/Row will now keep up to 2 previously visible items active (not disposed) even when they are scrolled out already. This allows the component to reuse the active subcompositions when we will need to compose a new item which improves the scrolling performance. ( Ie5555 )
  • TextGeomerticTransform and TextDecoration on AnnotatedString will be applied as given. ( I61900 , b/184760917 )

Version 1.0.0-beta06

5 মে, 2021

androidx.compose.ui:ui-*:1.0.0-beta06 is released. Version 1.0.0-beta06 contains these commits.

API Changes

  • Solve Conflict with Navigation Gesture ( I1145e )
  • @ComposeCompilerApi no longer @RequiresOptIn ( Iab690 )
  • Added CollectionInfo and CollectionItemInfo accessibility APIs that allows to mark collection and its items for accessibility services ( Id54ef , b/180479017 )
  • Added SemanticsActions.ScrollToIndex to scroll a list with indexed items to the item with a certain index, and SemanticsProperties.IndexForKey to get the index of an item in a list with keyed items. Both actions are implemented by LazyList.
    • Added SemanticsNodeInteraction.performScrollToIndex that scrolls a list to the given index, and SemanticsNodeInteraction.performScrollToKey that scrolls a list to the item with the given key. ( I4fe63 , b/178483889 , b/161584524 )
  • Added ownerViewId to GraphicLayerInfo ( I19f62 )
  • Added Font() overloads to load fonts from assets, File and FileDescriptor ( I5d382 )
  • Added accessibility API error that allows to mark a node that contains invalid input ( I12997 , b/180584804 , b/182142737 )
  • Added Font() overloads to load fonts from assets, File and FileDescriptor ( I43007 )
  • AnnotatedString save support to TextFieldValue.Saver . Added addTtsAnnotation and withAnnotation utility functions to AnnotatedString.Builder ( I8cbdc , b/178446304 )
  • Added TextUnit constructor function TextUnit(value: Float, type: TextUnitType) ( I7ecce , b/178446304 )

Version 1.0.0-beta05

21 এপ্রিল, 2021

androidx.compose.ui:ui-*:1.0.0-beta05 is released. Version 1.0.0-beta05 contains these commits.

API Changes

  • Added experimental FocusManager.moveFocus(In) and FocusManager.moveFocus(Out) ( Ic5534 , b/183746743 )
  • Added experimental performTextInputSelection API ( I2dcbb , b/178510628 )
  • InputEventCallback interface is deprecated. It was not possible to use the interface in any public API; and there was no usage of it in the code. ( I34a02 , b/184003208 )
  • Deprecated TextLayoutResult/createTextLayoutResult function. It is an unused public function which was added for testing. The function does not do anything usable for Compose text APIs. The function is now deprecated and will be removed later. ( I80413 )

Bug Fixes

  • Fixed ACTION_SCROLL_FORWARD , ACTION_SCROLL_BACKWARD , accessibilityActionScrollLeft , accessibilityActionScrollUp , accessibilityActionScrollRight and accessibilityActionScrollDown accessibility scroll actions. Instead of scrolling to the end of the scrollable, it will now scroll by one screen in the given direction. ( Ieccb0 )
  • The AndroidManifest files from ui-test-manifest and ui-tooling-data are now compatible with Android 12 ( I6f9de , b/184718994 )

Version 1.0.0-beta04

7 এপ্রিল, 2021

androidx.compose.ui:ui-*:1.0.0-beta04 is released. Version 1.0.0-beta04 contains these commits.

API Changes

  • Rename hideSoftwareKeyboard and showSoftwareKeyboard on SoftwareKeyboardController to hide() and show() respectively.
    • Provide the full CompositionLocal interface for LocalSoftwareKeyboardController, allowing it to be set (especially useful in tests) ( I579a6 )
  • LiveRegion accessibility API is added. যদি নোড একটি লাইভ অঞ্চল হিসাবে চিহ্নিত করা হয়, তবে অ্যাক্সেসিবিলিটি পরিষেবাগুলি স্বয়ংক্রিয়ভাবে ব্যবহারকারীকে এর পরিবর্তনগুলি সম্পর্কে অবহিত করবে ( Idcf6f , b/172590946 )
  • TextOverflow.Visible is introduced. ( Ic8f89 )

Bug Fixes

  • Fixed the issue when items of LazyColumn / LazyRow located on the edges were incorrectly positioned after fast fling ( Ie4d13 , b/183877420 )
  • AndroidViewBinding now properly removes fragments inflated via FragmentContainerView when the AndroidViewBinding is removed from the compose hierarchy. ( Ib0248 , b/179915946 )
  • AndroidViewBinding now correctly nests fragments inflated via FragmentContainerView when your ComposeView is within a Fragment , fixing issues with saving and restoring the state of those fragments. ( I70eb0 , b/179915946 )
  • Compose ViewBinding now depends on Fragment 1.3.2 and now consistently shows fragments inflated via FragmentContainerView after configuration changes. ( I0743d , b/179915946 )

Version 1.0.0-beta03

24 মার্চ, 2021

androidx.compose.ui:ui-*:1.0.0-beta03 is released. Version 1.0.0-beta03 contains these commits.

API Changes

  • Deferred check for ViewTree dependencies of ComposeView ( I8dbbf , b/182466548 )
  • Added optional startX / endX and startY / endY parameters to swipeUp / swipeDown / swipeLeft / swipeRight functions in GestureScope . ( I49e2d , b/182063305 )

Version 1.0.0-beta02

10 মার্চ, 2021

androidx.compose.ui:ui-*:1.0.0-beta02 is released. Version 1.0.0-beta02 contains these commits.

এপিআই পরিবর্তন

  • Added new LocalSoftwareKeyboardController composition local API to replace previous SoftwareKeyboardController interface on TextField. ( I5951e , b/168778053 )
  • Added new LocalSoftwareKeyboardController composition local API to replace previous SoftwareKeyboardController interface on TextField. ( I84472 , b/168778053 )
  • Removed the following SemanticsMatcher s:
    • hasWidth(width, tolerance)
    • hasHeight(height, tolerance)
    • hasLeftPosition(left, tolerance)
    • hasTopPosition(top, tolerance)
    • hasRightPosition(right, tolerance)
    • hasBottomPosition(bottom, tolerance) ( If16bd )
  • Marked the following SemanticsMatchers as @ExperimentalTestApi:
    • hasWidth(width, tolerance)
    • hasHeight(height, tolerance)
    • hasLeftPosition(left, tolerance)
    • hasTopPosition(top, tolerance)
    • hasRightPosition(right, tolerance)
    • hasBottomPosition(bottom, tolerance) ( Ia600c )
  • Added the following SemanticsMatcher s:
    • hasWidth(width, tolerance)
    • hasHeight(height, tolerance)
    • hasLeftPosition(left, tolerance)
    • hasTopPosition(top, tolerance)
    • hasRightPosition(right, tolerance)
    • hasBottomPosition(bottom, tolerance) ( I2f502 )

Bug Fixes

  • Enforce restrictions on public usage of experimental APIs ( I6aa29 , b/174531520 )
  • androidx.compose.ui:ui no longer depends on AppCompat or Fragment. If you are using a ComposeView in your application, and you are using Fragment and/or AppCompat, make sure that you are using AppCompat 1.3+ / Fragment 1.3+ - these versions are needed to correctly set lifecycle and saved state owners required for ComposeView. ( I1d6fa , b/161814404 )
  • Fix for broken rememberSaveable { mutableStateOf(0) } when used inside a destination of navigation-compose. ( I1312b , b/180042685 , b/180701630 )
  • Added new LocalSoftwareKeyboardController composition local API to replace previous SoftwareKeyboardController interface on TextField. ( I658b6 , b/168778053 )
  • Fixed rare NoSuchElementException in ComposeRootRegistry 's tearDownRegistry() ( Iddce1 )

Version 1.0.0-beta01

24 ফেব্রুয়ারি, 2021

androidx.compose.ui:ui-*:1.0.0-beta01 is released. Version 1.0.0-beta01 contains these commits.

This is the first release of Compose 1.0.0 Beta.

API Changes

  • onStart callback has been added to detectDragGestures ( I67269 , b/179995594 )
  • Modifiers for sizing to intrinsics are no longer experimental. ( I15744 )
  • MeasureBlocks was renamed to MeasurePolicy which became a fun interface. Layout APIs were updated / simplified to use MeasurePolicy. ( Icab48 , b/167662468 , b/156751158 )
  • InteractionState has been replaced with [Mutable]InteractionSource
    • ইন্টারফেসগুলি মিথস্ক্রিয়া ইভেন্টগুলি নির্গত / সংগ্রহের জন্য দায়ী।
    • Instead of passing interactionState = remember { InteractionState() } to components such as Button and Modifier.clickable() , use interactionSource = remember { MutableInteractionSource() } .
    • Instead of: Interaction.Pressed in interactionState you should instead use the extension functions on InteractionSource, such as InteractionSource.collectIsPressedAsState().
    • For complex use cases you can use InteractionSource.interactions to observe the stream of Interactions. See the InteractionSource documentation and samples for more information.
    • ( I85965 , b/152525426 , b/171913923 , b/171710801 , b/174852378 )
  • Add AccessibilityMananger interface and LocalAccessibilityMananger in CompositionLocals ( I53520 )
  • Removed deprecated LayoutCoordinates methods, use function instead of the property for positionInParent and boundsInParent ( I580ed , b/169874631 , b/175142755 )
  • Typealiases replaced by underlying types:
    • ColorStop is now Pair<Float, Color>
    • SpanStyleRange is now `AnnotatedString.Range
    • ParagraphStyleRange is now AnnotatedString.Range<ParagraphStyle>
    • StringAnnotation is now AnnotatedString.Range<String>
    • ( I8dd1a )
  • নিম্ন স্তরের পাঠ্য উপাদান যেমন CoreTextField থেকে ইনপুট সেশনের জন্য নতুন TextInputSession তৈরি করা হয়েছে। ( I8817f , b/177662148 )
  • Placeable now exposes measuredSize, representing the size which the child layout actually measured to. This size might not respect the measurement constraints. ( Ib2729 , b/172560206 , b/172338608 )
  • নির্বাচন গোষ্ঠী সংশোধক যোগ করুন যা অ্যাক্সেসযোগ্যতার উদ্দেশ্যে ট্যাব বা রেডিও বোতামের সংগ্রহ চিহ্নিত করতে দেয় ( Ie5c29 )
  • The defaultFactory for compositionLocalOf and staticCompositionLocalOf is now required instead of optional.

    This changes removes a potential type error for non-nullable types where no default factory was provided. Previously this would provide a null reference for a non-nullable type.

    For nullable types consider supplying { null } as the default factory.

    We do not recommend using locals with non-nullable types unless a sensible default can be provided. If no sensible default exists, the defaultFactory lambda should throw an exception. However throwing an exception means that consumers of the local will have an implicit dependency on it being provided that is not enforced by the type system. ( Ifbd2a )

  • Deprecated methods from ui modules were removed ( I646f6 )

  • Size modifiers were renamed. Modifier.width/height/size were renamed to requiredWidth/requiredHeight/requiredSize. Modifier.preferredWidth/preferredHeight/preferredSize were renamed to width/height/size. ( I5b414 )

  • Modifier.tapGestureFilter has been removed. Use Modifier.pointerInput { detectTapGestures(...) } instead. ( I266ed , b/175294473 )

  • partial consumption was removed from pointer input system. The recommended way of coordinating partial consumtion is Modifier.nestedScroll. ( Ie9c9b )

  • ওরিয়েন্টেশন ফাউন্ডেশন প্যাকেজে সরানো হয়েছে। VelocirtTracker ui.gesture থেকে ui.input.pointer-এ সরানো হয়েছে। ( Iff4a8 , b/175294473 )

  • imageResource and vectorResource are now extension functions on ImageBitmap and ImageVector companions respectively. load{Image,Vector,Font}Resource ফাংশন মুছে ফেলা হয়েছে। ( I89130 )

  • AnimationClockObservable and subclasses have been removed. AnimatedFloat has been removed. ( Icde52 , b/177457083 )

  • Providers has been renamed to CompositionLocalProvider

    • কম্পোজিশন কনস্ট্রাক্টর আর একটি কী প্যারামিটার গ্রহণ করে না, এবং অবচয় করা হয়েছে।
    • currentCompositeKeyHash একটি কম্পোজেবল টপ লেভেল ফাংশনের পরিবর্তে একটি কম্পোজেবল টপ লেভেল প্রপার্টিতে পরিণত হয়েছে।
    • CompositionData এবং CompositionGroup কে androidx.compose.runtime.tooling নামস্থানে সরানো হয়েছে
    • ComposableLambda একটি কংক্রিট ক্লাসের পরিবর্তে একটি ইন্টারফেস তৈরি করা হয়েছে, এবং আর টাইপ প্যারামিটার নেই।
    • ComposableLambdaN একটি কংক্রিট ক্লাসের পরিবর্তে একটি ইন্টারফেস তৈরি করা হয়েছে, এবং আর টাইপ প্যারামিটার নেই।
    • snapshotFlow ফাংশন androidx.compose.runtime নামস্থানে সরানো হয়েছে
    • SnapshotMutationPolicy-এর মার্জ পদ্ধতি আর পরীক্ষামূলক নয়
    • @TestOnly শীর্ষ স্তরের clearRoots ফাংশন সরানো হয়েছে। It is no longer necessary.
    • keySourceInfoOf এবং resetSourceInfo ফাংশন মুছে ফেলা হয়েছে। তাদের আর প্রয়োজন নেই।
    • Composer.collectKeySourceInformation সরানো হয়েছে। It is no longer necessary.
    • isJoinedKey, joinedKeyLeft এবং joinedKeyRight পদ্ধতিগুলি সরানো হয়েছে। তাদের আর প্রয়োজন নেই।
    • বিভিন্ন শীর্ষ স্তরের APIগুলি সরানো হয়েছে এবং বিভিন্ন ফাইলে পুনর্গঠিত হয়েছে৷ কোটলিনের ফাইল ক্লাসের শব্দার্থবিদ্যার কারণে, এটি বাইনারি সামঞ্জস্যতা ভেঙে দেবে কিন্তু উত্স সামঞ্জস্য নয়, তাই বেশিরভাগ ব্যবহারকারীর জন্য সমস্যা হওয়া উচিত নয়।
    • ( I99b7d , b/177245490 )
  • ComponentActivity.setContent() was removed from compose:ui. Use the one from androidx.activity:activity-compose:1.3.0-alpha01 . viewModel() and LocalViewModelStoreOwner were removed from compose:ui. Use the ones from androidx.lifecycle:lifecycle-viewmodel-compose:1.0.0-alpha01 ( I6f36b )

  • Modifier.scrollable পুনরায় কাজ করা হয়েছে. এখন এটি ScrollableController ক্লাসের পরিবর্তে স্ক্রোলযোগ্য ইন্টারফেস ব্যবহার করে ( I4f5a5 , b/174485541 , b/175294473 )

  • CustomEvens support from PointerInputModifier has been removed ( I02707 , b/175294473 )

  • SnapshotStateObserver is not Experimental anymore ( Id2e6a )

  • কিছু পূর্বে অবহেলিত API মুছে ফেলা হয়েছে ( Ice5da , b/178633932 )

  • longPressGestureFilter and doubleClickGestureFilter have been removed. use Modifier.pointerInput with helper functions eg detectTapGestures ( I2fedf , b/175294473 )

  • Removed String.format API refactored usages in various toString methods to not leverage String.format internally. ( Id1290 )

  • Removed dp assertions ( I798d2 )

  • Removed androidx.compose.runtime:runtime-dispatch ( I55feb )

  • Text actions now check focus automatically ( I13777 , b/179648629 )

  • Removed runBlockingWithManualClock ( I15cdc , b/179664814 )

  • Modifier.verticalScroll()/horizontalScroll() এ স্ক্রোল পজিশন এখন Ints ( I81298 ) দিয়ে উপস্থাপন করা হয়েছে

  • FlingConfig-এর নাম পরিবর্তন করে FlingBehavior করা হয়েছে এখন পূর্বনির্ধারিত Decays-এর পরিবর্তে সাসপেন্ড অ্যানিমেশন কাস্টমাইজ করার অনুমতি দেয়। ( I02b86 , b/175294473 )

  • Added a helper function that is helpful to set the same action for all ImeAction callbacks ( I63447 , b/179226323 )

  • সমস্ত পাঠ্য ক্ষেত্র থেকে সফ্টওয়্যারকিবোর্ড কন্ট্রোলার কলব্যাক সরানো হয়েছে শীঘ্রই একটি নতুন API দ্বারা প্রতিস্থাপিত হবে৷ ( Iae869 , b/168778053 )

  • FontSpan and FontWeigthStyleSpan are no longer used and removed. ( Ie5b56 , b/177423444 )

  • নিম্নলিখিত উপাদান API পরিবর্তন করেছেন:

    • ডিফল্ট প্যাডিং কাস্টমাইজ করার জন্য টপ/বটমঅ্যাপবারে কন্টেন্টপ্যাডিং প্যারামিটার যোগ করা হয়েছে।
    • BackdropScaffold-এ পরামিতিগুলিকে ঐচ্ছিক পরামিতিগুলির আগে প্রয়োজনীয় প্যারামিটারগুলির জন্য API নির্দেশিকা অনুসরণ করতে পুনরায় সাজানো হয়েছে৷
    • BottomNavigationItem-এ সরানো icon প্যারামিটার selected হওয়ার পরে এবং onClick
    • BottomNavigationItem-এ alwaysShowLabels প্যারামিটারের নাম পরিবর্তন করে alwaysShowLabel .
    • কয়েকটি উপাদানে bodyContent প্যারামিটারের নাম পরিবর্তন করে শুধু content
    • ButtonDefaults.buttonColors() এ পরামিতিগুলি পুনরায় সাজানো হয়েছে। অনুগ্রহ করে মনে রাখবেন যেহেতু প্যারামিটারের ধরন পরিবর্তন করা হয়নি, এটি আপনার কোডে কোনো ত্রুটির কারণ হবে না - অনুগ্রহ করে নিশ্চিত করুন যে আপনি নামযুক্ত প্যারামিটার ব্যবহার করছেন বা ম্যানুয়ালি অর্ডার আপডেট করছেন, অন্যথায় আপনার কোড আগের মতো কাজ করবে না।
    • darkColors()secondaryVariant প্যারামিটার যোগ করা হয়েছে। This color is typically the same as secondary in dark theme, but adding for consistency and further customization.
    • পাবলিক API পৃষ্ঠ থেকে ElevationDefaults এবং animateElevation() সরানো হয়েছে কারণ সেগুলি সাধারণত ব্যবহৃত/উপযোগী ছিল না।
    • Slider onValueChangeEnd নাম পরিবর্তন করে onValueChangeFinished করা হয়েছে এবং এটিকে বাতিলযোগ্য করে দিয়েছে।
    • ধারাবাহিকতার জন্য content Snackbar text প্যারামিটারের নাম পরিবর্তন করা হয়েছে।
    • ডিফল্ট প্যাডিং কাস্টমাইজ করার অনুমতি দেওয়ার জন্য DropdownMenuItem contentPadding প্যারামিটার যোগ করা হয়েছে এবং content RowScope এ একটি এক্সটেনশন করা হয়েছে।
    • ModalDrawerLayout নাম পরিবর্তন করে ModalDrawer করা হয়েছে।
    • BottomDrawerLayout নাম পরিবর্তন করে BottomDrawer করা হয়েছে।
    • ( I1cc66 )

Bug Fixes

  • Added API to use AnimatedVectorDrawable resources in Compose. Use animatedVectorResource to load an <animated-vector> XML as an AnimatedImageVector and animate it with painterFor ( I8ea91 )
  • Added new LocalSoftwareKeyboardController composition local API to replace previous SoftwareKeyboardController interface on TextField. ( I658b6 , b/168778053 )

সংস্করণ 1.0.0-আলফা12

ফেব্রুয়ারী 10, 2021

androidx.compose.ui:ui-*:1.0.0-alpha12 is released. সংস্করণ 1.0.0-alpha12-এ এই কমিট রয়েছে।

API Changes

  • Support for ViewGroups was removed from UiApplier. The Deprecated emitView composables were removed. ( Ifb214 )
  • নতুন নির্ভরতার জন্য পয়েন্টার ইনপুট সনাক্তকরণ কোরোটিন কখন পুনরায় চালু করা উচিত তা নির্দেশ করার জন্য Modifier.pointerInput-এর এখন মনে রাখার কী প্রয়োজন। ( I849cd )
  • CompositionReference renamed to CompositionContext ( I53fcb )
  • Bounds has been renamed to DpRect ( I4b32a )
  • Testing update: hasText() will check for both input and label/hint/placeholder texts in the text field ( Iab803 )
  • viewModel() composable and LocalViewModelStoreOwner were moved to androidx.lifecycle.viewmodel.compose. You will now need to add a separate dependency androidx.lifecycle:lifecycle-viewmodel-compose:1.0.0-alpha01 in order to use it. ( I7a374 )
  • Allow nullable action in AccessibilityAction, change action label in AccessibilityAction and CustomAccessibilityAction from CharSequence to String ( I0dc82 )
  • ইমেজবিটম্যাপ এবং ইমেজভেক্টরের সাথে নামকরণের নিয়মগুলিকে আরও ভালভাবে মেলানোর জন্য, ইমেজপেইন্টারের নাম পরিবর্তন করে বিটম্যাপপেইন্টারে সমান্তরাল ভেক্টরপেইন্টার করা হয়েছে। ( Iba381 , b/174565889 )
  • Better substring test APIs with substring now as an argument ( Icbe78 )
  • Added an Modifier.focusOrder() that accepts a FocusRequester without specifying a custom focus order a lambda. This is useful when we only need to specify a reference but not a custom focus order for a composable ( I4f52a , b/179180978 )
  • ComponentActivity.setContent androidx.activity.compose.setContent এ androidx.activity:activity-কম্পোজ মডিউলে চলে গেছে। ( ICf416 )
  • ধ্বংসাত্মক এবং অনুলিপি() পদ্ধতিগুলি বেশ কয়েকটি ক্লাস থেকে সরানো হয়েছে যেখানে সেগুলি খুব কমই ব্যবহৃত হত। ( I26702 , b/178659281 )
  • Moved Popup to be platform specific. AndroidPopupProperties has been renamed to PopupProperties, and isFocusable has been moved to a focusable parameter in PopupProperties ( Ieeea5 )
  • Moved Dialog to be platform specific. Renamed AndroidDialogProperties to DialogProperties. ( I4ef69 , b/179138130 )
  • Made LayoutNode internal ( I8a7b1 , b/175103944 )
  • Constraints.enforce was replaced with Constraints.constrain. ( I8b8ea )
  • loadFontResource is deprecated. পরিবর্তে fontResource ব্যবহার করুন। imageResource, loadImageResource, vectorResource এবং loadVectorResource বাতিল করা হয়েছে। পরিবর্তে পেইন্টার রিসোর্স ব্যবহার করুন। ( I6b809 )
  • For performance reasons, ScrollAxisRange semantics now takes lambdas returning Floats instead of direct Float values. ( If4a35 , b/178657186 )
  • Added EditableText semantics to mark editable input text of the text field for accessibility and corresponding test methods to check the semantics ( I8e07a )
  • Made OwnerLayer/OwnerScope/OwnerSnapshotObserver internal ( I4ffaf , b/175103944 )
  • toIntPx() এর নাম পরিবর্তন করে roundToPx() করা হয়েছে। ( I9b7e4 , b/173502290 )
  • IntBounds এর নাম পরিবর্তন করে IntRect করা হয়েছে এবং API উন্নত করা হয়েছে। ( I1f6ff )
  • Snapshot API was updated to be more consistent with API guideline as well as hiding internal implementation classes from the public API. ( Id9e32 )
  • প্রসারিত এবং সঙ্কুচিত শব্দার্থবিদ্যা অ্যাকশন যোগ করা হয়েছে। ModalBottomSheetState ( Ib5064 ) এ প্রসারিত এবং অর্ধেক প্রসারিত যোগ করা হয়েছে
  • Modifier.dragGestureFilter বাতিল করা হয়েছে। পরিবর্তে Modifier.pointerInput { detectDragGestures (...)} ব্যবহার করুন। বিকল্পভাবে, একটি অক্ষ টেনে নেওয়ার জন্য Modifier.draggable ব্যবহার করুন ( I0ba93 , b/175294473 )
  • পরিবেষ্টনের সাথে মেলানোর জন্য পরিবেষ্টনের নাম পরিবর্তন করা হয়েছে -> কম্পোজিশন স্থানীয় পুনঃনাম। অ্যাম্বিয়েন্টের নাম ছিল অ্যাম্বিয়েন্টফু, এখন কম্পোজিশনলোকালের নাম লোকালফু। ( I2d55d )
  • The deprecated BaseTextField is now removed. পরিবর্তে BasicTextField ব্যবহার করুন। ( I71368 )
  • নির্বাচন ভিত্তি সরানো হয়েছে. ( I7892b )
  • একইভাবে আমরা আগে যেভাবে state { 0 } কম্পোজেবল মুছে দিয়েছিলাম এবং এখন remember { mutableStateOf(0) } আমরা savedInstanceState { 0 } composable সরিয়ে ফেলতে যাচ্ছি। এর পরিবর্তে আপনার rememberSaveable { mutableStateOf(0) } ব্যবহার করা উচিত এবং এটি স্বয়ংক্রিয়ভাবে সংরক্ষণ এবং পুনরুদ্ধার করবে যদি MutableState-এর ভিতরে ব্যবহৃত টাইপটি বান্ডেলে সংরক্ষণ করা যায়। যদি আগে আপনি একটি কাস্টম সেভার অবজেক্ট পাস করে থাকেন তবে এখন আপনাকে রিমেম সেভের একটি নতুন ওভারলোড ব্যবহার করতে হবে যার stateSaver প্যারামিটার রয়েছে। ব্যবহারটি এইরকম দেখাবে: val holder = rememberSaveable(stateSaver = HolderSaver) { mutableStateOf(Holder(0)) } ( Ib4c26 , b/177338004 )
  • Added password semantics for accessibility ( I231ce )
  • যোগ করা হয়েছে ProgressBarRangeInfo. অনির্ধারিত প্রবেশযোগ্যতার জন্য অনির্দিষ্ট অগ্রগতি বার চিহ্নিত করতে ( I6fe05 )
  • emptyContent() এবং (@Composable () -> Unit).orEmpty() ইউটিলিটিগুলিকে অবমূল্যায়ন করা হয়েছে কারণ তাদের আর কোন ইতিবাচক কর্মক্ষমতা প্রভাব বা মান নেই ( I0484d )
  • snapshotFlow and withMutableSnapshot are no longer experimental ( I6a45f )
  • Recomposers can now be closed. Closed recomposers will continue recomposition until composition child coroutines complete. Recomposer.shutDown renamed to cancel to contrast with close. ( Ib6d76 )
  • UiSavedStateRegistry was renamed to SaveableStateRegistry, AmbientUiSavedStateRegistry was renamed to AmbientSaveableStateRegistry and both moved to androidx.compose.runtime.saveable package. ( I30224 )
  • Artefact androidx:compose:runtime:runtime-saved-instance-state was renamed to androidx:compose:runtime:runtime-saveable ( I6dcac )
  • Many longstanding deprecated APIs in the ui package are deleted. ( I2f2dc )
  • The compose:runtime-dispatch artifact is now deprecated. MonotonicFrameClock can now be found in compose:runtime and AndroidUiDispatcher can be found in compose:ui. ( Ib5c36 )
  • Outline.* classes are not data classes anymore ( I4879e , b/178001427 )
  • Removed view.captureToImage() without any replacement. ( I7fcd2 )
  • একটি ইন্টারফেস হতে এবং PathEffect বাস্তবায়নের সাথে মেলে উৎস বিষয়বস্তুর রিফ্যাক্টরড কালারফিল্টার API-এর rgb মান পরিবর্তন করতে ব্যবহৃত ColorMatrix API প্রবর্তন করা হয়েছে। ( Ica1e8 )
  • শেপের তৈরি আউটলাইনে লেআউটডিরেকশন প্যারাম যোগ করুন। এটি লেআউট দিক সচেতন আকার তৈরি করতে দেয়। ( I57c20 , b/152756983 )
  • onImeActionPerformed বাতিল করা হয়েছে। পরিবর্তে KeyboardActions ব্যবহার করুন ( If0bbd , b/179071523 )
  • Introduced an InfiniteAnimationPolicy coroutine context element that will be applied in infinite animations. By default no policy is installed, except when running tests with ComposeTestRule . ( I50ec4 , b/151940543 )
  • canDrag has been removed from the Modifier.scrollable. ( Id66e7 , b/175294473 )
  • Renamed LayoutCoordinates.parentCoordinates to LayoutCoordinates.parentLayoutCoordinates to allow for a new parentCoordinates property. The parentCoordinates property now offers the parent modifier's LayoutCoordintes. This will make for more complete use cases for onSizeChanged() and onGloballyPositioned() ( Idfbfd , b/177926591 )
  • tapGestureFilter, doubleTapGestureFilter, longPressGestureFilter এবং pressIndicaitonGestureFilter অবমুক্ত করা হয়েছে। পরিবর্তে detectTapGestures ফাংশন সহ Modifier.clickable বা Modifier.pointerInput ব্যবহার করুন। ( I6baf9 , b/175294473 )
  • SaveableStateRegistry's unregisterProvider was removed. Instead registerProvider() now returns SaveableStateRegistry.Entry object which you can use to unregister ( Ic4274 , b/178583739 )
  • RememberSavedInstanceState() এর নাম পরিবর্তন করে RememberSaveable() রাখা হয়েছে এবং androidx.compose.runtime.saveable প্যাকেজে সরানো হয়েছে। ( I1366e , b/177338004 )
  • Removed CoreText and CoreTextField from public API
    • Removed deprecated SelectionContainer overload
    • ( I99c19 )
  • Tests in which Compose is used in hierarchies that are added/removed directly to the WindowManager are now more stable. ( Ie81ed , b/175765614 )
  • Removed Recomposer.current(). [বিমূর্ত] কম্পোজভিউ এখন ডিফল্ট অলসভাবে তৈরি করা, উইন্ডোর জন্য ViewTreeLifecycleOwner দ্বারা চালিত উইন্ডো-স্কোপড রিকম্পোজার। হোস্ট লাইফসাইকেল বন্ধ করার সময় পুনর্গঠন এবং ফ্রেমনানোস-ভিত্তিক অ্যানিমেশন টিকগুলি বিরাম দেওয়া হয়। ( I38e11 )
  • Recomposer.runningRecomposers now offers a global StateFlow of read-only RecomposerInfo for observing ongoing composition state in the process. Prefer this API to Recomposer.current(), which is now deprecated. ( If8ebe )
  • Saver, listSaver(), mapSaver(), autoSaver androidx.compose.runtime.savedinstancestate থেকে androidx.compose.runtime.saveable ( I77fe6 ) এ সরানো হয়েছে
  • EditCommands accept AnnotatedString. However this is an API only change and multi-style text editing is not implemented yet. ( I4c3ea )
  • Uptime and Duration have been removed. ( Ib9bf4 , b/177420019 )
  • CompositionData.asTree() and related APIs moved to separate ui-tooling-data module and marked as experimental ( Ic95b8 )
  • RounderCornerShape, CutCornerShape এবং CornerBasedShape-এর পরামিতিগুলিকে বাম/ডান থেকে শুরু/শেষে পুনঃনামকরণ করা হয়েছে যাতে rtl দিক থেকে আকৃতির স্বয়ংক্রিয় মিররিং সমর্থন করা যায়। যখন স্বয়ংক্রিয়-মিররিং কাঙ্খিত হয় না এমন ক্ষেত্রে অ্যাবসোলুট রাউন্ডার কর্নারশেপ এবং অ্যাবসোলুটকাট কর্নারশেপ চালু করা হয়েছিল। ( I61040 , b/152756983 )
  • The API the Compose compiler plugin targets has been refactored to use an interface instead of a concrete class. The interface also no longer uses a type parameter.

    This is an internal change that should not effect source code compatibility but is a binary breaking change. ( I3b922 , b/169406779 )

  • Remove unintentionally public StringBuilder.deleteAt function ( Id6ed9 )

বাগ ফিক্স

  • ComposeViews placed in view hierarchies that are children of another composition now host child compositions of their ancestors ( I92883 )
  • Updated compose's imageFromResource API to reuse the resource drawable cache when loading ImageBitmap objects. ( If3627 , b/178751994 )

Version 1.0.0-alpha11

28 জানুয়ারী, 2021

androidx.compose.ui:ui-*:1.0.0-alpha11 is released. সংস্করণ 1.0.0-alpha11-এ এই কমিট রয়েছে।

API Changes

  • WithConstraints কে BoxWithConstraints হিসাবে পুনরায় কাজ করা হয়েছিল এবং foundation.layout-এ সরানো হয়েছিল। ( I9420b , b/173387208 )
  • Key.DPadUp is deprecated. Use Key.DirectionUp instead. ( Iab335 , b/177954892 )
  • Owner interface from now on internal. ( If8e35 )
  • Added FocusManager.moveFocus() API to move focus programmatically. ( I045cb , b/177681839 )
  • উইন্ডো-রিলেটিভ কোঅর্ডিনেট ব্যবহার করতে PopupPositionProvider পরিবর্তন করে, গ্লোবাল কোঅর্ডিনেট নয়। parentGlobalBounds-এর নাম পরিবর্তন করে অ্যাঙ্করবাউন্ডে, এবং windowGlobalBounds পরিবর্তন করে windowsize: IntSize ( I2994a )
  • সময়কাল এবং আপটাইম লং মিলিসেকেন্ডের সাথে প্রতিস্থাপিত হবে এবং এই ধাপটি সেই ক্লাসগুলিতে পয়েন্টার ইনপুটের নির্ভরতা সরিয়ে দেয়। ( IA33b2 , b/175142755 , b/177420019 )
  • AmbientSavedStateRegistryOwner was added similarly to already existing AmbientLifecycleOwner and AmbientViewModelStoreOwner ( I9a3e8 , b/176756365 )
  • Updated vector graphics API to support parsing of tinting applied to the root of vector graphics. ( Id9d53 , b/177210509 )
  • Added toolType to PointerInputChange to differentiate devices ( Iac787 , b/175142755 )
  • AmbientWindowManager is renamed to AmbientWindowInfo ( I2686a , b/177084714 , b/177084983 )
  • গ্লোবাল কোঅর্ডিনেট পদ্ধতি অবমূল্যায়িত করা হয়েছে এবং নতুন উইন্ডো-ভিত্তিক স্থানাঙ্ক পদ্ধতি তৈরি করা হয়েছে। ( IE284 )
  • Modifier.toolingGraphicsLayer যোগ করা হয়েছে যা পরিদর্শন চালু হলে একটি গ্রাফিক্স লেয়ার মডিফায়ার যোগ করে। ( I315df )
  • FocusRequester.createRefs এখন পরীক্ষামূলক হিসেবে চিহ্নিত করা হয়েছে কারণ এটি পরিবর্তন হতে পারে। ( I2d898 , b/177000821 )
  • SemanticsPropertyReceiver.hidden-এর নাম পরিবর্তন করে invisibleToUser করা হয়েছে এবং @ExperimentalComposeUiApi চিহ্নিত করা হয়েছে। AccessibilityRangeInfo এর নাম পরিবর্তন করে ProgressBarRangeInfo করা হয়েছে। stateDescriptionRange was renamed to progressBarRangeInfo. AccessibilityScrollState এর নাম পরিবর্তন করে ScrollAxisRange করা হয়েছে। horizontal AccessibilityScrollState-এর নাম পরিবর্তন করে HorizontalScrollAxisRange করা হয়েছে। vertical AccessibilityScrollState-এর নাম পরিবর্তন করে verticalScrollAxisRange করা হয়েছে। ( Id3148 )
  • Removed PointerInputData and modified PointerInputChange to give it all of PointerInputData's fields. Made PointerInputEvent and PointerInputEventData internal because they aren't used in any public API. ( Ifff97 , b/175142755 )
  • Updated GraphicsLayerScope implement density to support conversions of dp into raw pixels. ( Ied528 , b/176819695 )
  • Updated matrix API to follow row major ordering and provide index constants to assist with conversions between different matrix representations to match framework conversion logic between SkMatrix and Matrix4 internally. ( I432e6 )
  • পরীক্ষামূলক একঘেয়ে ফ্রেম অ্যানিমেশন ক্লকঅফ পদ্ধতিগুলি সরানো হয়েছে ( Ib753f , b/170708374 )
  • Move String.fintPrecedingBreak and String.fingFollowingBreak to InternalTextApi. ( I657c4 )
  • androidx.compose.ui.util.isSurrogatePair has been removed from public API. ( Ia9494 )
  • Renamed TransformedText.transformedText to TransformedText.text
    • TransformedText is no longer a data class ( Ie672a )
  • Removed data class from the following classes:
    • ইনলাইন টেক্সট সামগ্রী
    • LocaleList ( I605c7 )
  • The following classes are not data classes anymore:
    • AnnotatedString
    • অনুচ্ছেদশৈলী
    • SpanStyle
    • টেক্সটস্টাইল
    • ফন্টওয়েট
    • টেক্সট ডেকোরেশন
    • TextGeometricTransform
    • TextIndex
    • TextLayoutResult
    • TextLayoutInput ( Iaff99 )
  • Changed VisualTransformation to be a functional interface ( I3bba4 )
  • Added a function reference parameter type ( I5e1bd )
  • Add transformed bounds to InspectorNode ( Ice42f )

Bug Fixes

  • onCommit, onDispose, এবং onActive-কে SideEffect এবং DisposableEffect APIs ( If760e ) এর পক্ষে বর্জন করা হয়েছে
  • Changes to factory functions for Font/FontFamily/Typeface

    • Added factory functions that start with capital letter
    • Deprecated previous factory functions with lowercase first letters
    • New factory functions return the FontFamily instead of subclasses
    • Hid constructors of the subclasses, so that they can only be constructed via factory functions.
    • Renamed Font.asFontFamily to Font.toFontFamily ( I42aa7 )
  • ComposeContentTestRule প্রবর্তন করা হয়েছে, যা ComposeTestRule প্রসারিত করে এবং setContent সংজ্ঞায়িত করে, যা ComposeTestRule থেকে সরানো হয়েছে। একটি ফ্যাক্টরি পদ্ধতি যুক্ত করা হয়েছে createEmptyComposeRule() যা একটি ComposeTestRule প্রদান করে এবং আপনার জন্য একটি কার্যকলাপ চালু করে না। যখন আপনি আপনার পরীক্ষার সময় আপনার কার্যকলাপ চালু করতে চান তখন এটি ব্যবহার করুন, যেমন ActivityScenario.launch ( I9d782 , b/174472899 ) ব্যবহার করে

  • animateAsState এখন animateFooAsState, যেখানে Foo হল অ্যানিমেটেড ভেরিয়েবলের ধরন। যেমন ফ্লোট, ডিপি, অফসেট, ইত্যাদি ( Ie7e25 )

  • ছবি এবং আইকনে বিষয়বস্তুর বিবরণ প্যারামিটার যোগ করা হয়েছে। এটি অ্যাক্সেসিবিলিটি পরিষেবাগুলির বিবরণ প্রদান করতে ব্যবহৃত হয় ( I2ac4c )

  • ডিসপ্লে সাইজ সরান কারণ এটি এড়ানো উচিত। সাধারণত কমপক্ষে onRoot() বা উইন্ডোর আকার ব্যবহার করা ভাল। ( I62db4 )

  • OnSizeChanged was reporting the size of the layout's contents. It now reports the size at its position within the modifier chain. ( I36b78 , b/177562900 )

  • The emit() API and all overloads have been deprecated and renamed to ComposeNode. The APIs are identical, just a different name in order to follow the naming conventions of Compose ( I4137b )

  • TextFieldValue accepts AnnotatedString. However this is an API only change and multi-style text editing is not implemented yet.

    • Removed initial from EditingBuffer constructor parameters. ( I326d5 )
  • invalidate এবং compositionReference() এখন যথাক্রমে currentRecomposeScope এবং memoryCompositionReference-এর পক্ষে অবচয়। ( I583a8 )

  • AnnotatedString is changed to extend from kotlin.CharSequence. Therefore length and subSequence are now instance functions, and extension functions are removed. ( Iaf429 )

  • RememberObserver replaces CompositionLifecycleObserver and CompositionLifecycleObserver is now deprecated.

    RememberObserver is a replacement for CompositionLifecycleObserver with modified semantics and renamed methods. Changing to the new API can be done mechanically for objects that are only remembered once which is, and continues to be, the recommended practice. However, if a reference was remembered more than once in a composition onRemembered is called for each reference where onEnter is only called once. onEnter was called multiple time if the object was used in subcompositions, such as WithConstraints and Scaffold making the single onEnter call guarantee unreliable and it was removed for RememberObserver .

    RememberObserver adds onAbandoned which is called if the RememberObserver instance is returned from the callback passed to remember but was not remembered in the composition state and, therefore, will never have onRemembered called. This can occur if an exception terminates composition before completing or the composition is discarded because the state is was producing a composition for is no longer current or otherwise is no longer needed. If the instance of RememberObserver following the single reference recommendation above is tracking an external resource both onForgotten and onAbandoned each indicate that the resource is no longer needed. If the object is tracking work started or resources allocated in onRemembered , onAbandoned can be ignored as it will not be called if onRemembered is called. ( I02c36 )

  • Deprecated arithmetic operations between 2 or more TextUnits. Deprecated TextUnit.Sp and TextUnit.Em functions in preference to the extension functions such as Int.sp and Int.em. ( I48369 )

  • Resources in libraries with no explicitly declared public resources (ex. via public.xml) are now private by default. ( Ia1dcc , b/170882230 )

  • ScrollableColumn/Row বর্জন করা হয়েছে। Using ScrollableColumn is less efficient compared to LazyColumn when you have a large scrolling content because with LazyColumn we can only compose/measure/draw visible elements. To prevent users from going the inefficient way we decided to deprecate ScrollableColumn and ScrollableRow and promote usages of LazyColumn and LazyRow instead. ব্যবহারকারীরা এখনও সিদ্ধান্ত নিতে পারে যে তাদের অলস আচরণের প্রয়োজন নেই এবং মডিফায়ারগুলি সরাসরি এভাবে ব্যবহার করুন: Column(Modifier.verticalScroll(rememberScrollState())) ( Ib976b , b/170468083 )

  • LazyColumn/LazyRow/LazyVerticalGrid এর সুযোগের জন্য নতুন items(count: Int) কারখানা পদ্ধতি। items(items: List) এবং itemsIndexed(items: List) এখন এক্সটেনশন ফাংশন তাই ব্যবহার করার সময় আপনাকে ম্যানুয়ালি আমদানি করতে হবে। অ্যারেগুলির জন্য নতুন এক্সটেনশন ওভারলোড: items(items: Array) এবং itemsIndexed(Array) ( I803fc , b/175562574 )

  • Please use ImeAction.None instead of ImeAction.NoAction

    • Please use ImeAction.Default instead of ImeAction.Unspecified ( Ie1bcc )
  • পরীক্ষায় TestCoroutineDispatcher লিভারেজ ( I532b6 )

  • Renamed TextInputService.onStateUpdated as updateState ( Id4853 )

  • TransitionDefinition-ভিত্তিক ট্রানজিশন অবচয় করা হয়েছে ( I0ac57 )

  • TextUnitType.Inherit is removed. Please use TextUnitType.Unspecified instead. ( I9ff64 )

Version 1.0.0-alpha10

13 জানুয়ারী, 2021

androidx.compose.ui:ui-*:1.0.0-alpha10 is released. Version 1.0.0-alpha10 contains these commits.

ব্রেকিং চেঞ্জ

  • Restructuring of the internal compiler API allows batching changes to the nodes generated as a result of composition into the "apply changes" phase of composition, after all @Composable functions have completed.

    This is a behavioral breaking change that might affect application code as nodes are no longer available from internal and experimental APIs until after changes have been applied. This can usually be worked around by surrounding code with such dependencies in a SideEffect composable to defer execution of the code until after the nodes have been created and initialized. ( I018da )

এপিআই পরিবর্তন

  • Added Modifier.focusOrder() that can be used to specify a custom focus traversal order ( I90cf5 , b/175899543 , b/170155556 , b/170155429 )
  • Removed deprecated focusObserver use onFocusChanged or onFocusEvent instead ( I3ecb9 , b/175156387 )
  • EditOperations API Changes
    • Renamed EditOperation as EditCommand
    • Added Command suffix for EditOperation concrete implementations
    • EditCommand's are no longer data classes
    • Renamed EditOperation.process function to applyTo
    • Renamed InputEventListener to InputEventCallback
    • ( I0a366 )
  • Removed unused PxSquared, PxCubed, PxInverse. Changed Size.center() to be a property. ( I973f7 )
  • ui-test module will now be able to configure the creation of Recomposers for UIs under test ( Ibebd8 )
  • উপাদান অংশ এবং গাণিতিক অপারেশন আছে পরিবর্তিত বেগ. ( Ib0447 )
  • অনুরূপ পরীক্ষামূলক এপিআই টীকা ( Ia4502 , b/171464963 ) এর সাথে সামঞ্জস্যপূর্ণ হতে @ExperimentalTesting এর নাম পরিবর্তন করে @ExperimentalTestApi করা হয়েছে
  • Renamed Color.useOrElse() to Color.takeOrElse() ( Ifdcf5 )
  • Removed unused DpInverse, DpSquared, and DpCubed classes. ( I4d62b )
  • Constraints#satisfiedBy was renamed to isSatisfiedBy. ( I9cf5c )
  • Add a callback to notify Owner when layoutnode bounds change. ( I72fd1 )
  • Added isSpecified, isUnspecified, and useOrElse for inline classes with an Unspecified constant. ( I93f7b , b/174310811 )
  • Expand [Abstract]ComposeView APIs to allow recycling Compose-based views, disposing their composition to recreate again later. Add APIs for installing and discovering window-scoped Recomposers and CompositionReferences for creating child compositions.

    Add ViewCompositionStrategy for configuring the composition disposal strategy of [Abstract]ComposeViews; default behavior is dispose on window detach. ( I860ab )

  • Removed Any.identityHashCode() public api ( I025d7 )

  • Removed toStringAsFixed API in favor of using String.format instead directly. ( Iaba6b )

  • Strings.kt ফাউন্ডেশনে টগল যোগ করুন ( I4a5b7 , b/172366489 )

  • নেটিভক্লাসকে UI মডিউলে সরানো হয়েছে এবং এটি অভ্যন্তরীণ করেছে। পরিবর্তে 'is MyClass' ব্যবহার করার জন্য সমান বাস্তবায়নে নেটিভক্লাসের আপডেট করা ব্যবহার। ( I4f734 )

  • Modifier.focus() এবং Modifier.focusRequester() বাতিল করা হয়েছে। পরিবর্তে Modifier.focusModifier() এবং Modifier.focusReference() ব্যবহার করুন। ( I75a48 , b/175160751 , b/175160532 , b/175077829 )

  • Introduced SelectionRegistrar.notifySelectableChange to notify Selectable updates to SelectionManager. ( I6ff30 , b/173215242 )

  • Introduced Outline.bounds property to obtain the bounding rect for various outline implementations. ( I16e74 , b/175093504 )

  • Deprecated TestUiDispatcher. Use Dispatchers.Main instead ( Ic171f , b/175385255 )

  • ImeOptions and KeyboardOptions are no more a data class ( I3c898 , b/168684531 )

  • VisualTransformation API Changes

    • Renamed OffsetMap to OffsetMapping
    • Renamed OffsetMapping.identityOffsetMap to OffsetMapping.Identity
    • PasswordTransformation is no longer data-class
    • Moved OffsetMapping to its own file
    • ( I0bdf3 )
  • অবস্থানের নাম পরিবর্তন করে DpOffset করা হয়েছে এবং getDistance() ( Ib2dfd ) সরানো হয়েছে

  • Changed fun Dp.isFinite() to a val Dp.isFinite ( I50e00 )

Bug Fixes

  • Recomposer now exposes a Flow of its current state, allowing monitoring its activity and the activity of associated effects. ( Ifb2b9 )
  • The native keyEvent can now be accessed through keyEvent.nativeKeyEvent ( I87c57 , b/173086397 )
  • animate() এখন animateAsState() দিয়ে প্রতিস্থাপিত হয়েছে, যা T এর পরিবর্তে একটি State<T> প্রদান করে। এটি আরও ভাল পারফরম্যান্সের অনুমতি দেয়, কারণ অবৈধকরণের সুযোগ যেখানে স্টেট মান পড়া হয় সেখানে সংকুচিত করা যেতে পারে। ( Ib179e )
  • শব্দার্থতত্ত্ব ভূমিকা API যোগ করুন এবং ক্লিকযোগ্য, নির্বাচনযোগ্য এবং টগলযোগ্য শব্দার্থবিদ্যা মডিফায়ারে একটি প্যারামিটার হিসাবে ভূমিকা যোগ করুন। পরিবর্তন করা হয়েছে Modifier.progressSemantics যাতে স্লাইডারও এটি ব্যবহার করতে পারে। ( I216cd )
  • New coroutine-based API Animatable that ensures mutual exclusiveness among its animations.
    • New DecayAnimationSpec to support multi-dimensional decay animation
    • ( I820f2 , b/168014930 )

Version 1.0.0-alpha09

16 ডিসেম্বর, 2020

androidx.compose.ui:ui-*:1.0.0-alpha09 is released. Version 1.0.0-alpha09 contains these commits.

API Changes

  • Deprecated KeyEvent.Alt is now removed. Use KeyEvent.isAltPressed instead. ( Idd695 )
  • Modifier.keyInputFilter and Modifier.previewKeyInputFilter are deprecated use Modifier.onKeyEvent and Modifier.onPreviewKeyEvent instead ( Idbf1b , b/175156384 )
  • Modifier.focusObserver বাতিল করা হয়েছে। পরিবর্তে Modifier.onFocusChanged বা Modifier.onFocusEvent ব্যবহার করুন ( I30f17 , b/168511863 , b/168511484 )
  • For suspending pointer input APIs, renamed HandlePointerInputScope to AwaitPointerEventScope and handlePointerInput() to awaitPointerEventScope(). ( Idf0a1 , b/175142755 )
  • অটোফিল API এখন পরীক্ষামূলক API এবং এর জন্য অপ্ট-ইন প্রয়োজন ( I0a1ec )
  • Adding destructuring declarations to create FocuSRequester instances ( I35d84 , b/174817008 )
  • অ্যাক্সেসিবিলিটি লেবেলের নাম পরিবর্তন করে কন্টেন্ট ডেসক্রিপশন করা হয়েছে। অ্যাক্সেসিবিলিটি ভ্যালুকে স্টেটডেসক্রিপশনে নামকরণ করা হয়েছে। ( I250f2 )
  • Custom events were removed from suspending pointer input API ( Ia54d5 , b/175142755 )
  • Introduced several new functions in SelectionRegistrar and also renamed onPositionChange to notifyPositionChange. ( Ifbaf7 )
  • More members of LayoutNode we marked as internal ( I443c6 )
  • LayoutInfo was introduced to be used by tooling and testing ( I9b190 )
  • AndroidOwner made internal ( Ibcad0 , b/170296980 )
  • Removed ExperimentalPointerInput annotation ( Ia7a24 )
  • Nested scroll system added. Refer to Modifier.nestedScroll for more details ( I36e15 , b/162408885 )
  • subcomposeInto(LayoutNode) was made internal ( Id724a )
  • The Applier interface has changed to simplify building trees bottom-up instead of top-down.

    The insert() method has been renamed to insertTopDown() .

    A new method, insertBottomUp() , was added.

    An applier either inserts nodes into the tree it is editing using insertTopDown() or insertBottomUp() depending on which performs better.

    Some trees, such as LayoutNode and View , are much more efficient to build bottom-up than top-down. Prior to this change, a stack of inserts was required to implement bottom-up which needed to be copied to every applier which needed bottom-up construction for performance. With this change an Applier overrides insertBottomUp() to build a tree bottom-up and insertTopDown() to build the tree top-down. ( Icbdc2 )

  • Added dismissOnBackPress and dismissOnClickOutside properties to AndroidDialogProperties. These allow configuring when the dialog's onDismissRequest lambda will be invoked. ( If5e17 )

  • Added painterResource API to handle opaquely loading Painter objects from either rasterized asset formats (like PNGs) or VectorDrawables. Consumers no longer have to determine the type of asset in advance and can call this method to get a Painter object to use in Image composables or painter modifiers. ( I2c703 , b/173818471 )

  • উত্তরসূরির শব্দার্থকল্প পরিষ্কার করতে এবং নতুন সেট করতে Modifier.clearAndSetSemantics যোগ করা হয়েছে। ( I277ca )

  • DrawScope-এর সাথে থাকার জন্য ContentDrawScope কে ui-গ্রাফিক্স মডিউলে সরানো হয়েছে। ( Iee043 , b/173832789 )

  • Introduced PathEffect graphics API to provide different patterns to stroked shapes. Deprecated usage of NativePathEffect in favor of expect/actual implementation of PathEffect. ( I5e976 , b/171072166 )

  • Added IdlingResource interfaces to Compose, as a Compose supported variant of Espresso's idling resources. They can be registered and unregistered through the ComposeTestRule ( I433f3 )

  • Removed global (un)registration of ComposeIdlingResource and global (un)registration of clocks into ComposeIdlingResource ( I32660 )

Bug Fixes

  • অফসেট মডিফায়ারে Lambdas এখন Float এর পরিবর্তে IntOffset ফেরত দেয়। ( Ic9ee5 , b/174137212 , b/174146755 )
  • Removed SlotTable, SlotReader and SlotWriter from the public API. These were marked as InternalComposeAPI previously. Now they are internal to the compose module.

    CompositionData and CompositionGroup were added as a replacement for the ui-tooling API to use to extract composition information. These are public but are not intended for use outside the ui-tooling API as they provide the raw information the ui-tooling API interprets ( I31a9c )

  • ড্রয়িং এনভায়রনমেন্টের সাইজিং তথ্য উপলব্ধ হলে অলসভাবে একটি শেডার ইন্সট্যান্স তৈরি করতে রিফ্যাক্টর করা ShaderBrush। কাস্টম DrawModifier বাস্তবায়ন না করেই কম্পোজিশনের সময় কম্পোজেবলের সম্পূর্ণ অঙ্কন সীমা দখল করে এমন গ্রেডিয়েন্টগুলিকে সংজ্ঞায়িত করতে এটি কার্যকর।

    গ্রেডিয়েন্ট অবজেক্টে ফ্যাক্টরি পদ্ধতির পক্ষে গ্রেডিয়েন্ট ফাংশন কনস্ট্রাক্টর API গুলিকে অবমূল্যায়ন করা হয়েছে। ( I511fc , b/173066799 )

  • Deprecate LazyColumnFor, LazyRowFor, LazyColumnForIndexed and LazyRowForIndexed. পরিবর্তে LazyColumn এবং LazyRow ব্যবহার করুন ( I5b48c )

  • Deprecated BuildCompat.isAtLeastR ( Idb37e )

  • Added buildAnnotatedString factory function in order to build an AnnotatedString. Deprecated annotatedString builder function. ( Idfe0b )

  • Removed extension methods on Float and Double to convert values to radians. Moved to be a private function within the implementation PathParser which was the only place where it was used ( I25f52 )

Version 1.0.0-alpha08

2 ডিসেম্বর, 2020

androidx.compose.ui:ui-*:1.0.0-alpha08 is released. Version 1.0.0-alpha08 contains these commits.

API Changes

  • শব্দার্থবিদ্যা ক্রিয়া যুক্ত করুন খারিজ ( I2b706 )
  • DrawModifier API গুলিকে androidx.compose.ui প্যাকেজ থেকে androidx.compose.ui.draw প্যাকেজে সরানো হয়েছে। বর্তমান এপিআই থেকে বঞ্চিত থেকে মাইগ্রেশনে সহায়তা করার জন্য typealiases/helper পদ্ধতিগুলি অন্তর্ভুক্ত করতে DrawModifierDeprecated.kt ফাইল তৈরি করা হয়েছে। ( Id6044 , b/173834241 )
  • Modifier.drawLayer থেকে Modifier.graphicsLayer নামকরণ করা হয়েছে এছাড়াও API ফিডব্যাক অনুযায়ী GraphicsLayer-এ সম্পর্কিত ক্লাস আপডেট করা হয়েছে। ( I0bd29 , b/173834241 )
  • New methods placeable.placeWithLayer() and placeable.placeRelativeWithLayer() were added which allows custom layouts and layout modifiers to place a child with introducing a graphics layer for their drawing. Having that we can first optimize redrawings, so when we need to move a child we don't have to redraw its content, second we can apply draw transformations for a child ( Ibd8f6 , b/170296989 , b/171493718 , b/173030831 )
  • <T> SubcomposeLayout ঘোষণা থেকে সরানো হয়েছে। আপনি এখন একটি প্রকার উল্লেখ না করে এটি ব্যবহার করতে পারেন। ( Ib60c8 )
  • drawLayer-এর সুবিধা হিসেবে Modifier.scale/rotate API যোগ করা হয়েছে।
    • Modifier.drawOpacity নাম পরিবর্তন করে Modifier.alpha রাখা হয়েছে
    • Modifier.drawShadow নাম পরিবর্তন করে Modifier.shadow করা হয়েছে ( I264ca , b/173208140 )
  • Made PointerInputData's uptime and position fields non-nullable. ( Id468a )
  • MaterialTheme এখন নির্বাচন হ্যান্ডেল এবং নির্বাচন পটভূমির জন্য সঠিক রং সেট করে। নন-মেটেরিয়াল অ্যাপগুলি নির্বাচনের জন্য ব্যবহৃত রঙগুলি কাস্টমাইজ করতে অ্যাম্বিয়েন্ট টেক্সট সিলেকশন কালার ম্যানুয়ালি ব্যবহার করতে পারে। ( I1e6f4 , b/139320372 , b/139320907 )
  • Added WindowManager.isWindowFocused to check if the host window is in focus, and a WindowFocusObserver that provides an onWindowFocusChanged callback. ( I53b2a , b/170932874 )
  • Updated TransformOrigin API to have destructuring syntax to return pivotFractionX and pivotFractionY as component1 and component2 ( If43c4 , b/173586560 )
  • রচনা নির্দেশিকাগুলির সাথে সামঞ্জস্যতা পরীক্ষা করতে কম্পোজযোগ্য ল্যাম্বডা প্যারামিটারের নামকরণ এবং অবস্থানের জন্য লিন্ট চেক যুক্ত করা হয়েছে। এছাড়াও লিন্ট চেক এবং নির্দেশিকা অনুসারে, কিছু এপিআই স্থানান্তরিত করেছে children নাম হিসাবে তাদের পিছনের ল্যাম্বডা content ব্যবহার করে। ( Iec48e )
  • Added API to check if Alt, Ctrl, Meta or Shift modifier keys were pressed when a keyevent was dispatched. ( I50ed9 )
  • একটি নতুন Modifier.drawLayer() ওভারলোড যোগ করা হয়েছে৷ এটি একটি নতুন GraphicsLayerScope-এ একটি ল্যাম্বডা ব্লক লাগে যেখানে আপনি স্তরের পরামিতিগুলিকে এমনভাবে সংজ্ঞায়িত করেন যা রাষ্ট্রের পরিবর্তন ঘটলে পুনর্গঠন এবং রিলেআউট এড়ানোর অনুমতি দেয়। DrawLayerModifier এখন LayoutModifier ( I15e9f , b/173030831 ) এর placeable.placeWithLayer() পদ্ধতিতে এর যুক্তি স্থানান্তর করার প্রস্তুতির জন্য অভ্যন্তরীণ।
  • Ambient সাথে তাদের প্রত্যয় হিসাবে নাম দেওয়া অ্যাম্বিয়েন্টগুলিকে অবমূল্যায়িত করা হয়েছে এবং অন্যান্য অ্যাম্বিয়েন্ট এবং রচনা API নির্দেশিকা অনুসরণ করে অ্যাম্বিয়েন্টের সাথে প্রিফিক্স করা নতুন বৈশিষ্ট্যগুলির সাথে প্রতিস্থাপিত হয়েছে৷ ( I33440 )
  • Moved androidx.compose.ui.text.Typeface to androidx.compose.ui.text.font.Typeface ( Ic2b81 )
  • শব্দার্থতত্ত্বের যুক্তি মার্জঅলডেসেন্ড্যান্ট-এর নাম পরিবর্তন করে মার্জ ডিসেন্ডেন্ট করা হয়েছে। ( Ib6250 )
  • New drag gesture detector suspending pointer input API, including orientation locking. ( Icef25 )
  • Renamed VectorAsset to ImageVector Moved and renamed VectorAsset to Builder to be an inner class of ImageVector as per API guidelines. কম্প্যাটের জন্য ImageVector.Builder লিঙ্ক করতে VectorAssetBuilder-এর টাইপলিয়াস যোগ করা হয়েছে। ( আইসিএফডিসি৮ )
  • ImageBitmap এ ImageAsset এবং সম্পর্কিত পদ্ধতির নাম পরিবর্তন করা হয়েছে। ( IA2d99 )
  • Add zIndex param for the PlacementScope's place() so Modifier.zIndex() now works as a LayoutModifier and any custom layout can set zIndexes for their children right in the placement block ( I711f7 , b/171493718 )
  • ফাউন্ডেশনের শব্দার্থবিদ্যার বৈশিষ্ট্য UI ( I6f05c ) এ সরানো হয়েছে
  • Deprecate place(Offset) and placeRelative(Offset). Use overloads with int offsets instead ( I4c5e7 )
  • Previously Deprecated APIs were removed: Modifier.onPositioned was removed, use Modifier.onGloballyPositioned. Modifier.onDraw was removed, use Modifier.onDrawBehind. Modifier.plus was removed, use Modifier.then. Color.Unset was removed, use Color.Unspecified. PxBounds class was removed, use Rect instead. ( Ie9d02 , b/172562222 )
  • প্রান্তিককরণ ইন্টারফেস আপডেট করা হয়েছে এবং কার্যকরী করা হয়েছে। ( I46a07 , b/172311734 )
  • Gesture detector for tap, double-tap, long press, and press indication were added using the new suspending pointer input. A few utilities were added as well, making it easier for developers to write their own gesture detectors. ( I00807 )
  • id was renamed to layoutId for LayoutIdParentData . Measurable.id was renamed to Measurable.layoutId . ( আইএডিবিসিবি , বি/172449643 )
  • New multitouch gesture detector, including helpers for detecting rotation, zoom, and panning. ( Ic459d )
  • SweepGradientShader এবং SweepGradientBrush APIs চালু করা হয়েছে। ( IA22c1 )
  • পরীক্ষায় সময় নিয়ন্ত্রণ (TestAnimationClock এবং এর ব্যবহার) এখন পরীক্ষামূলক ( I6ef86 , b/171378521 )
  • Add coroutine-based scrolling APIs:

    Adds LazyListState.snapToItem and LazyListState.smoothScrollBy, as well as lower-level APIs for scroll control. These APIs provide a suspend interface to control scrolling that waits until the scroll is finished before returning. ( Ie5642 )

  • Modifier.focusable has need added in foundation. Use this to add focusable behavior to a component, with correct semantics and accessibility. ( I41eb9 , b/152525426 , b/162865824 )

  • Provide default implementations of methods and properties in AnimationClockTestRule that can be delegated to its clock ( I7ea3d , b/173399709 )

  • AndroidComposeTestRule can now accept custom activity launchers ( Ib8288 , b/153623653 , b/154135019 )

  • TextLayoutResult.getLineVisibleEnd is deprecated. As a replacement TextLayoutResult.getLineEnd now has a new parameter visibleEnd. ( I73282 )

  • আপডেট করা TextFieldValue API

    • TextFieldValue.composition শুধুমাত্র পঠনযোগ্য
    • অপসারিত ব্যতিক্রম অবৈধ নির্বাচন পরিসরের জন্য নিক্ষেপ করা হয়েছে ( I4a675 , b/172239032 )
  • Support TtsAnnotation for text to speech engine. ( I54cc6 )

  • New APIs for running animations in coroutines ( Ied662 )

বাগ ফিক্স

  • বক্সের অ্যালাইনমেন্ট প্যারামিটারের নাম পরিবর্তন করে কনটেন্ট অ্যালাইনমেন্ট করা হয়েছে। ( I2c957 )
  • offsetPx সংশোধকদের নাম পরিবর্তন করে অফসেট করা হয়েছে। They are now taking lambda parameters instead of State. ( IC3021 , b/173594846 )
  • Added resetInput parameter to TextInputService#onStateUpdated ( I3e8f5 , b/172239032 , b/171860947 )
  • কম্পোজেবল ফাংশনে মডিফায়ার প্যারামিটারের জন্য লিন্ট চেক যোগ করা হয়েছে। এই লিন্ট চেক কম্পোজ নির্দেশিকাগুলির সাথে সামঞ্জস্যের জন্য নামকরণ, রিটার্ন টাইপ, ডিফল্ট মান এবং প্যারামিটারের ক্রম পরীক্ষা করে। ( If493b )
  • Temporarily added option to let the TestAnimationClock be driven by the MonotonicFrameClock ( I1403b , b/173402197 )
  • Added Android Typeface wrapper. You can load an Android Typeface via typeface function ie typeface(Typeface.DEFAULT) . Also renamed typefaceFromFontFamily() to typeface() ( I52ab7 )
  • Added lint check to check that Modifier factory functions are defined as extensions on Modifier, so they can be fluently chained together. ( I07981 )
  • পুরানো ui-টেস্ট মডিউল এবং এর স্টাবগুলি সরান ( I3a7cb )
  • Recomposer no longer accepts an EmbeddingContext; required scheduling dependencies are obtained from the effectCoroutineContext. FrameManager is deprecated; platform integrations should initialize their own global snapshot handling. ( I02369 )
  • Pass style information to accessibility node. ( If5e8d )
  • TextUnit.Inherit-এর নাম পরিবর্তন করে TextUnit করা হয়েছে।অন্যান্য ইউনিটের সাথে সামঞ্জস্যের জন্য অনির্দিষ্ট। ( Ifce19 )

Compose UI Version 1.0.0-alpha07

11 নভেম্বর, 2020

androidx.compose.ui:ui-*:1.0.0-alpha07 is released. Version 1.0.0-alpha07 contains these commits.

API Changes

  • Introduced ScaleFactor inline class to represent scale factors for the horizontal and vertical axes independent of one another in order to support non-uniform scaling use cases.
    • Added computeScaleFactor method to ContentScale
    • Added ContentScale.FillBounds to perform non-uniform scaling to stretch the src bounds to fully occupy the destination.
    • Added operator methods to compute ScaleFactor parameters with Size parameters.
    • ( Ic96a6 , b/172291582 )
  • The BiasAlignment and BiasAbsoluteAlignment factories for creating Alignments were added. ( Iac836 , b/169406772 )
  • Allow a developer to forcefully clear focus. ( I90372 )
  • A bug causing elevation not being drawn for Views inside Compose was fixed. ( If7782 )
  • Created onDrawBehind API within ContentDrawScope to match naming convention with Modifier.drawBehind. ( I4fc3a , b/171955269 )
  • Add support for camera distance to complement 3d transformations rotationX/rotationY on layer APIs. ( I40213 , b/171492100 )
  • Added SelectionContainer without the callback ( Ibfadb )
  • ExperimentalSubcomposeLayoutApi টীকাটি সরানো হয়েছে৷ SubcomposeLayout এখন @OptIn ( I708ad ) যোগ না করে ব্যবহার করা যেতে পারে
  • ফার্স্টবেসলাইন এবং লাস্টবেসলাইনকে androidx.compose.ui.layout প্যাকেজে ( Ied2e7 ) সরানো হয়েছে
  • Removed opacity from drawShadow() modifier as it was confusing. ( I82c62 , b/171624638 )
  • MeasureResult was moved out of MeasureScope. ( Ibf96d , b/171184002 )
  • Several layout related symbols were moved from androidx.compose.ui to androidx.compose.layout.ui. ( I0fa98 , b/170475424 )
  • Removed Deprecated FocusState2 ( I686cb , b/168686446 )
  • ZIndexModifier is now internal ( I1808b , b/171493718 )
  • Updated return type of lerp method on Size parameters to return a non-null Size to avoid unnecessary boxing. ( Ib0044 )
  • Added TestMonotonicFrameClock for testing code that relies on Compose's MonotonicFrameClock for awaiting composition frame events using kotlinx-coroutines-test's runBlockingTest ( I4402f )
  • Removed GestureScope.localToGlobal ( I15299 , b/171462785 )
  • Added onAllNodesWithSubstring finder ( I81dd7 , b/171462889 )
  • androidx.ui.test module deprecated. Please migrate to androidx.compose.ui.test and androidx.compose.ui.test.junit4 ( I452e8 )

Bug Fixes

  • captureToBitmap moved to captureToImage. ( I86385 )
  • foundation.Text অবচয় করা হয়েছে এবং material.Text দিয়ে প্রতিস্থাপিত হয়েছে। একটি মৌলিক, অবিকৃত পাঠ্য API এর জন্য যা একটি থিম থেকে মান গ্রহণ করে না, দেখুন androidx.compose.foundation.BasicText। ( if64cb )
  • কীবোর্ড অপশন গ্রহণ করতে পাঠ্যক্ষেত্র আপডেট করুন ( Ida7f3 )
  • কীবোর্ড বিকল্পগুলিকে ImeOptions হিসাবে পুনঃনামকরণ করুন ( I82f36 )
  • কীবোর্ড টাইপ এবং ImeAction কে কীবোর্ড অপশনে সরানো হয়েছে ( I910ce )
  • provideDefault was added as an alternative for providing ambients, and it can be used to specify ambient values that will only be set when there is no ambient value already provided. ( Id6635 , b/171024925 )
  • BaseTextField অবমুক্ত করা হয়েছে। পরিবর্তে BasicTextField ব্যবহার করুন। ( I896eb )
  • Introduce ui-test-junit4 module ( Ib91f8 )
  • relativePaddingFrom was renamed to paddingFrom . The paddingFromBaseline modifier was added, as convenience for specifying distances from layout bounds to text baselines. ( I0440a , b/170633813 )
  • LaunchedTask was renamed to LaunchedEffect for consistency with the SideEffect and DisposableEffect APIs. LaunchedEffect with no subject params is not permitted in order to encourage best practices. ( Ifd3d4 )
  • Introduced resources composable that recomposes when the configuration updates. ( I6387c , b/167352819 )
  • Recomposer now requires a CoroutineContext at construction ( Ic4610 )
  • Sum zIndex values when multiple Modifier.zIndex() applied. Previously the first one was winning. ( Ic514c , b/170623936 )
  • Changes to the internal SlotTable implementation which should not affect the public API. ( If9828 )
  • Added Keyboard auto correct IME Option ( I57b8d )
  • androidx.ui.test moved to androidx.compose.ui.test ( I9ffdb )
  • Removed KeyboardOptions.toImeOptions from public API. ( Ic2e45 )

External Contribution

  • Disabled publication of internal artifact androidx.compose.ui:ui-text-android ( Ib93fa )

Version 1.0.0-alpha06

অক্টোবর 28, 2020

androidx.compose.ui:ui-*:1.0.0-alpha06 is released. Version 1.0.0-alpha06 contains these commits.

এপিআই পরিবর্তন

  • Recomposer is now a CompositionReference and a valid composition parent. Explicit Recomposer is now required in fewer places. ( I4036f )
  • কমপোজেবল এপিআই অভ্যন্তরীণভাবে রচনাগুলি জুড়ে ডেটা অব্যাহত রাখার জন্য 'স্মরণ' উপার্জনের পক্ষে আরও ভালভাবে ইঙ্গিত করার জন্য ভেক্টরপেইন্টারকে স্মরণ করে। ( আইএফডিএ 43 )
  • Updated Modifier.drawWithCache API to expose ContentDrawScope as a receiver scope instead of DrawScope in order to provide implementations the ability to re-order drawing commands. This is useful for blending/ tinting use cases in which content pixels must be rendered first in order for the corresponding blend mode algorithm to be applied properly. ( Ie7ec8 )
  • Move SimpleContainer into PopupTestUtils.kt ( I78c57 )
  • ConsumedData is no longer a data class. See https://android-review.googlesource.com/c/platform/frameworks/support/+/1455219 for details ( I1737f )
  • Fix Rtl Handle Position. ( I6e1e0 )
  • বিমূর্ত শ্রেণীর পরিবর্তে ইন্টারফেস হতে রিফ্যাক্টরড ড্রস্কোপ এবং কন্টেন্টড্রডস্কোপ
    • ড্রেসস্কোপের ক্যানভাসড্রস্কোপ বাস্তবায়ন তৈরি করা হয়েছে
    • পরিবর্তে ক্যানভাস্কোপ ব্যবহার করতে ড্রস্কোপের রিফ্যাক্টরযুক্ত বাস্তবায়ন
    • ড্রস্কোপের জন্য নির্ভরতা মোড়ানোর জন্য ড্রকনটেক্সট তৈরি করেছে
    • ড্রস্কোপে অবনমিত পদ্ধতিগুলি সরানো হয়েছে ( i56f5e )
  • Breaking change: removed the return value from PointerInputFilter.onPointerEvent(...) given that the only value that should be able to be changed in pointer events is consumption data. Instead of returning data from PointerInputFilter.onPointerEvent(...) , now you can just mutate the consumption data of the PointerEvents passed in. ( I6acd0 )
  • MeasureScope and IntrinsicMeasureScope were made interfaces. ( I1a087 , b/170461665 )
  • The merge function for AlignmentLine was hidden. ( I9da1a , b/170612900 , b/170611568 )
  • Add ability to specify inspector info in composed modifier ( Idee08 , b/163494569 )
  • Added SelectAll option into selection menu ( Ief02b )
  • Updated DrawTransform.rotate to take a default pivot parameter of center to match the documentation.
    • Updated DrawScope.rotateRad to consume an Offset for the pivot point to match other transformation methods.
    • Deprecated DrawScope.rotateRad overload that consumed floats for the x and y coordinate of the pivot.
    • ( Iffcbb , b/170434992 )

Bug Fixes

  • API lint check for MissingGetterMatchingBuilder is enabled for androidx ( I4bbea , b/138602561 )
  • পরীক্ষা যোগ করুন। ( I6b8ae )
  • কমপোজেটস্ট্রুলে ট্রানজিশন সক্ষম করুন; কমপোজেটস্ট্রুল থেকে ব্লিংকিং কার্সার সক্ষম করতে বিকল্প সরান। ( If0de3 )
  • Added KeyboardCapitalization IME Option ( I8ac38 )
  • কোরটেক্সটফিল্ডে একক লাইন কীবোর্ড বিকল্প যুক্ত করা হয়েছে ( i72e6d )
  • Move SimpleContainer into PopupTestUtils.kt ( I65c3e )
  • এটি কমপোজ জুড়ে কীভাবে ব্যবহৃত হয় তা আরও ভালভাবে প্রকাশ করার জন্য রেডিয়াস এপিআইয়ের নামকরণ করা হয়। নেতিবাচক কর্নার রেডিয়াই শূন্যে ক্ল্যাম্প করা হয়েছে তা নির্দেশ করার জন্য আপডেট করা ডকুমেন্টেশন। ( I130c7 , বি/168762961 )
  • Improved Android interop by continuing to send MotionEvents to child Android Views that return false for onTouchEvent for all actions except ACTION_DOWN ( I94c5a , b/170320973 )
  • বাক্স একটি ইনলাইন ফাংশন তৈরি করা হয়েছিল। ( আইবিএস 0 সি , বি/155056091 )

External Contribution

  • Support different locales for AnnotatedString.capitalize and AnnotatedString.decapitalize ( I4aa7f )

Version 1.0.0-alpha05

অক্টোবর 14, 2020

androidx.compose.ui:ui-*:1.0.0-alpha05 is released. Version 1.0.0-alpha05 contains these commits.

API Changes

  • Add a DSL for specifying inspector information ( Ic9a22 )
  • Move LongPress into Text. ( Iff2bc )
  • Experimental Modifier.pointerInput suspending input modifier ( Ia77d2 )
  • Added Copy/Paste/Cut accessibility actions ( I6db4f )
  • Public constructor for AndroidOwner was removed ( Iacaef )
  • পপআপস এবং ডায়ালগগুলি এখন প্যারেন্ট উইন্ডো থেকে ফ্ল্যাগ_সেকিউর উত্তরাধিকারী। এটি স্পষ্টভাবে কনফিগার করার জন্য বিকল্প যুক্ত করেছে ( i64966 , বি/143778148 , বি/143778149 )
  • Consumption data is now mutable. Also calls to extension functions that do consumption now no longer return a new PointerInputChange, but instead mutate the provided PointerInputChange.

    This is the first step in a 2 step process to make PointerEvent data mutable such that other pointer data cannot be edited by user code. The second step will be to remove the List<PointerInputChange> return type from PointerInputFilter.onPointerEvent(...) . ( Id067e )

  • Disable Selection in Text, and a Demo. ( Ie7e97 )

  • Made onGloballyPositioned an inline function ( I15830 )

  • অনপজিশনডমোডিফায়ারটির নামকরণ করা হয় অনগ্লোবালিডিপিশনডমোডাইফায়ারে এবং অনপোশনড () এর নামকরণ করা হয় অনগ্লোবালি -পজিশনড () এ। ( I587e8 , বি/169083903 )

  • The hasPendingMeasureOrLayout property was added to Owner, telling whether the Owner has any pending layout work. ( I3d9f8 , b/169038599 )

  • Added API to programmatically clear focus ( Ie1dc2 , b/161487952 )

  • Removed PointerInputFilter.onPointerInput(...) . PointerInputFilter.onPointerEvent(...) should be used in its place. ( I6f04a )

  • Changes to Size

    • Removed Size.getFlipped
    • Removed Size.rem
    • Removed Size.truncDiv ( Ief44d , b/169790720 )
  • ইনলাইন ক্লাসগুলির জন্য সেন্টিনেল মানগুলির মানককরণের অংশ হিসাবে , রঙিন নামকরণ করুন un

  • টেক্সটওভারফ্লো.নোন চালু করা হয়। যখন ওভারফ্লো কোনও নয়, পাঠ্য আর ওভারফ্লো পরিচালনা করবে না এবং এটি এর প্রকৃত আকারটি লেআউটনোডে রিপোর্ট করবে। ( I175c9 , বি/158830170 )

  • The scope parameter within AnnotatedString.Builder.addStringAnnotation is renamed to tag for API consistency. ( I7c8cb )

Bug Fixes

  • The scrolling performance of LazyColumn/Row is improved by doing less work in subcomposition on every scroll. The new hasInvalidations() method was added for Composition class. hasPendingChanges() method from Recomposer was renamed to hasInvalidations() ( Ib2f32 , b/168293643 , b/167972292 , b/165028371 )
  • Updated Size.Unspecified parameters to be Float.NaN instead of Float.POSITIVE_INFINITY. Updated Painter implementations to check against Size.Unspecified as well as non-finite Sizes. ( I95a7e )
  • The order of place() calls in custom Layouts now defines the drawing order for the children ( Ibc9f6 )
  • Support AnnotatedString to SpannableString conversion for accessibility. ( Ief907 )
  • Added stubs for android classes that are on older platforms to avoid use of reflection when possible. ( Ia1790 )
  • Fixed bug: If the software keyboard showing caused the app to translate, pointer input coordinates would become incorrect. ( Ic4cec , b/163077821 )

Version 1.0.0-alpha04

অক্টোবর 1, 2020

androidx.compose.ui:ui-*:1.0.0-alpha04 is released. Version 1.0.0-alpha04 contains these commits.

API Changes

  • Added OwnerScope to allow collection of layout and drawing observation scopes once they are no longer valid. ( Ic4cf8 )
  • Added OnRemeasuredModifier and onSizeChanged() to receive a callback when content layout has been remeasured and the size has changed, respectively. ( I657cf , b/154108792 )
  • Add long click semantics action ( I6281b , b/156468846 )
  • Made FocusManager private. ( I7872f )
  • Updated implementation to create a dedicated DrawCacheModifier implementation instead of adding optional properties on DrawModifier.

    Updated documentation for various methods ( Ibd166 )

  • Make TextRange inline to avoid object creation. ( Id034b )

  • PlacementScope#parentWidth and PlacementScope#parentLayoutDirection can no longer be read from the placement block of a custom layout. ( Icc1ae , b/168295623 )

  • add AccessibilityScrollState to semantics properties. ( Ifeda9 )

  • Introduced Modifier.drawWithCache to support creating a drawing object that conditionally recreates dependencies that depend on size/state information ( I376dc )

  • ParagraphConstraints is removed. Width is directly passed to Paragraph now. ( Ica712 )

Bug Fixes

  • অনেক গ্রাফিক্স এপিআই আপডেট হয়েছে
    • আপডেট স্কেল এবং রোটেশন ট্রান্সফর্মেশন এপিআইগুলি ড্রস্কোপ এবং ড্রট্রান্সফর্মে এক্স/ওয়াই স্থানাঙ্কের জন্য পৃথক ফ্লোট প্যারামিটারগুলির পরিবর্তে পিভট সমন্বয়কে উপস্থাপন করতে একটি একক অফসেট প্যারামিটার গ্রহণ করতে
    • Rect.expandtoinclude এবং rect rect
    • উপবৃত্তাকার ছাড়াও ওভাল বলতে ব্যাসার্ধের ডকুমেন্টেশন আপডেট হয়েছে
    • ইনলাইন রেডিয়াস শ্রেণীর জন্য পাবলিক কনস্ট্রাক্টরকে নির্দেশ করতে যুক্ত ডকুমেন্টেশনগুলি সরাসরি ডাকা হবে না তবে পরিবর্তে ব্যাসার্ধের অবজেক্টগুলি তাদের ফাংশন কনস্ট্রাক্টরদের মাধ্যমে ইনস্ট্যান্ট করা উচিত
    • টপরাইট, নীচের অংশে, নীচের কেন্দ্রী ইত্যাদি কোয়েরিতে রাউন্ডরেক্ট এপিআই সরানো হয়েছে
    • Rect.translate এর পক্ষে অবমূল্যায়িত rect.shift
    • রাউন্ডরেক্ট.গ্রো এবং rect.shrink apis সরানো হয়েছে
    • Rect.boundingRect এ রাউন্ডরেক্ট.উটাররেক্টের নামকরণ করা হয়েছে
    • রাউন্ডরেক্ট.মিডলারেক্ট/টালমিডলারেক্ট/উইডেমিডলারেক্ট এবং রেক্ট.আইসস্টেডিয়াম পদ্ধতিগুলি সরানো হয়েছে
    • রাউন্ডরেক্টর নামকরণ
    • রাউন্ডরেক্টর নামকরণ
    • রাউন্ডরেক্ট.সেন্টার পরিবর্তিত হয়েছে কোনও ফাংশনের পরিবর্তে সম্পত্তি হিসাবে
    • এক্স/ওয়াই ব্যাসার্ধের মানগুলির জন্য পৃথক পরামিতিগুলির পরিবর্তে ব্যাসার্ধের বৈশিষ্ট্যগুলি গ্রাস করতে আপডেট হওয়া রাউন্ডরেক্ট কনস্ট্রাক্টর
    • অপসারণ আকারের এপিআই যা ধরে নিয়েছিল এটি 0,0 এ উত্স সহ একটি আয়তক্ষেত্র ছিল
    • ব্যাসার্ধে একটি ধ্বংসাত্মক এপিআই যুক্ত করেছেন
    • পরিবর্তে বিভিন্ন রাউন্ডরেক্ট এক্সটেনশন ফাংশনগুলি স্থানান্তরিত করে
    • ( I8f5c7 , বি/168762961 )
  • ফাউন্ডেশন.বক্স অবমূল্যায়ন করা হয়েছিল। পরিবর্তে ফাউন্ডেশন.লআউট.বক্স ব্যবহার করুন। ( আই 5950 , বি/167680279 )
  • স্ট্যাকের নামকরণ করা হয়েছিল বক্সে। পূর্বে বিদ্যমান বাক্সটি কমপোজ.ফাউন্ডেশন.লয়আউটে নতুন বাক্সের পক্ষে হ্রাস করা হবে। নতুন বাক্সের আচরণটি হ'ল বাচ্চাদের একের উপরে শীর্ষে স্ট্যাক করা যখন এটির একাধিক বাচ্চা থাকে - এটি পূর্ববর্তী বাক্সের চেয়ে আলাদা, যা একটি কলামের মতো আচরণ করছিল। ( I94893 , বি/167680279 )
  • বক্স সজ্জা পরামিতিগুলি হ্রাস করা হয়েছে। আপনি যদি আপনার বাক্সে সজ্জা/প্যাডিং রাখতে চান তবে পরিবর্তে মডিফায়ারগুলি ব্যবহার করুন (মডিফায়ার.ব্যাকগ্রাউন্ড, মডিফায়ার.বার্ডার, মডিফায়ার.প্যাডিং) ( আইবিএই 92 , বি/167680279 )
  • অনেক গ্রাফিক্স এপিআই আপডেট হয়েছে
    • স্কোপড ট্রান্সফর্মেশন পদ্ধতিগুলির সাথে ড্রস্কোপ এপিআই আপডেট করা হয়েছে যে রূপান্তরটি কেবল কলব্যাকের মধ্যেই প্রয়োগ করা হয় এবং কলব্যাকটি অনুরোধ করার পরে সরানো হয় তা নির্দেশ করে
    • বৃত্তাকার আয়তক্ষেত্রের পরিবর্তে পথটি উল্লেখ করতে ক্লিপথ ডকুমেন্টেশন আপডেট করা হয়েছে
    • ক্লিপাতে ডান প্যারামিটারের জন্য ডকুমেন্টেশনে স্থির ব্যবধান
    • ড্রিনটোকানভাস এবং সরানো আকারের প্যারামিটারে ড্রস্কোপ.ড্রোকানভাসের নামকরণ করুন
    • অনুভূমিক এবং উল্লম্বভাবে ইনসেট পদ্ধতিতে ডিএক্স/ডিওয়াই প্যারামিটারগুলির নামকরণ করা হয়েছে
    • যুক্ত ইনসেট ওভারলোড যা সমস্ত 4 বাউন্ডে একই ইনসেট মান সরবরাহ করে
    • ইনসেট পদ্ধতিতে ডকুমেন্টেশন সরানো হয়েছে যা নির্দেশ করে যে ইনসেটটি 4 টি পক্ষের জন্য প্রয়োগ করা হবে
    • রেক্ট ক্লাসের জন্য আপডেট ডকুমেন্টেশন
    • কেডিওসি শৈলীর সাথে মেলে রেক প্যারামিটারগুলিতে আপডেট হওয়া মন্তব্যগুলি
    • Rect.join এবং rect.expandtoinclude সরানো হয়েছে
    • Rect.translate (অফসেট) এবং অবমূল্যায়িত rect.shift এর জন্য ওভারলোড তৈরি করা হয়েছে
    • ( If086a , খ/167737376 )
  • Annotated rootAnimationClockFactory, transitionsEnabled, blinkingCursorEnabled and textInputServiceFactory with @VisibleForTesting, make them internal API and hide their kdoc ( I554eb , b/168308412 )
  • Remove SelectionContainer from the Top to disable default selection and avoid unexpected behavior. One can specifically use a SelectionContainer to wrap the content that needs to be selectable instead. ( I8dfe0 , b/158459594 )

Version 1.0.0-alpha03

16 সেপ্টেম্বর, 2020

androidx.compose.ui:ui-*:1.0.0-alpha03 is released. Version 1.0.0-alpha03 contains these commits.

API Changes

  • ফরোয়ার্ড/পিছনের শব্দার্থবিজ্ঞানের ক্রিয়াগুলি স্ক্রোল করুন। অ্যাক্সেসিবিলিটিরেঞ্জ ইনফোতে পদক্ষেপ যুক্ত হয়েছে। ( আইএ 47 বি 0 )
  • Removed onInvalidate() from Owner -- OwnedLayer handles invalidation. ( Ica72b , b/162061312 )
  • Removed operator methods on Size API that consume Offset parameters. The result of these operations is unclear and the type of result is unexpected for these. যেমন should size - offset return an offset or a size result with the difference?

    Also removed deprecated methods on Size class. ( Iec902 , b/166514214 )

Bug Fixes

  • Fix for items of LazyColumn being incorrectly drawn sometimes, this was also causing crashes in some conditions. ( Ibcf17 , b/163066980 , b/165921895 )
  • এটি ব্যবহার করে ডিপকন্ট্রেন্টস এবং এপিআইগুলি হ্রাস করা হয়েছিল। ( I90cdb , খ/167389835 )
  • createAndroidComposeRule থেকে AndroidInputDispatcher ( আইডিএফ 08 , androidx.ui.test /164060572 androidx.ui.test.android
  • মহাকর্ষের ব্যবহারগুলি লেআউট এপিআইগুলিতে সারিবদ্ধ বা প্রান্তিককরণের জন্য ধারাবাহিকভাবে নামকরণ করা হয়েছিল। ( আই 2421 এ , বি/164077038 )
  • কমপোজেটস্ট্রুলে অননোড এবং অন্যান্য বৈশ্বিক পদ্ধতি যুক্ত করা হয়েছে কারণ বর্তমান বৈশ্বিক বিষয়গুলি হ্রাস পেতে চলেছে। ( Ieae36 )

Version 1.0.0-alpha02

2শে সেপ্টেম্বর, 2020

androidx.compose.ui:ui-*:1.0.0-alpha02 is released. Version 1.0.0-alpha02 contains these commits.

API Changes

  • remove callback to notify Owner when layoutnode bounds change. ( If654e , b/166106882 )
  • Added support for filltype parameters on vector graphics paths to support cutouts of shapes according to evenOdd or NonZero path fill rules. ( I43dd2 )
  • Uptime and Velocity are now inline classes ( I48f4a )
  • Duration is now an inline class ( I565eb )
  • Add a callback to notify Owner when layoutnode bounds change. ( Ic40b3 )
  • Fixed issue where Rect function constructor with Offset and radius would create the Rect in the order of left, right, top, bottom instead of left, top, right, bottom.

    Removed deprecated companion methods on Rect in favor of function constructors.

    Added tests to verify methods in Rect.kt ( I08460 , b/165822356 )

Bug Fixes

  • Added MutableRect, a rectangle that can be modified. ( I71bd2 , b/160140398 )
  • ম্যাট্রিক্স 4 ম্যাট্রিক্সের সাথে প্রতিস্থাপন করা হয়েছিল। ভেক্টরমথ প্যাকেজের অন্যান্য সমস্ত অংশ সরানো হয়েছে। ( আইবিডি 665 , বি/160140398 )
  • The calling convention for composable functions has changed. This is a binary breaking change. All libraries must be recompiled to work with this version of the compose compiler plugin.

    This change does not create a source level breaking change as the only APIs that have changed are compiler APIs that have an explicit opt in. ( I7afd2 , b/158123185 )

  • Fixed crash that could occur when dispatch to a PointerInputFilter could cause the PointerInputFilter to be synchronously removed. ( I58f25 )

Version 1.0.0-alpha01

আগস্ট 26, 2020

androidx.compose.ui:ui-*:1.0.0-alpha01 is released. Version 1.0.0-alpha01 contains these commits.

সংস্করণ 0.1.0-দেব

সংস্করণ 0.1.0-DEV17

আগস্ট 19, 2020

androidx.compose.ui:ui-*:0.1.0-dev17 is released. 0.1.0-DEV17 সংস্করণে এই কমিটগুলি রয়েছে।

API Changes

  • emitView was deprecated. Use AndroidView instead if possible for emitting Views inside Compose. Note that composing Views and ViewGroups directly will not be supported in the future unless these are leaves in the composition tree, case when this can be achieved using AndroidView. ( I29b1e , b/163871221 )
  • FocusState2 is deprecated and replaced by FocusState ( Ia8b79 , b/160822876 , b/160923332 )
  • The deprecated AndroidView overloads were removed. ( I946b9 , b/163802393 )
  • Custom emits can now declare that one or more of its setters can be skipped and recomposed independently of the emit. ( Ibbd13 )
  • Changed Vector classes to no longer be data classes as the same object instance is used for composition.

    Added mutableStateOf flag for VectorPainter to conditionally re-draw if contents of the vector change.

    Refactored VectorComponent instance to be part of VectorPainter as it is re-used across compositions.

    Updated GroupComponent and PathComponent to have their name fields be mutable ( Ieae45 , b/151378808 )

  • সরানো onChildPositioned এবং OnChildPositionedModifier । বিকাশকারীদের পরিবর্তে শিশু বিন্যাসে onPositioned এবং OnPositionedModifier ব্যবহার করা উচিত। ( I4522e , খ/162109766 )

  • Offset has become an inline class ( Iaec70 )

  • Added a modifier param to SelectionContainer ( I4aada , b/161487952 )

  • Removed deprecated FocusModifier ( I0b4ba , b/160922116 , b/160821157 , b/162441435 , b/160822875 , b/160921940 )

  • Added mergePolicy lambda to SemanticsPropertyKey . এটি মার্জিলডেসেন্ডেন্টস শব্দার্থবিজ্ঞানের মার্জিংয়ের জন্য একটি কাস্টম নীতি সংজ্ঞায়িত করতে ব্যবহার করা যেতে পারে। ডিফল্ট নীতি হ'ল ইতিমধ্যে উপস্থিত থাকলে পিতামাতার মানটি ব্যবহার করা, অন্যথায় সন্তানের মান। ( আইএএফ 6 সি 4 , বি/161979921 )

  • Constraints is now an inline class ( I88736 )

  • Added FocusManager that moves common focus logic out of AndroidComposeView ( I528ef , b/161487952 , b/162206799 )

  • Updated PointerEventPass names for Alpha release. ( Ifda6f )

  • IntOffset is now an inline class ( Iac0bf )

  • ইন্টসাইজ এখন একটি ইনলাইন ক্লাস ( আই 2 বিএফ 42 )

  • PlacementScope.placeAbsolute() নামকরণ করা হয়েছিল PlacementScope.place() এ, এবং পূর্ববর্তী PlacementScope.place() নামকরণ করা হয়েছিল PlacementScope.placeRelative() এ নামকরণ করা হয়েছিল। ফলস্বরূপ, PlacementScope.place() পদ্ধতিটি স্বয়ংক্রিয়ভাবে ডান-থেকে-বাম প্রসঙ্গে অবস্থানটি আর মিরর করবে না। যদি এটি পছন্দসই হয় তবে পরিবর্তে PlacementScope.placeRelative() ব্যবহার করুন। ( I873ac , খ/162916675 )

  • অ্যালার্টডিয়ালগ এখন বোতামগুলির জন্য ফ্লোরো ব্যবহার করে ( I00EC1 , B/161809319 , বি/143682374 )

  • Made some test utilities non public because they are not where they belong. Will be made public in the future. ( I32ab1 )

  • Refactored organization of pointer input code. ( Ie3f45 )

  • রেকর্ডের পক্ষে Pxbounds অবমূল্যায়িত। রেক্ট সহ পিএক্সবাউন্ডগুলির সমস্ত ব্যবহার আপডেট করেছেন এবং মাইগ্রেশনটিতে সহায়তা করার জন্য যথাযথ অবমূল্যায়ন/টীকাগুলির সাথে প্রতিস্থাপন যুক্ত করেছেন। ( I37038 , বি/162627058 )

  • Removed Deprecated KeyEvent2. Use KeyEvent instead. ( Ied2d0 , b/162097587 )

  • KeyEvent has a unicode property that can be used to get the unicode character generated by the specified key and meta key state combination ( If3afc )

  • Made the DelayUp custom event and related classes an opt in API as it is very likely going to be changed. ( I56d6f )

  • Removed 2 PointerEventPasses that are no longer needed. ( I3dd9d )

  • Add parameter color, shadow and TextDecoration to Paragraph.paint This function is useful to avoid unnecessary Paragraph recreation. ( I81689 )

Bug Fixes

  • টেক্সটফিল্ড থেকে অনফোকাসচ্যাঞ্জড কলব্যাকগুলি সরানো হয়েছে। পরিবর্তে Modifier.focusobserver ব্যবহার করুন। ( I51089 , বি/161297615 )
  • মডিফায়ার.ড্রোবার্ডারকে হ্রাস করা হয়েছে। পরিবর্তে Modifier.border ব্যবহার করুন। সীমান্তের ডেটা ক্লাসটি বর্ডারস্ট্রোক দ্বারা প্রতিস্থাপন করা হয়েছে ( আই 4257 ডি , বি/158160576 )
  • Removed deprecated FrameManager calls.

    Internal compose APIs have been changed to reduce the amount of overhead to track state objects such as mutableStateof() ( I80ba6 )

  • VerticalScroller and HorizontalScroller have been removed. Use ScrollableColumn/Row instead. Modifier.drawBackground has been removed. Use Modifier.background ( I73b0d , b/163019183 )

  • Crash when something which saves the state was used inside the for loop is fixed. Now having the same key in savedInstanceState() is allowed, api of UiSavedStateRegistry is now adjusted to this new requirement ( I4ab76 , b/160042650 , b/156853976 , b/159026663 , b/154920561 )

  • স্পষ্টতার জন্য state { ... } কমপোজেবল এখন সুস্পষ্ট কলগুলির পক্ষে অবমূল্যায়নযোগ্য remember { mutableStateOf(...) } এটি রাষ্ট্রীয় পরিচালনার জন্য সামগ্রিক এপিআই পৃষ্ঠ এবং ধারণার সংখ্যা হ্রাস করে এবং শ্রেণি সম্পত্তি প্রতিনিধি দলের জন্য by mutableStateOf() মেলে। ( Ia5727 )

  • আরও ভাল ফিট কমপোজ নামকরণ প্যাটার্নগুলিতে রাউন্ডরেক্টে আরআরেক্টের নামকরণ করা হয়েছে একই রকম ফাংশন কনস্ট্রাক্টরগুলি তৈরি করা এবং অবমূল্যায়িত আরআরেক্ট ফাংশন কনস্ট্রাক্টরস ( আই 5 ডি 325 )

সংস্করণ 0.1.0-DEV16

আগস্ট 5, 2020

androidx.compose.ui:ui-*:0.1.0-dev16 is released. 0.1.0-DEV16 সংস্করণে এই কমিটগুলি রয়েছে।

API Changes

  • অনচিল্ডপজিশনডকে অবমূল্যায়ন করা হয়েছে। পরিবর্তে সন্তানের উপর অনপোজড ব্যবহার করুন। ( I87f95 , বি/162109766 )
  • setViewContent was deprecated. setContent should be used instead. ( I7e497 , b/160335130 )
  • Added the AndroidViewBinding API for inflating and composing layout resources, based on ViewBinding. ( I081c6 )
  • KeyEvent2 is replaced by KeyEvent ( I2d770 , b/162097585 )
  • Added support for Alt hardware key ( I9036b )
  • FocusManager is Deprecated. Use Modifier.focus(), Modifier.focusObserver() and Modifier.focusRequester() instead. ( I74ae4 , b/162211322 )
  • loadVectorResource supports trimPath attributes ( I808fe )
  • ডায়ালগটি ইউআইতে সরান ( i47fa6 )
  • Removed 2 PointerEventPasses that are no longer needed. ( I33ca7 )
  • Implemented PointerInteropModifier which provides the ability to receive MotionEvents and interact with Compose as if you are an implementation of an Android View. ( Ieb08c )
  • Removed the deprecated tag modifier. Please use layoutId instead. ( Idaa05 , b/162023919 )
  • ডান থেকে বাম সমর্থনের জন্য এপিআইগুলি আপডেট করা হয়েছে। লেআউটডাইরেকশনম্বিয়েন্ট যুক্ত করা হয়েছে, যা লেআউটের দিকটি পড়তে এবং পরিবর্তন করতে ব্যবহার করা যেতে পারে। মডিফায়ার.আরটিএল এবং মডিফায়ার.এলটিআর সরানো হয়েছে। ( I080b3 )
  • Support path trimming in vector graphics ( Ie16c9 , b/158188351 )
  • Added Modifier.layout() that allows to create a custom layout modifier conveniently ( I73b69 , b/161355194 )
  • Added a new AndroidView API and deprecated the existing ones. ( I5bcfd )
  • Modifier.plus অবমূল্যায়ন করা হয়েছে, পরিবর্তে মডিফায়ার ব্যবহার করুন। এর পরিবর্তে। 'তারপরে' এর অর্ডার দেওয়ার আরও শক্তিশালী সংকেত রয়েছে , পাশাপাশি মডিফায়ার টাইপ করতে নিষেধ করে Modifier.padding().background() + anotherModifier
  • Add [Abstract]ComposeView View subclasses for hosting Compose content in a View hierarchy. ( I46357 )
  • Row and Column are now inline function significantly reducing the overhead of using them. ( I75c10 )
  • SubcomposeLayout is added. It is a low level primitive which allows to compose the children during the measuring if we want to use some values available only later during the measure for the subtree composition. For example WithConstraints is not implemented using SubcomposeLayout. ( I25cc8 )
  • Added SemanticsNode.positionInRoot to get the position of a SemanticsNode relative to the root of the Compose hierarchy ( Icdf26 , b/161336532 )
  • MotionEvents passed all the way through from Android, into Compose, and back into Android. ( I14be8 , b/158034713 )
  • Removed dropdownPopup. ( I00430 )
  • কাট-আউট ডিসপ্লেতে স্থির পপআপ অবস্থান। ( আইডিডি 7 ডিডি )
  • Add accessibility action to get TextLayoutResult ( I9d6e6 )
  • RemeasurementModifier added. it allows to synchronously remeasure the layout. In general you never need it as remeasure/relayout is happening automatically, but we use it inside LazyColumnItems during the scroll. ( I5f331 , b/160791058 )
  • Remove getLineEllipsisOffset/getLineEllipsisCount. Use getLineVisibleEnd/getLineEnd/isLineEllipsized instead. ( I85aa2 )
  • Add some Marks/Annotations for best practice reason. ( I66b20 )
  • expose more line APIs in TextLayoutResult. ( I79bd2 )
  • Built-in vector converters to convert built-in units are now accessible via Foo.VectorConverter. eg Dp.VectorConverter, Color.VectorConverter, Float.VectorConverter, etc ( I3e273 )

বাগ ফিক্স

  • ঠিকানা ব্রড এপিআই ফিক্সগুলি ( i077bc )
    1. অব্যবহৃত অফসেটবেস ইন্টারফেস সরান
    2. একটি ধারাবাহিক এপিআই পৃষ্ঠের জন্য অফসেট এবং ইনফসেট ক্লাসগুলি সারিবদ্ধ করুন
    3. অফসেট.ওরিগিনকে নামকরণ করুন ইনফসেট.জেরো অফসেট এপিআইয়ের সাথে সামঞ্জস্যপূর্ণ হতে
    4. গ্রাহকদের তাদের নিজস্ব ক্যানভাস উদাহরণ তৈরি করতে সহায়তা করার জন্য ক্যানভাস ইন্টারফেসের বাইরে নাটিভেকানভাস পদ্ধতিটি সরানো হয়েছে
    5. রিফ্যাক্টর ড্রস্কোপকে ল্যাটআইনিটের পরিবর্তে নন-নাল প্যারামিটার হতে এবং ক্ষেত্রের নন-নালিবিলিটি নিশ্চিত করার জন্য স্টাব খালিকানভাস শ্রেণি তৈরি করেছে
    6. পাস্কাল কেস হতে ক্লিপপ এনাম নামকরণ
    7. পাস্কাল কেস হিসাবে ফিল্টারকুয়ালি এনাম নামকরণ করা হয়েছে
    8. পাস্কাল কেস হওয়ার জন্য স্ট্রোকজয়াইন এনামগুলির নামকরণ করা হয়েছে
    9. প্যাসাল কেস হতে পয়েন্টমোড এনাম নামকরণ
    10. প্যাসাল কেস হতে পেইন্টিং স্টাইল এনাম নামকরণ
    11. পাস্কাল কেস হতে প্যাথফিলটাইপ এনামগুলির নামকরণ করা হয়েছে
    12. পাস্কাল কেস হতে স্ট্রোকক্যাপ এনামগুলির নামকরণ করা হয়েছে
    13. আর ল্যাটআইনিট প্যারামগুলি ব্যবহার করতে হবে না এমন ড্রাগাচে বাস্তবায়ন আপডেট করা হয়েছে
    14. ফিলপেইন্ট এবং স্ট্রোকপেইন্ট অভ্যন্তরীণ পরামিতিগুলির জন্য অলস প্রতিনিধি ব্যবহার করতে আর আপডেট করা ড্রস্কোপ
    15. কম ওভারহেডের জন্য বাক্সের ব্যবহার এড়াতে আপডেট হওয়া চিত্রটি কমপোজেবল
    16. @Immutable টীকাগুলি পেতে আপডেট আউটলাইন ক্লাস
    17. প্রতিটি পাথ নির্দেশের জন্য @immutable টীকাগুলি রাখতে আপডেট করা পথ
    18. সমতার জন্য অপ্রয়োজনীয় শর্তসাপেক্ষ চেকগুলি অপসারণ করতে আপডেট করা ভেক্টর সাবকোমপজিশনটি ইতিমধ্যে সেগুলি পরিচালনা করে
    19. ফাংশন কনস্ট্রাক্টরদের পক্ষে অবচয়
    20. @Immutable এবং @স্টেবল এপিআই সহ আপডেট ব্রাশ ক্লাস এবং ফাংশন কনস্ট্রাক্টর
    21. পাস্কালকেস হতে আপডেট করা ভার্টেক্সমোড এনাম
    22. শর্তসাপেক্ষভাবে পেইন্টে স্ট্রোক প্যারামিটারগুলি ওভাররাইট করার জন্য ড্রকস্কোপ সিলেক্টপেইন্ট পদ্ধতি আপডেট করা হয়েছে যদি সেগুলি পরিবর্তিত হয়
    23. ধ্বংসকারী এপিআই যুক্ত করতে আপডেট আকার, অনির্ধারিত এবং অপসারণ অব্যবহৃত পদ্ধতিগুলিতে অনির্ধারিত এবং অপসারণের নাম পরিবর্তন করুন
  • Updated compose BlendMode API consumption to properly map between Android framework BlendModes and PorterDuff modes depending on API level. Introduced BlendMode#isSupported API to act as a capability query to determine if the BlendMode is supported on the device before it is used. ( I0ef42 )
  • LazyItemScope was added for itemContent param of Lazy lists. It provides modifiers to fill the parent max size which solves the use case when the item should fill the viewport and the regular Modifier.fillMaxSize() doesn't work as the item is measured with infinity constraints. ( Ibd3b2 , b/162248854 )
  • সরানো SemanticsNodeInteraction.performPartialGesture পার্টিয়ালজেচার। পরিবর্তে SemanticsNodeInteraction.performGesture ব্যবহার করুন। ( আইডি 9 বি 62 )
  • LazyColumnItems was renamed to LazyColumnFor . LazyRowItems was renamed to LazyRowFor ( I84f84 )
  • foundation.shape.corner package was flattened to foundation.share ( I46491 , b/161887429 )
  • Renamed AndroidComposeTestRule to createAndroidComposeRule . ( I70aaf )
  • Added more APIs to TextLayoutResult . ( Id7e04 )
  • ম্যাটেরিয়াল FilledTextField নামকরণ করা হয়েছিল TextField এবং ফাউন্ডেশনাল TextField সর্বাধিক পছন্দসই এপিআই আবিষ্কার এবং ব্যবহার করা সহজ করার জন্য BaseTextField নামকরণ করা হয়েছিল ( আইএ 6242 , বি/155482676 )
  • মডিফায়ার.ড্রব্যাকগ্রাউন্ডের নামকরণ করা হয়েছে মডিফায়ার.ব্যাকগ্রাউন্ডে ( আই 13677 )

সংস্করণ 0.1.0-DEV15

22 জুলাই, 2020

androidx.compose.ui:ui-*:0.1.0-dev15 is released. সংস্করণ 0.1.0-DEV15 এর মধ্যে এই কমিট রয়েছে।

নির্ভরতা আপডেট

  • কমপোজের 0.1.0-dev15 সংস্করণটি ব্যবহার করতে, নির্ভরতা ঘোষণায় উপরে প্রদর্শিত নতুন কোড স্নিপেট অনুসারে আপনাকে আপনার নির্ভরতাগুলি আপডেট করতে হবে।

API Changes

  • FocusModifier is deprecated in favor of Modifier.focus, Modifier.focusRequester, Modifier.focusObserver. FocusState and FocusDetailedState are deprecated in favor of FocusState2 ( I46919 , b/160822875 , b/160922136 )
  • Added a modifier to observe focus state change. ( I05866 , b/160924455 , b/160923326 )
  • Added a modifier to request focus changes ( I8dd73 , b/161182057 , b/160924778 )
  • Ajdust the Toolbar Menu to show copy, cut, paste properly. ( Id3955 )
  • Single-value semantics properties now use a calling style. For example, 'semantics { hidden = true }' is now written as: semantics { hidden() } . ( Ic1afd , b/145951226 , b/145955412 )
  • Added Modifier.focus which replaces FocusModifier. ( Ib852a , b/160924778 )
  • Add FloatingToolbar for TextField Selection. ( Ie8b07 )
  • Added an experimental api annotation for key input related API ( I53c0a )
  • Added an experimental api annotation for all Focus-related API ( I53b24 , b/160903352 )
  • Added FocusState2 which will replace FocusDetailedState ( I0a3ba , b/160822595 )
  • Added ExperimentalFocus which is an @OptIn annotation for Focus API. ( I1544b , b/160820961 )
  • An IntBounds unit class has been added, representing integer pixel bounds from layout. The API of PopupPositionProvider has been updated to use it. ( I0d8d0 , b/159596546 )
  • Applier now requires a clear() method for disposing compositions ( Ibe697 )
  • KeyEvent is deprecated and replaced by KeyEvent2 ( I68730 )
  • A new optional flag useUnmergedTree was added to test finders. ( I2ce48 )
  • Made LayoutNode experimental API ( I4f2e9 )
  • Added copy methods to various inline class types including:

    • অফসেট
    • আকার
    • ব্যাসার্ধ
    • গতি
    • ট্রান্সফর্ম অরিজিন

    • Deprecated Size.copy companion object method favor of instance copy method ( Ife290 , b/159905651 )

  • Popups, Dialogs and Menus are now inheriting the contextual MaterialTheme ( Ia3665 , b/156527485 )

  • TextDirection is renamed as ResolvedTextDirection ( I3ff38 )

  • Removed layout direction parameter from the measure block of the Layout() function. Layout direction is however available inside the callback through the measure scope object ( Ic7d9d )

  • Refactor SelectionHandles for reusing. ( I420e0 )

  • Clickable was removed. Use Modifier.clickable ( I84bdf )

  • TestTag and Semantics have been deleted. Use Modifier.testTag and Modifier.semantics instead ( I15ff0 , b/158841414 )

  • Prior to this change, the compose compiler plugin would non-trivially intercept calls to constructors inside of a @Composable function if there was an ( I5205a , b/158123804 )

  • Modifier.tag was renamed to Modifier.layoutId, to avoid confusion with Modifier.testTag. ( I995f0 )

  • Alignment line Int positions returned from Placeable#get(AlignmentLine) are now non-null. If the queried alignment line is missing, AlignmentLine.Unspecified will be returned. ( I896c5 , b/158134875 )

  • The AndroidView composable was added a modifier parameter. ( I48a88 , b/158746303 )

  • Semantics() is deprecated. Use Modifier.semantics() instead. ( I72407 , b/158841414 )

  • Add viewModel() composable which allows to create or get already created ViewModel similarly to how it works in Activity or Fragment ( I5fdd1 )

  • আইএনটিপিএক্সের ব্যবহার আইএনটি সহ প্রতিস্থাপন। ইনটঅফসেটের সাথে intpxposition প্রতিস্থাপন করা হয়েছে। INTPXSIZE intsize সঙ্গে প্রতিস্থাপন। ( আইবি 7 বি 44 )

  • আকারের তথ্য উপস্থাপনের জন্য ব্যবহৃত শ্রেণীর সংখ্যা একীভূত করার জন্য, পিএক্সসাইজের পরিবর্তে আকার শ্রেণীর ব্যবহারের মানকে মানিক করুন। এটি ভাসমান হিসাবে প্রতিনিধিত্বকারী প্রস্থ এবং উচ্চতা উপস্থাপনের জন্য 2 ভাসমান মানগুলি প্যাক করার জন্য দীর্ঘ সময় লাভের জন্য একটি ইনলাইন শ্রেণীর সুবিধা সরবরাহ করে। ( আইসি 0191 )

  • In order to consolidate the number of classes used to represent positioning information, standardize on usage of the Offset class instead of PxPosition. This provides the benefits of an inline class to leverage a long to pack 2 float values to represent x and y offsets represented as floats. ( I3ad98 )

  • Replaced usage of Px class in various compose classes as part of the large refactoring effort to only rely on Dp and primitive types for pixel parameters. Deleted Px class in its entirety ( I3ff33 )

  • Replaced usage of Px class in various compose classes as part of the large refactoring effort to only rely on Dp and primitive types for pixel parameters ( I086f4 )

  • Replaced usage of Px class in various compose classes as part of the large refactoring effort to only rely on Dp and primitive types for pixel parameters ( Id3434 )

  • Replaced usage of Px class in various compose classes as part of the large refactoring effort to only rely on Dp and primitive types for pixel parameters ( I97a5a )

  • TestTag is now deprecated. Use Modifier.testTag instead. ( If5110 , b/157173105 )

  • The default, no-op, implementation of ParentDataModifier#modifyParentData has been removed - it was equivalent to not implementing the interface in the first place. ( I0deaa )

  • Previously deprecated ScaleFit as removed. Use ContentScale instead. ( Ifbc5b )

  • Replaced usage of Px class in various compose classes as part of the large refactoring effort to only rely on Dp and primitive types for pixel parameters ( I19d02 )

  • ইউআই-ম্যাটারিয়ালে ড্রপডাউনম্যানু উপাদান যুক্ত করা হয়েছে, একটি উপাদান নকশা মেনু বাস্তবায়ন। ( I9bb3d )

  • Removed deprecated LayoutTag(), please use Modifier.tag() instead. Removed deprecated Modifier.matchParent(), please use Modifier.matchParentSize() instead. ( If8044 )

  • Replaced usage of Px class in various compose classes as part of the large refactoring effort to only rely on Dp and primitive types for pixel parameters ( I57bff )

  • Modifier.semantics has been undeprecated to allow usages for high level components. ( I4cfdc )

  • একীভূত ক্যানভাস্কোপ বাস্তবায়ন তাই এখন কেবল ড্রস্কোপ এবং কন্টেন্টড্রডস্কোপের নামকরণ করা ক্যানভাস্কোপকে ড্রস্কোপে নামকরণ করা হয়েছে। ঘনত্ব ইন্টারফেস বাস্তবায়নের জন্য আপডেট করা ড্রস্কোপ এবং লেআউটডাইরেকশন মুছে ফেলা অঙ্কিত ড্রয়স্কোপ সাবক্লাস কনটেন্টড্রড্রোপস পেইন্টার এবং পেইন্টরটারমোডাইফায়ারকে আরটিএল সম্পত্তি বজায় রাখার জন্য আপডেট করা হয়েছে কারণ ড্রস্কোপ এটি ম্যানুয়ালি সরবরাহ না করে ইতিমধ্যে সরবরাহ করে ( i1798e )

  • DoubleTapGestureFilter now disambiguates SingleTapGestureFilter across the tree. ( If92b1 )

  • Updated Alignment API and added support for absolute alignment (which does not auto-mirror in Rtl context) ( I38cd3 )

  • DrawLayer modifiers api has been changed: outlineShape renamed to shape and has the RectangleShape default value and now non-nullable; clipToOutline renamed to clip; clipToBounds removed as it is the same as clip == true with RectangleShape ( I7ef11 , b/155075735 )

  • Updated higher level compose APIs that expose a Canvas to expose CanvasScope instead. This removes the need for consumers to maintain their own Paint objects. For consumers that still require access to a Canvas they can use the drawCanvas extension method which provides a callback to issue drawing commands with the underlying Canvas. ( I80afd )

  • WithConstraints trailing lambda API has been changed. Now instead of two params it has a receiver scope which in addition to constraints and layoutDirection provides minWidth, maxWidth, minHeight and maxHeight properties in Dp ( I91b9a , b/149979702 )

  • Renamed LayoutModifier2 to LayoutModifier. ( Id29f3 )

  • Removed deprecated LayoutModifier interface. ( I2a9d6 )

  • Intrinsic measurements functions in Layout and LayoutModifier2 have an IntrinsicMeasureScope receiver now which provides intrinsics query API with implicitly propagated layout direction. ( Id9945 )

  • Layout and LayoutModifier children can be measured with a different layout direction. ( Ibd731 )

  • New Modifier.zIndex() is added to control the drawing order of the children within the same parent layout. elevation property on DrawLayerModifier is renamed to shadowElevation and doesn't control the drawing order anymore. The params order fo DrawShadow is changed: elevation is now the first one and the shape is the second one with a RectangleShape default. ( I20150 , b/152417501 )

  • Removed onSizeChange and onPositionChange in Owner. ( I5c718 )

  • Added Constraints2, a copy of Constraints that does only supports Int connstraints values rather than IntPx. IntPx will be removed and all integer constraints will be assumed to be pixels like Android.

    • Added IntSize as well, which will eventually replace IntPxSize. ( I4b43a )
  • Made Alignment instantiable with arbitrary values. Added 1D Alignments. ( Ia0c05 )

  • alignToSiblings now accepts a Measured instead of Placeable. ( I5788d )

  • ( I45f09 , b/152842521 )

    • Renamed ScaleFit to ContentScale
    • Moved ContentScale from ui-graphics to ui-core module to live in the same module as the Alignment API.
    • Renamed FillMaxDimension to Crop
    • Renamed FillMinDimension to Fit
    • Renamed Fit to Inside to better match
    • ImageView.ScaleType equivalents
    • Added documentation indicating that the combination of Crop and Alignment.Center achieves the same result as ImageView.ScaleType.CENTER_CROP and Fit used with Alignment.Center achieves the same result as ImageView.ScaleType.FIT_CENTER Inside used with Alignment.Center achieves the same result as ImageView.ScaleType.CENTER_INSIDE
  • Rtl support for draw modifiers. ( I0aaf9 )

  • Released API for inflating Android Views from XML. See ViewInCompose demo for more details. ( I42916 )

  • Improve DrawModifier API:

    • Made the receiver scope for draw() ContentDrawScope
    • Removed all parameters on draw()
    • DrawScope has same interface as former CanvasScope
    • ContentDrawScope has drawContent() method ( Ibaced , b/152919067 )
  • Added positionInParent and boundsInParent for LayoutCoordinates. ( Icacdd , b/152735784 )

  • DrawLayerModifier and drawLayer() now default clipToBounds and clipToOutline to false. ( I0eb8b , b/152810850 )

  • Renamed LayoutResult to MeasureResult. ( Id8c68 )

  • Added LayoutModifier2, a new API for defining layout modifiers; deprecated LayoutModifier ( If32ac )

  • Replaced Modifier plus operator with factory extension functions ( I225e4 )

  • Added translationX/Y properties to support offseting the display list of drawing commands for a given Layer. This is useful to move content in response to animations or touch events. ( I8641c )

  • Added pivotX, pivotY parameters to Layer APIs to support rotation and scaling around a particular point on a layer ( Icf7c3 )

  • Add OnPositionedModifier and OnChildPositionedModifier to replace OnPositioned and OnChildPositioned composable functions. ( I2ec8f )

  • Added LayerModifier, a modifier that allows adding a RenderNode for a Layout. It allows setting clipping, opacity, rotation, scaling, and shadows. This will replace RepaintBoundary. ( I7100d , b/150774014 )

  • Made the layout direction be propagated from parent layout node to children. Added layout direction modifier. ( I3d955 )

  • Stack component supports right-to-left directionality ( Ic9e00 )

  • Initial support for Rtl in Compose layout ( Ia5519 )

  • Density and DensityScope were merged into one interface. Instead of ambientDensity() you can now use DensityAmbient.current. Instead of withDensity(density) just with(density) ( I11cb1 )

  • Changed LayoutCoordinates to make providedAlignmentLines a Set instead of a Map and have LayoutCoordinates implement the get() operator instead for retrieving a value. This makes it easier for modifiers to modify one or more value of the set without creating a new collection for each modifier. ( I0245a )

  • LayoutCoordinates no longer has a position property. The position property does not make sense when considering LayoutModifiers, rotation, or scaling. Instead, developers should use parentCoordinates and childToLocal() to calculate the transform from one LayoutCoordinate to another.

    LayoutCoordinates uses IntPxSize for the size property instead of PxSize. Layouts use integer pixel sizes for layouts, so all layout sizes should use integers and not floating point values. ( I9367b )

  • Improvements to the API surface of Constraints ( I0fd15 )

  • Created CanvasScope API that wraps a Canvas object to expose a stateless, declarative drawing API surface. Transformations are contained within their own receiver scope and sizing information is also scoped to corresponding inset bounds. It does not require a consumer to maintain its own Paint state object for configuring drawing operations.

    • Added CanvasScopeSample as well as updated the demo app to include a declarative graphics demo ( Ifd86d )
  • Removed unused MaskFilter API as it has limited usage and is not optimized for hardware acceleration in most use cases ( I54f76 )

  • RectangleShape moved from androidx.ui.foundation.shape.* to androidx.ui.graphics.* ( Ia74d5 , b/154507984 )

  • নালার পরিবর্তে নাল ( আইএবিএএ 7 ) এর পরিবর্তে নন-নালযোগ্য এবং ব্যবহারযোগ্য রঙ un

  • Introduce additional optional rect parameter to ImagePainter to support drawing a subsection of underlying ImageAsset ( I0ea9e )

  • Added Unset Color to represent an unset value without boxing Colors. ( If901a )

  • Added Canvas.rotate and Canvas.scale extension methods to consume optional pivot coordinates for transformations. These default to the top left corner of the current canvas translation.

    Also moved Canvas.rotateRad to be an extension method for consistency ( Ibaca6 )

  • Created PixelMap API to support querying pixel information from an ImageAsset. ( I69ad6 )

  • Renamed toFrameworkRect/toFrameworkRectF to toAndroidRect/toAndroidRectF to match naming convention for object conversions between compose and the Android framework APIs they are built on top of. Also updated docs on these APIs ( I86337 )

  • Added VectorPainter API to replace existing subcomposition API for vector graphics. Result of subcomposition is a VectorPainter object instead of a DrawModifier. Deprecated previous DrawVector composables in favor of VectorPainter.

    Renamed Image(Painter) API to PaintBox(Painter) Created Vector composable that behaves like the Image composable except with a VectorAsset instead of an ImageAsset ( I9af9a , b/149030271 )

  • Renamed Image to ImageAsset to better differentiate the difference between the Image data and the upcoming Image composable used to participate in layout and draw content. _Body:Created extension method on android.graphics.Bitmap, Bitmap.asImageAsset(), to create an instance of an ImageAsset useful for combining traditional Android application development with the compose framework ( Id5bbd )

  • Added TextDirection.Content ( I48f36 )

  • Added TextDecoration.plus operator ( I0ad1a )

  • Force is removed from TextDirectionAlgorithm enum values ( Icc944 )

  • TextDirectionAlgorithm is renamed as TextDirection ( I75ce8 )

  • Implements LongPressAndDrag for TextField Selection. ( I17919 )

  • Added AnnotatedString.getStringAnnotations that returns all annotations within the range. ( I1fa00 )

  • Changed the package name for Locale and LocaleList from androidx.ui.text to androidx.ui.intl ( I8132c )

  • TextField's cursor has a blinking animation ( Id10a7 )

  • API change: AnnotatedString(builder: Builder) is renamed to annotatedString(builder: Builder). ( Ia6377 )

  • API change: AnnotatedString.Item is renamed to AnnotatedString.Range. ( I2d44d )

  • Rename AnnotatedString.Builder.addAnnotationString to addStringAnnotation. ( I5059e )

  • Now it is possible to hide/show software keyboard by using SoftwareKeyboardController which is delivered by onTextInputStarted callback ( I8dc44 , b/151860051 )

  • Added plus operator for (Text/Paragraph/Span)Style which delegates to merge() function. ( Ia1add )

  • FontWeight.lerp does not snap anymore. It is still a data class. ( I521c2 )

  • FontWeight constructor is now public, it is not data class anymore. ( Id6b1f )

  • Add getLineStart, getLineEnd, getEllipsisOffset and getEllipsisCount to TextLayoutResult ( Ibc801 )

  • ui-text module is renamed as ui-text-core ( I57dec )

  • Removed unused Size class as there is a duplicate Size class in the ui-geometry module that is being consumed. ( I1b602 )

  • Added AdapterList, a scrolling list component that only composes and lays out the visible items. Currently known issues include that it is vertical-only and does not fully handle all cases of changes to its children. ( Ib351b )

  • Add paddings, border, shape and background param to Box ( I05027 , b/148147281 )

Bug Fixes

  • টেক্সট ফিল্ডগুলিতে অনফোকাসচেঞ্জ কলব্যাক অনফোকাস চ্যাঞ্জডে নামকরণ করা হয়েছে ( আইডিএ 4 এ 1 )
  • VerticalScroller and HoriziontalScroller have been deprecated. Use ScrollableColumn and ScrollableRow for build-in experience with Column/Row behaviour and parameters, or Modifier.verticalScroll and Modifier.horizontalScroll on your own element. Similarly, ScrollerPosition has been deprecated in favor of ScrollState' ( I400ce , b/157225838 , b/149460415 , b/154105299 )
  • runOnIdleCompose renamed to runOnIdle ( I83607 )
  • Several testing APIs were renamed to be more intuitive. All findXYZ APIs were renamed to onNodeXYZ. All doXYZ APIs were renamed to performXYZ. ( I7f164 )
  • Compose UI can now be composed inside ViewGroups without requiring a new composition. See ViewInteropDemo for an example. ( I9ab0b , b/160455080 )
  • Added sortWith and removeRange to MutableVector ( Icccf7 )
  • Implement Drag Selection Handles to change selection for TextField. ( I27032 )
  • Removed Shader inline class that wrapped the NativeShader expect class Renamed NativeShader to Shader. The wrapped Shader inline class did not add anything valuable to the API surface and was an inline class, so use the NativeShader class directly. ( I25e4d )
  • Refactored PainterModifier to no longer provide scaling based on the given constraints and ContentScale parameter. Implementations of Painter are to scale their drawing content themselves based on the given size of the DrawScope they are drawing into.

    Fixed issue where VectorPainter's cache bitmap was sized to its default size instead of the given size to draw into.

    Updated ImagePainter to scale its content instead of relying on PainterModifier to do so on its behalf. ( I6ba90 )

  • add top-level withFrameNanos function for animation timing ( Ie34c5 )

  • @Untracked annotation has been deprecated. Replace with @ComposableContract(tracked=false) ( Id211e )

  • androidx.ui.foundation.textfieldvalue এবং androidx.ui.input.editorvalue অবমূল্যায়ন করা হয়। টেক্সটফিল্ড, ভরাট টেক্সটফিল্ড এবং কোরটেক্সটফিল্ড কমপোজেবলগুলি যা সেই ধরণের ব্যবহার করে তাও হ্রাস করা হয়। এর পরিবর্তে অ্যান্ড্রয়েডএক্স.ইউআই.ইনপুট.টেক্সটফিল্ডভ্যালু ব্যবহার করুন ( আই 4066 ডি , বি/155211005 )

  • Fixed issue where pointer input dispatch would cause a crash if PointerInputFilters were removed via subcomposition during disptach. এটা এখন ঠিক করা হয়েছে। ( I1f48b , b/157998762 )

  • Fixed issue where pointer input dispatch would cause a crash if PointerInputFilters were removed via subcomposition during disptach. এটা এখন ঠিক করা হয়েছে। ( Iab398 , b/157998762 )

  • Refactored Radius class to be an inline class. Removed companion creation methods in favor of function constructor with default parameter to have the radius along the y-axis match that of the mandatory x-axis radius parameter.

    Updated DrawScope.drawRoundRect to consume a single Radius parameter instead of 2 separate float values for the radius along the x and y axis ( I46d1b )

  • The Recompose composable is no longer a useful abstraction. Most recomposition should happen as a result of MutableState assignments. For anything beyond that, it is recommended that you use the invalidate function to trigger a recomposition of the current scope. ( Ifc992 )

  • Replaced usage of Px class in various compose classes as part of the large refactoring effort to only rely on Dp and primitive types for pixel parameters ( Iede0b )

  • Changes the code generation strategy of Compose's compiler. Prior to the change, the compose compiler would transform calls to composable functions. With this change, we now transform the body of a composable function and leave the callsite unaltered (mostly).

    This means that most of the logic communicating with the compose runtime happens at the start of the function body, instead of at the callsite.

    This should be a source-compatible change for all usage of compose. Most users of compose should not have to update any code as a result of this change.

    In order to support this work, the JVM signature of all composable functions has changed. A Composable function accepting a single parameter is transformed into a function accepting 3 parameters, the additional parameters are the Composer, a 'key' integer. a bitmask integer used to propagate metadata through calls.

    Compose now also transforms default arguments to a composable function. It does this without introducing an additional synthetic default overload of the function itself, so this change will result in fewer functions being defined.

    Known intentional behavioral changes resulting from this:

    1. Some calls will skip where they wouldn't have previously
    2. Composable expressions in default argument expressions are now correctly subscribed to and handled

    This work included some optimizations: 1. The result of comparisons of parameters are propagated through the call graph to other composable functions. This will result in fewer comparisons at runtime, reduces the slot table size, as well as more skipping of composable functions that were previously not skipped 2. Paremeters which are determined to be “static” at compile time are no longer compared or stored in the রানটাইম This reduces the number of comparisons and reduces slot table size. 3. Control flow structure of the body of functions is used to minimize the number of groups that are generated. This reduces slot table size and results in less work for the runtime 4. Unused dispatch and receiver parameters to functions are not included in determining skippability of the function if they are not used inside of the body of the function.

    Most breaking changes were for APIs that the compiler targets directly, and typical use of compose will not be affected: 1. Composer::startExpr was removed 2. Composer::endExpr was removed 3. Composer::call was deprecated 4. The non-varargs overloads of key have been removed. Use the vararg version going forward. 5. The Pivotal annotation was deprecated. Use key as a replacement. 6. ScopeUpdateScope::updateScope was changed to expect a Function3 instead of Function1 7. restartableFunction and restartableFunctionN were updated to include additional compile time parameters ( I60756 , b/143464846 )

  • Removed deprecated LayoutAlign modifiers. ( I10877 )

  • Removed RepaintBoundary in favor of DrawLayerModifier ( I00aa4 )

  • Button, FloatingActionButton and Clickable now have a separate enabled param. Some of the params on Button were renamed or reordered. ( I54b5a )

  • Replaced ButtonStyle with distinct functions and removed text (string) overload. See updated samples for usage information. ( If63ab , b/146478620 , b/146482131 )

  • Breaking changes to the ambients API. See log and Ambient<T> documentation for details ( I4c7ee , b/143769776 )

  • Changed the behavior of default TextDirection to be determined by LayoutDirection. ie If LayoutDirection is RTL, default TextDirection will be RTL. Previously it was TextDirection.ContentOrLtr/Rtl ( I4e803 )

  • Bug fix: When font weight and font style are nested on an AnnotatedString, text is not rendered correctly. ( I77a9d )

  • Adds commonly used parameters to Text(). If you are currently creating a local text style to pass a small number of these parameters, such as Text(style = TextStyle(textAlign = TextAlign.Center)), you can now just provide the parameters directly: Text(textAlign = TextAlign.Center) ( I82768 )

  • ui-android-text module is renamed as ui-text-android ( I68cbe )