মেটেরিয়াল লেখা

ব্যবহার করার জন্য রেডি মেটেরিয়াল ডিজাইন কম্পোনেন্ট দিয়ে Jetpack Compose UI তৈরি করুন। এটি হল Compose-এর উচ্চতর লেভেল এন্ট্রি পয়েন্ট, যা www.material.io-তে বর্ণিত কম্পোনেন্টগুলির সাথে ম্যাচ করে এমন কম্পোনেন্ট প্রদান করার জন্য ডিজাইন করা হয়েছে।
লেটেস্ট আপডেট স্টেবল রিলিজ রিলিজ ক্যান্ডিডেট বিটা রিলিজ আলফা রিলিজ
০৭ অক্টোবর, ২০২৬ ১.১২.১ - 1.13.0-beta01 -

গঠন

androidx-এর মধ্যে ৭টি Maven Group Id-এর কম্বিনেশন হল Compose. প্রতিটি গ্রুপে কার্যকারিতার একটি টার্গেট করা সাবসেট থাকে, প্রতিটি গ্রুপের নিজস্ব রিলিজ নোট থাকে।

এই সারণীতে গ্রুপ ও রিলিজ নোটের প্রতিটি সেটের লিঙ্ক ব্যাখ্যা করা হয়েছে।

গ্রুপবর্ণনা
compose.animationব্যবহারকারীর অভিজ্ঞতা আরও ভাল করতে Jetpack Compose অ্যাপ্লিকেশনে অ্যানিমেশন তৈরি করা।
compose.compilerKotlin কম্পাইলার প্লাগ-ইনের মাধ্যমে @Composable ফাংশন ট্রান্সফর্ম করুন এবং অপ্টিমাইজেশন চালু করুন।
compose.foundationবিল্ডিং ব্লক ব্যবহার করার জন্য রেডি এবং আপনার নিজস্ব ডিজাইন সিস্টেমের অংশ তৈরি করার জন্য ফাউন্ডেশন এক্সটেন্ড করে Jetpack Compose অ্যাপ্লিকেশন লিখুন।
compose.materialব্যবহার করার জন্য রেডি মেটেরিয়াল ডিজাইন কম্পোনেন্ট দিয়ে Jetpack Compose UI তৈরি করুন। এটি হল Compose-এর উচ্চতর লেভেল এন্ট্রি পয়েন্ট, যা www.material.io-তে বর্ণিত কম্পোনেন্টগুলির সাথে ম্যাচ করে এমন কম্পোনেন্ট প্রদান করার জন্য ডিজাইন করা হয়েছে।
compose.material3মেটেরিয়াল ডিজাইন ৩ কম্পোনেন্ট ব্যবহার করে Jetpack Compose UI তৈরি করুন, এটি হল মেটেরিয়াল ডিজাইনের পরবর্তী উন্নত ভার্সন। Material 3-এ আপডেট করা থিমিং ও কম্পোনেন্ট এবং ডায়নামিক কালারের মতো Material You পছন্দমতো সাজিয়ে নেওয়ার ফিচার অন্তর্ভুক্ত থাকে এবং এটি নতুন Android 12-এর ভিজ্যুয়াল স্টাইল ও সিস্টেম UI-এর সাথে সামঞ্জস্যপূর্ণ হওয়ার জন্য ডিজাইন করা হয়েছে।
compose.runtimeCompose-এর প্রোগ্রামিং মডেল ও স্টেট ম্যানেজমেন্টের মৌলিক বিল্ডিং ব্লক এবং টার্গেট করার জন্য Compose Compiler Plugin-এর মূল রানটাইম।
compose.uiলেআউট, ড্রয়িং ও ইনপুট সহ ডিভাইসের সাথে ইন্টার‍্যাক্ট করার জন্য প্রয়োজনীয় কম্পোজ UI-এর মৌলিক কম্পোনেন্ট।

ডিপেন্ডেন্সি ঘোষণা করা

Compose-এ কোনও ডিপেন্ডেন্সি যোগ করতে, আপনাকে অবশ্যই নিজের প্রোজেক্টে Google Maven রিপোজিটরি যোগ করতে হবে। আরও তথ্যের জন্য Google-এর Maven রিপোজিটরি পড়ুন।

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

খাঁজকাটা

dependencies {
    implementation "androidx.compose.material:material:1.12.1"
}

android {
    buildFeatures {
        compose true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.5.15"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

কোটলিন

dependencies {
    implementation("androidx.compose.material:material:1.12.1")
}

android {
    buildFeatures {
        compose = true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.5.15"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

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

মতামত

আপনার মতামত Jetpack-কে আরও ভালো করে তুলতে সাহায্য করে। আপনি যদি নতুন কোনও সমস্যা খুঁজে পান বা এই লাইব্রেরি উন্নত করার জন্য কোনও আইডিয়া থাকে, তাহলে আমাদের জানান। নতুন লাইব্রেরি তৈরি করার আগে এই লাইব্রেরিতে আগে থেকে থাকা সমস্যা দেখে নিন। আপনি তারকাচিহ্ন বোতামে ক্লিক করে আগে থেকে থাকা কোনও সমস্যাতে আপনার ভোট যোগ করতে পারবেন।

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

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

ভার্সন 1.13

ভার্সন 1.13.0-beta01

০৭ অক্টোবর, ২০২৬

androidx.compose.material:material-*:1.13.0-beta01 রিলিজ করা হয়েছে। 1.13.0-beta01 ভার্সনে এইসব কমিট রয়েছে।

API-তে পরিবর্তন

  • লাইব্রেরি এখন Kotlin 2.2-কে টার্গেট করে এবং kotlinc 2.2 (I82396, b/498369605) প্রয়োজন

ভার্সন 1.13.0-alpha03

৯ সেপ্টেম্বর, ২০২৬

androidx.compose.material:material-*:1.13.0-alpha03 রিলিজ করা হয়েছে। 1.13.0-alpha03 ভার্সনে এইসব কমিট রয়েছে।

API-তে পরিবর্তন

  • Material 2 টেক্সট ফিল্ড ওভারলোড যা value, onValueChange প্যারামিটার গ্রহণ করে তা বন্ধ করা হয়েছে। TextFieldState ব্যবহার করে স্টেট হোইস্ট করে এমন ওভারলোডে মাইগ্রেট করুন। (I6b841, b/556234973)

সমস্যার সমাধান

  • compileSdk-এর জন্য Compose লাইব্রেরি 37.1-এ আপডেট করা হয়েছে। এর জন্য Compose ব্যবহার করা compileSdk সব অ্যাপ ও লাইব্রেরির জন্য ট্রানজিটিভ আপডেট প্রয়োজন হবে। (I05b0f)
  • TextObfuscationMode.RevealLastTyped-এর পরিবর্তে TextObfuscationMode.System-কে ডিফল্ট অস্পষ্টতা মোড হিসেবে ব্যবহার করতে SecureTextField ও OutlinedSecureTextField কম্পোনেন্ট (পাশাপাশি, বন্ধ হয়ে যাওয়া BasicSecureTextField ওভারলোড) আপডেট করা হয়েছে। (I76c7e)

ভার্সন 1.13.0-alpha02

২৬ আগস্ট, ২০২৬

androidx.compose.material:material-*:1.13.0-alpha02 রিলিজ করা হয়েছে। 1.13.0-alpha02 ভার্সনে এইসব কমিট রয়েছে।

ভার্সন 1.13.0-alpha01

১২ আগস্ট, ২০২৬

androidx.compose.material:material-*:1.13.0-alpha01 রিলিজ করা হয়েছে। ভার্সন 1.13.0-alpha01-এ এইসব কমিট রয়েছে।

API-তে পরিবর্তন

  • androidx.benchmark-এর এখন ২৪টি minSdk আছে। (Ic2a85)

সমস্যার সমাধান

  • ডায়নামিক গেটার ব্যবহার করে material টপ-লেভেল ভ্যালু ক্লাস প্রপার্টির অপ্টিমাইজ করা ফাইল-লেভেল ইনিশিয়ালাইজেশন। (Iae591)
  • ডায়নামিক গেটার ব্যবহার করে material ভ্যালু ক্লাসের (FabPosition ও Strings) অপ্টিমাইজ করা কম্প্যানিয়ন অবজেক্ট ইনিশিয়ালাইজেশন। (I0c7c0)
  • compileSdk 37-এর প্রয়োজনীয়তা সরিয়ে দিন (If78b4)

ভার্সন 1.12

ভার্সন 1.12.1

৯ সেপ্টেম্বর, ২০২৬

androidx.compose.material:material-*:1.12.1 রিলিজ করা হয়েছে। 1.12.1 ভার্সনে এইসব কমিট রয়েছে।

ভার্সন 1.12.0

১২ আগস্ট, ২০২৬

androidx.compose.material:material-*:1.12.0 রিলিজ করা হয়েছে। 1.12.0 ভার্সনে এইসব কমিট আছে।

1.11.0 ভার্সনের পর থেকে গুরুত্বপূর্ণ পরিবর্তন:

ভার্সন 1.12.0-rc01

২৯ জুলাই, ২০২৬

androidx.compose.material:material-*:1.12.0-rc01 রিলিজ করা হয়েছে। ভার্সন 1.12.0-rc01-এ এইসব কমিট রয়েছে।

ভার্সন 1.12.0-beta02

১ জুলাই, ২০২৬

androidx.compose.material:material-*:1.12.0-beta02 রিলিজ করা হয়েছে। 1.12.0-beta02 ভার্সনে এইসব কমিট রয়েছে।

ভার্সন 1.12.0-beta01

১৭ জুন, ২০২৬

androidx.compose.material:material-*:1.12.0-beta01 রিলিজ করা হয়েছে। 1.12.0-beta01 ভার্সনে এইসব কমিট রয়েছে।

ভার্সন 1.12.0-alpha03

১৯ মে, ২০২৬

androidx.compose.material:material-*:1.12.0-alpha03 রিলিজ করা হয়েছে। 1.12.0-alpha03 ভার্সনে এইসব কমিট আছে।

ভার্সন 1.12.0-alpha02

৬ মে, ২০২৬

androidx.compose.material:material-*:1.12.0-alpha02 রিলিজ করা হয়েছে। ভার্সন 1.12.0-alpha02-এ এইসব কমিট রয়েছে।

ভার্সন 1.12.0-alpha01

২২ এপ্রিল, ২০২৬

androidx.compose.material:material-*:1.12.0-alpha01 রিলিজ করা হয়েছে। 1.12.0-alpha01 ভার্সনে এইসব কমিট রয়েছে।

API-তে পরিবর্তন

  • Android ফ্রেমওয়ার্কের (AndroidComposeUiFlags.isFrameworkVelocityTrackerEnabled-এর মাধ্যমে কনফিগার করা যায়) দেওয়া ইমপ্লিমেন্টেশন ব্যবহার করার জন্য VelocityTracker পরিবর্তন করা হয়েছে। (Ibc7e2, b/359962905)

সমস্যার সমাধান

  • Compose compileSdk থেকে API 37-এ আপডেট করা হয়েছে। এর অর্থ হল, Compose ব্যবহার করার সময় ন্যূনতম AGP ভার্সন 9.2.0 প্রয়োজন। (Id45cd, b/413674743)

ভার্সন 1.11

ভার্সন 1.11.4

১ জুলাই, ২০২৬

androidx.compose.material:material-*:1.11.4 রিলিজ করা হয়েছে। 1.11.4 ভার্সনে এইসব কমিট রয়েছে।

ভার্সন 1.11.3

১৭ জুন, ২০২৬

androidx.compose.material:material-*:1.11.3 রিলিজ করা হয়েছে। ভার্সন 1.11.3-এ এইসব কমিট রয়েছে।

ভার্সন 1.11.2

১৯ মে, ২০২৬

androidx.compose.material:material-*:1.11.2 রিলিজ করা হয়েছে। 1.11.2 ভার্সনে এইসব কমিট রয়েছে।

ভার্সন 1.11.1

৬ মে, ২০২৬

androidx.compose.material:material-*:1.11.1 রিলিজ করা হয়েছে। 1.11.1 ভার্সনে এইসব কমিট রয়েছে।

ভার্সন 1.11.0

২২ এপ্রিল, ২০২৬

androidx.compose.material:material-*:1.11.0 রিলিজ করা হয়েছে। 1.11.0 ভার্সনে এইসব কমিট রয়েছে।

ভার্সন 1.11.0-rc01

৮ এপ্রিল, ২০২৬

androidx.compose.material:material-*:1.11.0-rc01 রিলিজ করা হয়েছে। 1.11.0-rc01 ভার্সনে এইসব কমিট রয়েছে।

ভার্সন 1.11.0-beta02

২৫ মার্চ, ২০২৬

androidx.compose.material:material-*:1.11.0-beta02 রিলিজ করা হয়েছে। 1.11.0-beta02 ভার্সনে এইসব কমিট আছে।

ভার্সন 1.11.0-beta01

১১ মার্চ, ২০২৬

androidx.compose.material:material-*:1.11.0-beta01 রিলিজ করা হয়েছে। 1.11.0-beta01 ভার্সনে এইসব কমিট রয়েছে।

ভার্সন 1.11.0-alpha06

২৫ ফেব্রুয়ারি, ২০২৬

androidx.compose.material:material-*:1.11.0-alpha06 রিলিজ করা হয়েছে। 1.11.0-alpha06 ভার্সনে এইসব কমিট রয়েছে।

ভার্সন 1.11.0-alpha05

১১ ফেব্রুয়ারি, ২০২৬

androidx.compose.material:material-*:1.11.0-alpha05 রিলিজ করা হয়েছে। 1.11.0-alpha05 ভার্সনে এইসব কমিট রয়েছে।

ভার্সন 1.11.0-alpha04

২৮ জানুয়ারি, ২০২৬

androidx.compose.material:material-*:1.11.0-alpha04 রিলিজ করা হয়েছে। 1.11.0-alpha04 ভার্সনে এইসব কমিট রয়েছে।

ভার্সন 1.11.0-alpha03

১৪ জানুয়ারি, ২০২৬

androidx.compose.material:material-*:1.11.0-alpha03 রিলিজ করা হয়েছে। 1.11.0-alpha03 ভার্সনে এইসব কমিট রয়েছে।

ভার্সন 1.11.0-alpha02

১৭ ডিসেম্বর, ২০২৫

androidx.compose.material:material-*:1.11.0-alpha02 রিলিজ করা হয়েছে। 1.11.0-alpha02 ভার্সনে এইসব কমিট রয়েছে।

ভার্সন 1.11.0-alpha01

৩ ডিসেম্বর, ২০২৫

androidx.compose.material:material-*:1.11.0-alpha01 রিলিজ করা হয়েছে। ভার্সন 1.11.0-alpha01-এ এইসব কমিট আছে।

ভার্সন 1.10

ভার্সন 1.10.6

২৫ মার্চ, ২০২৬

androidx.compose.material:material-*:1.10.6 রিলিজ করা হয়েছে। 1.10.6 ভার্সনে এইসব কমিট রয়েছে।

ভার্সন 1.10.5

১১ মার্চ, ২০২৬

androidx.compose.material:material-*:1.10.5 রিলিজ করা হয়েছে। 1.10.5 ভার্সনে এইসব কমিট রয়েছে।

ভার্সন 1.10.4

২৫ ফেব্রুয়ারি, ২০২৬

androidx.compose.material:material-*:1.10.4 রিলিজ করা হয়েছে। ভার্সন 1.10.4-এ এইসব কমিট আছে।

ভার্সন 1.10.3

১১ ফেব্রুয়ারি, ২০২৬

androidx.compose.material:material-*:1.10.3 রিলিজ করা হয়েছে। 1.10.3 ভার্সনে এইসব কমিট রয়েছে।

ভার্সন 1.10.2

২৮ জানুয়ারি, ২০২৬

androidx.compose.material:material-*:1.10.2 রিলিজ করা হয়েছে। 1.10.2 ভার্সনে এইসব কমিট রয়েছে।

ভার্সন 1.10.1

১৪ জানুয়ারি, ২০২৬

androidx.compose.material:material-*:1.10.1 রিলিজ করা হয়েছে। ভার্সন 1.10.1-এ এইসব কমিট রয়েছে।

ভার্সন 1.10.0

৩ ডিসেম্বর, ২০২৫

androidx.compose.material:material-*:1.10.0 রিলিজ করা হয়েছে। 1.10.0 ভার্সনে এইসব কমিট রয়েছে।

ভার্সন 1.10.0-rc01

১৯ নভেম্বর, ২০২৫

androidx.compose.material:material-*:1.10.0-rc01 রিলিজ করা হয়েছে। 1.10.0-rc01 ভার্সনে এইসব কমিট রয়েছে।

ভার্সন 1.10.0-beta02

৫ নভেম্বর, ২০২৫

androidx.compose.material:material-*:1.10.0-beta02 রিলিজ করা হয়েছে। 1.10.0-beta02 ভার্সনে এইসব কমিট রয়েছে।

ভার্সন 1.10.0-beta01

২২ অক্টোবর, ২০২৫

androidx.compose.material:material-*:1.10.0-beta01 রিলিজ করা হয়েছে। 1.10.0-beta01 ভার্সনে এইসব কমিট রয়েছে।

ভার্সন 1.10.0-alpha05

৮ অক্টোবর, ২০২৫

androidx.compose.material:material-*:1.10.0-alpha05 রিলিজ করা হয়েছে। ভার্সন 1.10.0-alpha05-এ এইসব কমিট রয়েছে।

ভার্সন 1.10.0-alpha04

২৪ সেপ্টেম্বর, ২০২৫

androidx.compose.material:material-*:1.10.0-alpha04 রিলিজ করা হয়েছে। 1.10.0-alpha04 ভার্সনে এইসব কমিট রয়েছে।

ভার্সন 1.10.0-alpha03

১০ সেপ্টেম্বর, ২০২৫

androidx.compose.material:material-*:1.10.0-alpha03 রিলিজ করা হয়েছে। ভার্সন 1.10.0-alpha03-এ এইসব কমিট রয়েছে।

ভার্সন 1.10.0-alpha02

২৭ আগস্ট, ২০২৫

androidx.compose.material:material-*:1.10.0-alpha02 রিলিজ করা হয়েছে। 1.10.0-alpha02 ভার্সনে এইসব কমিট রয়েছে।

ভার্সন 1.10.0-alpha01

১৩ আগস্ট, ২০২৫

androidx.compose.material:material-*:1.10.0-alpha01 রিলিজ করা হয়েছে। 1.10.0-alpha01 ভার্সনে এইসব কমিট রয়েছে।

সমস্যার সমাধান

ভার্সন 1.9

ভার্সন ১.৯.৫

১৯ নভেম্বর, ২০২৫

androidx.compose.material:material-*:1.9.5 রিলিজ করা হয়েছে। ভার্সন 1.9.5-এ এইসব কমিট রয়েছে।

ভার্সন 1.9.4

২২ অক্টোবর, ২০২৫

androidx.compose.material:material-*:1.9.4 রিলিজ করা হয়েছে। ভার্সন 1.9.4-এ এইসব কমিট রয়েছে।

ভার্সন 1.9.3

৮ অক্টোবর, ২০২৫

androidx.compose.material:material-*:1.9.3 রিলিজ করা হয়েছে। 1.9.3 ভার্সনে এইসব কমিট রয়েছে।

ভার্সন 1.9.2

২৪ সেপ্টেম্বর, ২০২৫

androidx.compose.material:material-*:1.9.2 রিলিজ করা হয়েছে। ভার্সন 1.9.2-এ এইসব কমিট রয়েছে।

ভার্সন 1.9.1

১০ সেপ্টেম্বর, ২০২৫

androidx.compose.material:material-*:1.9.1 রিলিজ করা হয়েছে। ভার্সন 1.9.1-এ এইসব কমিট রয়েছে।

ভার্সন 1.9.0

১৩ আগস্ট, ২০২৫

androidx.compose.material:material-*:1.9.0 রিলিজ করা হয়েছে। 1.9.0 ভার্সনে এইসব কমিট আছে।

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

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

  • Compose-এর সাথে শিপ করা লিন্ট চেকের জন্য এখন ন্যূনতম AGP ভার্সন 8.8.2 প্রয়োজন। আপনি AGP আপগ্রেড করতে না পারলে, gradle.properties-এ android.experimental.lint.version=8.8.2 (বা এর পরের যেকোনও ভার্সন) ব্যবহার করে পরিবর্তে Lint আপগ্রেড করতে পারবেন। IDE-এর মধ্যে Compose লিন্ট চেক রান করাতে, Android Studio Ladybug বা এর পরের যেকোনও ভার্সন প্রয়োজন।

API-তে পরিবর্তন

  • Kotlin 2.0-এর সাথে রিলিজ করা প্রোজেক্ট ব্যবহার করার জন্য KGP 2.0.0 বা এর পরের যেকোনও ভার্সন প্রয়োজন। (Idb6b5)
  • টেক্সট ফিল্ড ডেকোরেশন বক্স API আর পরীক্ষামূলক নয়। (I7480f)

সমস্যার সমাধান

  • ExposedDropdownMenu হল পুরনো ভার্সনের সাথে বাইনারি কম্প্যাটিবল। (I133f7)

ভার্সন 1.9.0-rc01

৩০ জুলাই, ২০২৫

androidx.compose.material:material-*:1.9.0-rc01 রিলিজ করা হয়েছে। ভার্সন 1.9.0-rc01-এ এইসব কমিট রয়েছে।

ভার্সন 1.9.0-beta03

১৬ জুলাই, ২০২৫

androidx.compose.material:material-*:1.9.0-beta03 রিলিজ করা হয়েছে। 1.9.0-beta03 ভার্সনে এইসব কমিট আছে।

ভার্সন 1.9.0-beta02

২ জুলাই, ২০২৫

androidx.compose.material:material-*:1.9.0-beta02 রিলিজ করা হয়েছে। 1.9.0-beta02 ভার্সনে এইসব কমিট আছে।

ভার্সন 1.9.0-beta01

১৮ জুন, ২০২৫

androidx.compose.material:material-*:1.9.0-beta01 রিলিজ করা হয়েছে। 1.9.0-beta01 ভার্সনে এইসব কমিট রয়েছে।

সমস্যার সমাধান

  • Text(AnnotatedString)-এ হাইপারলিঙ্কে এখন ডিফল্ট হিসেবে Material স্টাইলিং আছে। (I0e8ed, b/339843816)

ভার্সন 1.9.0-alpha04

৪ জুন, ২০২৫

androidx.compose.material:material-*:1.9.0-alpha04 রিলিজ করা হয়েছে। ভার্সন 1.9.0-alpha04-এ এইসব কমিট রয়েছে।

ভার্সন 1.9.0-alpha03

২০ মে, ২০২৫

androidx.compose.material:material-*:1.9.0-alpha03 রিলিজ করা হয়েছে। ভার্সন 1.9.0-alpha03-এ এইসব কমিট রয়েছে।

ভার্সন 1.9.0-alpha02

৭ মে, ২০২৫

androidx.compose.material:material-*:1.9.0-alpha02 রিলিজ করা হয়েছে। ভার্সন 1.9.0-alpha02-এ এইসব কমিট রয়েছে।

ভার্সন 1.9.0-alpha01

২৩ এপ্রিল, ২০২৫

androidx.compose.material:material-*:1.9.0-alpha01 রিলিজ করা হয়েছে। ভার্সন 1.9.0-alpha01-এ এইসব কমিট রয়েছে।

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

  • Compose-এর সাথে শিপ করা লিন্ট চেকের জন্য এখন ন্যূনতম AGP ভার্সন 8.8.2 প্রয়োজন। আপনি AGP আপগ্রেড করতে না পারলে, তার পরিবর্তে আপনার gradle.properties-এ android.experimental.lint.version=8.8.2 (বা এর পরের যেকোনও ভার্সন) ব্যবহার করে Lint-কে আলাদাভাবে আপগ্রেড করতে পারবেন। IDE-এর মধ্যে Compose লিন্ট চেক রান করাতে, Android Studio Ladybug বা এর পরের যেকোনও ভার্সন প্রয়োজন।

API-তে পরিবর্তন

  • Kotlin 2.0-এর সাথে রিলিজ করা প্রোজেক্ট ব্যবহার করার জন্য KGP 2.0.0 বা এর পরের যেকোনও ভার্সন প্রয়োজন। (Idb6b5)
  • টেক্সট ফিল্ড ডেকোরেশন বক্স API আর এক্সপেরিমেন্টাল নয় (I7480f, b/269651160)
  • runWithMeasurementDisabled-এর পরিবর্তে runWithTimingDisabled-কে বাতিল করুন, যা আচরণকে আরও স্পষ্টভাবে বর্ণনা করে - সমস্ত মেট্রিক পজ করা আছে। এছাড়াও, MicrobenchmarkScope সুপারক্লাস এক্সপোজ করুন, কারণ runWithMeasurementDisabled ফাংশনটি ইনলাইন হওয়ার কারণে ওপেন অ্যাক্সেস হিসেবে আবার ঘোষণা করা সম্ভব নয়। (I9e23b, b/389149423, b/149979716)

সমস্যার সমাধান

  • ExposedDropdownMenu হল পুরনো ভার্সনের সাথে বাইনারি কম্প্যাটিবল। (I133f7)
  • প্রগ্রেস ও লোডিং ইন্ডিকেটরে ক্র্যাশ হওয়ার সমস্যা সমাধান করা হয়েছে, যদি Float.NaN প্রগ্রেস হিসেবে পাস করা হয়। (I4fa96, b/352364576)

ভার্সন ১.৮

ভার্সন 1.8.3

১৮ জুন, ২০২৫

androidx.compose.material:material-*:1.8.3 রিলিজ করা হয়েছে। ভার্সন 1.8.3-এ এইসব কমিট রয়েছে।

ভার্সন 1.8.2

২০ মে, ২০২৫

androidx.compose.material:material-*:1.8.2 রিলিজ করা হয়েছে। ভার্সন 1.8.2-এ এইসব কমিট রয়েছে।

ভার্সন 1.8.1

৭ মে, ২০২৫

androidx.compose.material:material-*:1.8.1 রিলিজ করা হয়েছে। ভার্সন 1.8.1-এ এইসব কমিট রয়েছে।

ভার্সন 1.8.0

২৩ এপ্রিল, ২০২৫

androidx.compose.material:material-*:1.8.0 রিলিজ করা হয়েছে। 1.8.0 ভার্সনে এইসব কমিট রয়েছে।

ভার্সন 1.8.0-rc03

৯ এপ্রিল, ২০২৫

androidx.compose.material:material-*:1.8.0-rc03 রিলিজ করা হয়েছে। 1.8.0-rc03 ভার্সনে এইসব কমিট রয়েছে।

ভার্সন 1.8.0-rc02

২৬ মার্চ, ২০২৫

androidx.compose.material:material-*:1.8.0-rc02 রিলিজ করা হয়েছে। ভার্সন 1.8.0-rc02-এ এইসব কমিট রয়েছে।

ভার্সন 1.8.0-rc01

১২ মার্চ, ২০২৫

androidx.compose.material:material-*:1.8.0-rc01 রিলিজ করা হয়েছে। ভার্সন 1.8.0-rc01-এ এইসব কমিট আছে।

ভার্সন 1.8.0-beta03

২৬ ফেব্রুয়ারি, ২০২৫

androidx.compose.material:material-*:1.8.0-beta03 রিলিজ করা হয়েছে। 1.8.0-beta03 ভার্সনে এইসব কমিট রয়েছে।

ভার্সন 1.8.0-beta02

১২ ফেব্রুয়ারি, ২০২৫

androidx.compose.material:material-*:1.8.0-beta02 রিলিজ করা হয়েছে। 1.8.0-beta02 ভার্সনে এইসব কমিট রয়েছে।

ভার্সন 1.8.0-beta01

২৯ জানুয়ারি, ২০২৫

androidx.compose.material:material-*:1.8.0-beta01 রিলিজ করা হয়েছে। ভার্সন 1.8.0-beta01-এ এইসব কমিট রয়েছে।

ভার্সন 1.8.0-alpha08

১৫ জানুয়ারি, ২০২৫

androidx.compose.material:material-*:1.8.0-alpha08 রিলিজ করা হয়েছে। ভার্সন 1.8.0-alpha08-এ এইসব কমিট রয়েছে।

সমস্যার সমাধান

  • ডিসপ্লে কাটআউটের সাথে কন্টেন্ট ওভারল্যাপ করা এড়াতে, Material কম্পোনেন্ট ডিফল্ট হিসেবে যে ইনসেট গ্রুপ বিবেচনা করে তার সাথে displayCutout যোগ করে।
    • এটি একটি আচরণগত পরিবর্তন যা ডিসপ্লে কাটআউটের চারপাশে ইনসেট-সচেতন কম্পোনেন্ট কীভাবে আচরণ করে তার উপর প্রভাব ফেলবে। এর মধ্যে ইনসেট-অ্যাওয়ার Material 3 কম্পোনেন্টের জন্য WindowInsets প্যারামিটারের ডিফল্ট ভ্যালু এবং কম্পোনেন্টে দেওয়া WindowInsets ভ্যালু অন্তর্ভুক্ত।
    • Material 2 ও Material 3, দু'টির জন্যই ডিফল্ট অবজেক্ট। এই পরিবর্তনের ফলে অবাঞ্ছিত আচরণ দেখা দিলে, প্রতিটি কম্পোনেন্টের জন্য WindowInsets প্যারামিটার ম্যানুয়ালি নির্দিষ্ট করুন। (I43ee9, b/362508045)
  • ComposeContentTestRule.setContent ব্যবহার করার সময়, পরীক্ষা করা হচ্ছে এমন কম্পোজ করার উপযুক্ত আইটেমের হোস্ট হিসেবে ব্যবহৃত অ্যাক্টিভিটি এখন Theme.Material.Light.NoActionBar থিম ব্যবহার করে, যাতে SDK 35 টার্গেট করার সময় ActionBar টেস্ট কন্টেন্টের সাথে ওভারল্যাপ না করে। এই আচরণ থেকে বেরিয়ে আসতে, আপনি ui-test-manifest-এর উপর নির্ভরতা সরিয়ে দিতে পারেন এবং আপনার পছন্দের থিম সহ ComponentActivity-এর জন্য আপনার টেস্ট অ্যাপের AndroidManifest.xml-এ একটি অ্যাক্টিভিটি এন্ট্রি যোগ করতে পারেন। (I7ae1b, b/383368165)

এক্সটার্নাল কন্ট্রিবিউশন

  • ModalBottomSheetLayout-এ sheetGesturesEnabled এক্সপোজ করুন। (I3f032, b/329543529)

ভার্সন 1.8.0-alpha07

১১ ডিসেম্বর, ২০২৪

androidx.compose.material:material-*:1.8.0-alpha07 রিলিজ করা হয়েছে। ভার্সন 1.8.0-alpha07-এ এইসব কমিট আছে।

সমস্যার সমাধান

  • টেক্সট ফিল্ডের সাইজ মডিফায়ার কখনও কখনও অনুসরণ না করা সংক্রান্ত সমস্যার সমাধান করা হয়েছে। (I90d4c, b/356905963)

ভার্সন 1.8.0-alpha06

১৩ নভেম্বর, ২০২৪

androidx.compose.material:material-*:1.8.0-alpha06 রিলিজ করা হয়েছে। 1.8.0-alpha06 ভার্সনে এইসব কমিট রয়েছে।

ভার্সন 1.8.0-alpha05

৩০ অক্টোবর, ২০২৪

androidx.compose.material:material-*:1.8.0-alpha05 রিলিজ করা হয়েছে। 1.8.0-alpha05 ভার্সনে এইসব কমিট রয়েছে।

সমস্যার সমাধান

  • contentPadding পরিবর্তন হলে বডি কন্টেন্ট যাতে প্রতিবার নতুন করে কম্পোজ করতে না হয়, সেই জন্য Scaffold contentPadding আচরণ অপ্টিমাইজ করুন। (I8c8e2, b/373904168)
  • কন্ট্রোল কী প্রেস করা হলে মেটেরিয়াল স্লাইডারকে তার ভ্যালু পরিবর্তন করতে দিন। (I1c442)

ভার্সন 1.8.0-alpha04

১৬ অক্টোবর, ২০২৪

androidx.compose.material:material-*:1.8.0-alpha04 রিলিজ করা হয়েছে। ভার্সন 1.8.0-alpha04-এ এইসব কমিট রয়েছে।

API-তে পরিবর্তন

  • স্টেবল ফাউন্ডেশন ভার্সনে পিন করতে TextFields' থেকে readOnly সরান। (I3aaba)

সমস্যার সমাধান

  • Android S+ ভার্সনে এক্সপ্যান্ড করা কম্পোনেন্টে রিপেল যোগ করার সুবিধা যোগ করে, যেমন ক্লিক করলে এক্সপ্যান্ড করা যায় এমন কার্ড। আগে রিপেল নতুন সাইজ অনুযায়ী ফিল-আপ হত না, কিন্তু এখন এটি নতুন বাউন্ডারি অনুযায়ী বড় হবে। (If509a, b/183019123)

ভার্সন 1.8.0-alpha02

১৮ সেপ্টেম্বর, ২০২৪

androidx.compose.material:material-*:1.8.0-alpha02 রিলিজ করা হয়েছে। 1.8.0-alpha02 ভার্সনে এইসব কমিট আছে।

ভার্সন 1.8.0-alpha01

৪ সেপ্টেম্বর, ২০২৪

androidx.compose.material:material-*:1.8.0-alpha01 রিলিজ করা হয়েছে। 1.8.0-alpha01 ভার্সনে এইসব কমিট রয়েছে।

API-তে পরিবর্তন

  • নিরাপদ আর্গুমেন্ট সহ bottomSheet তৈরি করতে নতুন NavGraphBuilder.bottomSheet বিল্ডার যোগ করা হয়েছে ((I28589, I777db, b/351858980))
  • নতুন TextField ও OutlinedTextField ওভারলোড যোগ করা হয়েছে যা TextFieldState (I3b74c) নেয়

ভার্সন 1.7

ভার্সন 1.7.8

১২ ফেব্রুয়ারি, ২০২৫

androidx.compose.material:material-*:1.7.8 রিলিজ করা হয়েছে। ভার্সন 1.7.8-এ এইসব কমিট রয়েছে।

ভার্সন 1.7.7

২৯ জানুয়ারি, ২০২৫

androidx.compose.material:material-*:1.7.7 রিলিজ করা হয়েছে। 1.7.6 থেকে কোনও পরিবর্তন হয়নি।

ভার্সন 1.7.6

১১ ডিসেম্বর, ২০২৪

androidx.compose.material:material-*:1.7.6 রিলিজ করা হয়েছে। ভার্সন 1.7.6-এ এইসব কমিট রয়েছে।

ভার্সন 1.7.5

৩০ অক্টোবর, ২০২৪

androidx.compose.material:material-*:1.7.5 রিলিজ করা হয়েছে। ভার্সন 1.7.5-এ এইসব কমিট রয়েছে।

ভার্সন 1.7.4

১৬ অক্টোবর, ২০২৪

androidx.compose.material:material-*:1.7.4 রিলিজ করা হয়েছে। ভার্সন 1.7.4-এ এইসব কমিট রয়েছে।

ভার্সন 1.7.2

১৮ সেপ্টেম্বর, ২০২৪

androidx.compose.material:material-*:1.7.2 রিলিজ করা হয়েছে। ভার্সন 1.7.2-এ এইসব কমিট রয়েছে।

ভার্সন 1.7.1

১০ সেপ্টেম্বর, ২০২৪

  • Android আর্টিফ্যাক্টে কোনও পরিবর্তন করা হয়নি। -desktop আর্টিফ্যাক্ট সরিয়ে দেওয়া হয়েছে এবং -jvmStubs ও -linuxx64Stubs আর্টিফ্যাক্ট যোগ করা হয়েছে। এইসব টার্গেটের কোনওটিই ব্যবহার করার জন্য নয়, Jetbrains Compose-এর প্রচেষ্টায় সাহায্য করার জন্য এগুলি প্লেসহোল্ডার হিসেবে ব্যবহার করা হয়।

ভার্সন 1.7.0

৪ সেপ্টেম্বর, ২০২৪

androidx.compose.material:material-*:1.7.0 রিলিজ করা হয়েছে। 1.7.0 ভার্সনে এইসব কমিট আছে।

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

  • নতুন রিপেল API ব্যবহার করার জন্য মেটেরিয়াল কম্পোনেন্ট মাইগ্রেট করা হয়েছে এবং আর RippleTheme কোয়েরি করা হয় না।
  • মেটেরিয়াল কম্পোনেন্ট যা আগে MutableInteractionSource গ্রহণ করত এবং ডিফল্ট হিসেবে remember { MutableInteractionSource() } থাকত, এখন তা নাল হতে পারে এমন MutableInteractionSource গ্রহণ করে এবং ডিফল্ট হিসেবে নাল থাকে। আপনি যদি MutableInteractionSource হোয়েস্ট ও ব্যবহার না করেন, তাহলে আপনাকে null পাস করতে হবে। এর ফলে, পারফর্ম্যান্স উন্নত করতে, প্রয়োজন হলেই শুধুমাত্র কিছু কম্পোনেন্ট ইনস্ট্যান্স তৈরি করতে পারে। এছাড়াও, আপনার নিজের কম্পোনেন্টে একই ধরনের পরিবর্তন করার জন্য সাজেস্ট করা হয়।
  • BottomDrawer, ModalBottomSheet, BackdropScaffold এবং স্ট্যান্ডার্ড Bottomsheet-কে স্টেবল API হিসেবে প্রোমোট করা হয়েছে।

ভার্সন 1.7.0-rc01

২১ আগস্ট, ২০২৪

androidx.compose.material:material-*:1.7.0-rc01 রিলিজ করা হয়েছে। ভার্সন 1.7.0-rc01-এ এইসব কমিট রয়েছে।

ভার্সন 1.7.0-beta07

৭ আগস্ট, ২০২৪

androidx.compose.material:material-*:1.7.0-beta07 রিলিজ করা হয়েছে। 1.7.0-beta07 ভার্সনে এইসব কমিট রয়েছে।

ভার্সন 1.7.0-beta06

২৪ জুলাই, ২০২৪

androidx.compose.material:material-*:1.7.0-beta06 রিলিজ করা হয়েছে। 1.7.0-beta06 ভার্সনে এইসব কমিট রয়েছে।

ভার্সন 1.7.0-beta05

১০ জুলাই, ২০২৪

androidx.compose.material:material-*:1.7.0-beta05 রিলিজ করা হয়েছে। ভার্সন 1.7.0-beta05-এ এইসব কমিট আছে।

ভার্সন 1.7.0-beta04

২৬ জুন, ২০২৪

androidx.compose.material:material-*:1.7.0-beta04 রিলিজ করা হয়েছে। 1.7.0-beta04 ভার্সনে এইসব কমিট রয়েছে।

ভার্সন 1.7.0-beta03

১২ জুন, ২০২৪

androidx.compose.material:material-*:1.7.0-beta03 রিলিজ করা হয়েছে। 1.7.0-beta03 ভার্সনে এইসব কমিট আছে।

ভার্সন 1.7.0-beta02

২৯ মে, ২০২৪

androidx.compose.material:material-*:1.7.0-beta02 রিলিজ করা হয়েছে। ভার্সন 1.7.0-beta02-এ এইসব কমিট আছে।

API-তে পরিবর্তন

  • লিঙ্ক স্টাইল করার জন্য API আপডেট করা হয়েছে: TextLinkStyles থেকে TextStyle-এ সরানো হয়েছে এবং মেটেরিয়াল থেকে TextDefaults সরিয়ে দেওয়া হয়েছে (I5477b)

ভার্সন 1.7.0-beta01

১৪ মে, ২০২৪

androidx.compose.material:material-*:1.7.0-beta01 রিলিজ করা হয়েছে। ভার্সন 1.7.0-beta01-এ এইসব কমিট রয়েছে।

API-তে পরিবর্তন

  • টেক্সটে Material থিমের লিঙ্ক পাওয়ার জন্য API আপডেট করা হয়েছে। বিশেষ করে, থিমযুক্ত LinkAnnotations তৈরি করতে এবং থিমযুক্ত লিঙ্ক সহ HTML পার্স করার জন্য TextDefaults থেকে পদ্ধতিগুলি সরিয়ে দেওয়া হয়েছে। এর পরিবর্তে, একটি TextLinkStyles ক্লাস যোগ করা হয়েছে যা টেক্সট কম্পোজ করার যোগ্য আইটেমের প্যারামিটার হিসেবে লিঙ্ককে স্টাইল করার অনুমতি দেয়। (I31b93)

ভার্সন 1.7.0-alpha08

১ মে, ২০২৪

androidx.compose.material:material-*:1.7.0-alpha08 রিলিজ করা হয়েছে। ভার্সন 1.7.0-alpha08-এ এইসব কমিট রয়েছে।

API-তে পরিবর্তন

  • TextFieldDecorationBox ও OutlinedTextFieldDecorationBox-এ backgroundColor প্রয়োগ না হওয়া সংক্রান্ত সমস্যার সমাধান করুন। সাজসজ্জার বক্স এখন shape প্যারামিটার গ্রহণ করে। (I371c2, b/307694651)
  • RippleConfiguration#isEnabled সরিয়ে দেওয়া হয়েছে এবং LocalRippleConfiguration-কে নাল করা হয়েছে। রিপল বন্ধ করতে, isEnabled = false সহ RippleConfiguration দেওয়ার পরিবর্তে, null থেকে LocalRippleConfiguration পর্যন্ত দিন। (I22725)
  • সাধারণ স্টাইলিং, হোভার ও ফোকাস ছাড়াও টেক্সট লিঙ্কে প্রেস করা স্টেট স্টাইলিং বিকল্প থাকে। TextDefaults পদ্ধতিগুলির প্রত্যেকটিতেই তা সমর্থন করার জন্য একটি pressedStyle আর্গুমেন্ট আছে। (Ic473f, b/139312671)

সমস্যার সমাধান

  • OutlinedTextField লেবেলের জন্য টপ প্যাডিং এখন সিস্টেম ফন্ট সাইজের জন্য অ্যাকাউন্ট। (Idc781)

ভার্সন 1.7.0-alpha07

১৭ এপ্রিল, ২০২৪

androidx.compose.material:material-*:1.7.0-alpha07 রিলিজ করা হয়েছে। ভার্সন 1.7.0-alpha07-এ এইসব কমিট রয়েছে।

API-তে পরিবর্তন

  • সাধারণ স্টাইলিং, হোভার ও ফোকাস করার পাশাপাশি টেক্সট লিঙ্কে প্রেস করা স্ট্যাট স্টাইলিং বিকল্প যোগ করা হয়েছে। (I5f864, b/139312671)
  • TextDefaults অবজেক্ট যোগ করা হয়েছে যাতে LinkAnnotation তৈরি করা ও HTML-ট্যাগ করা স্ট্রিং পার্স করার পদ্ধতি রয়েছে যা লিঙ্কে MaterialTheme প্রয়োগ করে। (I98532, b/139312671)

ভার্সন 1.7.0-alpha06

৩ এপ্রিল, ২০২৪

androidx.compose.material:material-*:1.7.0-alpha06 রিলিজ করা হয়েছে। ভার্সন 1.7.0-alpha06-এ এইসব কমিট রয়েছে।

ঘোষণা

  • androidx.compose.material এই Maven গ্রুপে প্রতিটি আর্টিফ্যাক্টের একই ভার্সন ব্যবহার করার আর প্রয়োজন নেই। ব্যবহারকারীরা Compose ফাউন্ডেশন লাইব্রেরির (Ie5fba) বিভিন্ন ভার্সন মিশিয়ে ব্যবহার করতে পারবেন

API-তে পরিবর্তন

  • আরও ModalDrawer ও BottomDrawer ডিফল্টকে DrawerDefaults অবজেক্টে সরানো হয়েছে। (Ib5b2e)

ভার্সন 1.7.0-alpha05

২০ মার্চ, ২০২৪

androidx.compose.material:material-*:1.7.0-alpha05 রিলিজ করা হয়েছে। ভার্সন 1.7.0-alpha05-এ এইসব কমিট আছে।

API-তে পরিবর্তন

  • ScaffoldSubcomposeInMeasureFix ফ্ল্যাগ সরিয়ে দেওয়া হয়েছে। (I67363)

ভার্সন 1.7.0-alpha04

৬ মার্চ, ২০২৪

androidx.compose.material:material-*:1.7.0-alpha04 রিলিজ করা হয়েছে। ভার্সন 1.7.0-alpha04-এ এইসব কমিট রয়েছে।

নতুন ফিচার

ভার্সন 1.7.0-alpha03

২১ ফেব্রুয়ারি, ২০২৪

androidx.compose.material:material-*:1.7.0-alpha03 রিলিজ করা হয়েছে। 1.7.0-alpha03 ভার্সনে এইসব কমিট রয়েছে।

API-তে পরিবর্তন

  • BottomDrawer-কে এক্সপেরিমেন্টাল থেকে স্টেবল ভার্সনে আপগ্রেড করা হয়েছে। BottomDrawerState এখন প্রগ্রেসকে ফাংশন হিসেবে এক্সপোজ করে, যা নির্দিষ্ট টার্গেটের মধ্যে প্রগ্রেস কোয়েরি করার অনুমতি দেয়। BottomDrawerState এখন অ্যানিমেশন স্পেক কাস্টমাইজ করার অনুমতি দেয় এবং confirmStateChange আর ট্রেলিং ল্যাম্বডা নয়। (I9c029, b/261423850)
  • BackdropScaffold-কে এক্সপেরিমেন্টাল থেকে স্টেবল ভার্সনে আপগ্রেড করা হয়েছে। নির্দেশিকা অনুযায়ী অ্যানিমেশন স্পেক এখন একটি tween স্পেক। ট্রেলিং ল্যাম্বডার সাথে বিভ্রান্তি এড়াতে BackdropScaffold-এর snackbarHost প্যারামিটার আর শেষ প্যারামিটার নয়। BackdropScaffoldState অ্যাঙ্করগুলির মধ্যে প্রগ্রেস কোয়েরি করার জন্য progress(from, to) API এক্সপোজ করে। (I73f48, b/261423218)
  • স্ট্যান্ডার্ড বটম শীট এক্সপেরিমেন্টাল থেকে স্টেবল হিসেবে প্রমোট করা হয়েছে। পুরনো হয়ে যাওয়া কনস্ট্রাক্টর সরিয়ে দেওয়া হয়েছে। নির্দেশিকা অনুযায়ী অ্যানিমেশন স্পেক এখন একটি টুইন স্পেক। (I3c1a8, b/278692145, b/261409034)
  • মডেল বটম শীটকে পরীক্ষামূলক থেকে স্টেবল হিসেবে প্রমোট করা হয়েছে। পুরনো হয়ে যাওয়া কনস্ট্রাক্টর সরিয়ে দেওয়া হয়েছে। নির্দেশিকা অনুযায়ী অ্যানিমেশন স্পেক এখন একটি tween স্পেক। (Ic53f4, b/278692145, b/266780235, b/261409034)

সমস্যার সমাধান

  • LookaheadScope-এর সাথে নির্দিষ্ট কিছু পরিস্থিতিতে BackdropScaffold ক্র্যাশ করতে পারে এমন একটি সমস্যার সমাধান করা হয়েছে। (I51396)
  • পারফর্ম্যান্স উন্নত করতে BottomSheetScaffold-এর মধ্যে থেকে সাবকম্পোজিশন সরানো হয়েছে। LookaheadScope-এর সাথে BottomSheetScaffold ব্যবহার করলে নির্দিষ্ট কিছু ক্ষেত্রে সেটি ক্র্যাশ করত, সেই সমস্যার সমাধান করা হয়েছে। (I2f90c)
  • ModalBottomSheetLayout-এর মধ্যে থেকে সাবকম্পোজিশন সরিয়ে দেওয়া হয়েছে, এর ফলে পারফর্ম্যান্স উন্নত হয়েছে। (I7a025)

ভার্সন 1.7.0-alpha02

৭ ফেব্রুয়ারি, ২০২৪

androidx.compose.material:material-*:1.7.0-alpha02 রিলিজ করা হয়েছে। ভার্সন 1.7.0-alpha02-এ এইসব কমিট আছে।

ভার্সন 1.7.0-alpha01

২৪ জানুয়ারি, ২০২৪

androidx.compose.material:material-*:1.7.0-alpha01 রিলিজ করা হয়েছে। ভার্সন 1.7.0-alpha01-এ এইসব কমিট আছে।

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

  • নতুন রিপেল API ব্যবহার করার জন্য মেটেরিয়াল কম্পোনেন্ট মাইগ্রেট করা হয়েছে এবং আর RippleTheme কোয়েরি করা হয় না।

API-তে পরিবর্তন

  • rememberRipple ও RippleTheme-কে material-ripple থেকে সরিয়ে দেওয়া হয়েছে, নতুন ripple ও RippleConfiguration API-কে material ও অন্যান্য ডিজাইন সিস্টেম লাইব্রেরিতে যোগ করা হয়েছে।

  • যেসব মেটেরিয়াল কম্পোনেন্ট আগে MutableInteractionSource গ্রহণ করত এবং ডিফল্ট হিসেবে { MutableInteractionSource() } মনে রাখত, সেগুলি এখন নাল MutableInteractionSource গ্রহণ করে এবং ডিফল্ট হিসেবে নাল হিসেবে সেট হয়। আপনি যদি MutableInteractionSource হোয়েস্ট ও ব্যবহার না করেন, তাহলে আপনাকে null পাস করতে হবে। এর ফলে, পারফর্ম্যান্স উন্নত করতে, কিছু কম্পোনেন্ট শুধুমাত্র প্রয়োজন হলেই ইনস্ট্যান্স তৈরি করতে পারে। এছাড়াও, আপনার নিজের কম্পোনেন্টে একই ধরনের পরিবর্তন করার জন্য সাজেস্ট করা হয়।

ভার্সন 1.6

ভার্সন 1.6.8

১২ জুন, ২০২৪

androidx.compose.material:material-*:1.6.8 রিলিজ করা হয়েছে। 1.6.8 ভার্সনে এইসব কমিট রয়েছে।

ভার্সন 1.6.7

১ মে, ২০২৪

androidx.compose.material:material-*:1.6.7 রিলিজ করা হয়েছে। ভার্সন 1.6.7-এ এইসব কমিট রয়েছে।

ভার্সন 1.6.6

১৭ এপ্রিল, ২০২৪

androidx.compose.material:material-*:1.6.6 রিলিজ করা হয়েছে। শেষ রিলিজের পর থেকে কোনও পরিবর্তন হয়নি।

ভার্সন 1.6.5

৩ এপ্রিল, ২০২৪

androidx.compose.material:material-*:1.6.5 রিলিজ করা হয়েছে। ভার্সন 1.6.5-এ এইসব কমিট রয়েছে।

ভার্সন 1.6.4

২০ মার্চ, ২০২৪

androidx.compose.material:material-*:1.6.4 রিলিজ করা হয়েছে। ভার্সন 1.6.4-এ এইসব কমিট রয়েছে।

ভার্সন 1.6.3

৬ মার্চ, ২০২৪

androidx.compose.material:material-*:1.6.3 রিলিজ করা হয়েছে। ভার্সন 1.6.3-এ এইসব কমিট রয়েছে।

সমস্যার সমাধান

  • ExposedDropdownMenu-এ রিগ্রেশন সংক্রান্ত সমস্যার সমাধান করে এটিকে আবার ফোকাস করার উপযুক্ত করে তুলুন। (c0e0ed, b/323694447)

ভার্সন 1.6.2

২১ ফেব্রুয়ারি, ২০২৪

androidx.compose.material:material-*:1.6.2 রিলিজ করা হয়েছে। 1.6.2 ভার্সনে এইসব কমিট রয়েছে।

ভার্সন 1.6.1

৭ ফেব্রুয়ারি, ২০২৪

androidx.compose.material:material-*:1.6.1 রিলিজ করা হয়েছে। 1.6.1 ভার্সনে এইসব কমিট রয়েছে।

ভার্সন 1.6.0

২৪ জানুয়ারি, ২০২৪

androidx.compose.material:material-*:1.6.0 রিলিজ করা হয়েছে। ভার্সন 1.6.0-এ এই কমিটগুলি রয়েছে।

ভার্সন 1.6.0-rc01

১০ জানুয়ারি, ২০২৪

androidx.compose.material:material-*:1.6.0-rc01 রিলিজ করা হয়েছে। 1.6.0-rc01 ভার্সনে এইসব কমিট রয়েছে।

ভার্সন 1.6.0-beta03

১৩ ডিসেম্বর, ২০২৩

androidx.compose.material:material-*:1.6.0-beta03 রিলিজ করা হয়েছে। 1.6.0-beta03 ভার্সনে এইসব কমিট আছে।

ভার্সন 1.6.0-beta02

২৯ নভেম্বর, ২০২৩

androidx.compose.material:material-*:1.6.0-beta02 রিলিজ করা হয়েছে। 1.6.0-beta02 ভার্সনে এই কমিটগুলি রয়েছে।

ভার্সন 1.6.0-beta01

১৫ নভেম্বর, ২০২৩

androidx.compose.material:material-*:1.6.0-beta01 রিলিজ করা হয়েছে। 1.6.0-beta01 ভার্সনে এইসব কমিট আছে।

ভার্সন 1.6.0-alpha08

১৮ অক্টোবর, ২০২৩

androidx.compose.material:material-*:1.6.0-alpha08 রিলিজ করা হয়েছে। 1.6.0-alpha08 ভার্সনে এইসব কমিট রয়েছে।

API-তে পরিবর্তন

  • autoMirror প্যারামিটার নেয় এমন ওভারলোডের পরিবর্তে materialIcon ফাংশন বাতিল করুন। (Ia338d)

সমস্যার সমাধান - বড় কন্টেন্টের জন্য নেভিগেশন আইটেমের উচ্চতা অটোমেটিক বাড়ানো। (0c4ecc, b/272336962)

ভার্সন 1.6.0-alpha07

৪ অক্টোবর, ২০২৩

androidx.compose.material:material-*:1.6.0-alpha07 রিলিজ করা হয়েছে। 1.6.0-alpha07 ভার্সনে এইসব কমিট রয়েছে।

  • ডিপেন্ডেন্সি আপডেট

ভার্সন 1.6.0-alpha06

২০ সেপ্টেম্বর, ২০২৩

androidx.compose.material:material-*:1.6.0-alpha06 রিলিজ করা হয়েছে। 1.6.0-alpha06 ভার্সনে এইসব কমিট আছে।

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

  • BottomSheetScaffold থেকে ড্রয়ার সম্পর্কিত কার্যকারিতা সরিয়ে দেওয়া হয়েছে। আগের কার্যকারিতা পেতে আপনার BottomSheetScaffold-কে Drawer composable-এ র‍্যাপ করুন। একটি উদাহরণের জন্য BottomSheetScaffoldWithDrawerSample দেখুন। (I1dcc8)

API-তে পরিবর্তন

  • Scaffold-এর চিলড্রেনকে পরিমাপের সময় বা প্লেসমেন্টের সময় পরিমাপ করা উচিত কিনা তা নিয়ন্ত্রণ করতে একটি সাময়িক ফ্ল্যাগ যোগ করা হয়েছে। সাধারণত, এটি পরিমাপের মাধ্যমে পরিমাপ করবে। নতুন আচরণ নিয়ে কোনও সমস্যা হলে, সেটির ব্যাপারে অভিযোগ জানান। (If6e3b)

ভার্সন 1.6.0-alpha05

৬ সেপ্টেম্বর, ২০২৩

androidx.compose.material:material-*:1.6.0-alpha05 রিলিজ করা হয়েছে। 1.6.0-alpha05 ভার্সনে এইসব কমিট রয়েছে।

নতুন ফিচার

  • ডানদিক থেকে বাঁদিকে লেআউটে রেন্ডার করার সময় অটো-মিরর করা আইকনের জন্য সহায়তা যোগ করা হয়েছে। material-icons-core এবং material-icons-extended মডিউলের আইকনগুলি এখন অতিরিক্ত আইকন সেট প্রদান করছে যাতে আইকন অনুমতি দিলে অটো-মিররিং কাজ করে। নতুন সেটগুলির আগে Icons.AutoMirrored.Filled... ইত্যাদি লেখা থাকে এবং এতে এমন আইকন থাকে যা RTL লেআউটে অটোমেটিক মিরর হয়ে যায়। যেসব আইকন অটোমেটিক মিরর করা যেতে পারে (এবং করা উচিত), সেগুলির তালিকা দেখতে Material আইকনের তালিকা দেখুন।

API-তে পরিবর্তন

  • ডানদিক থেকে বাঁদিকে লেআউটে রেন্ডার করার সময় অটো-মিরর করা আইকনের জন্য সহায়তা যোগ করা হয়েছে। material-icons-core এবং material-icons-extended মডিউলের আইকনগুলি এখন অতিরিক্ত আইকন সেট প্রদান করছে যাতে আইকন অনুমতি দিলে অটো-মিররিং কাজ করে। নতুন সেটগুলির আগে Icons.AutoMirrored.Filled... ইত্যাদি লেখা থাকে এবং এতে এমন আইকন থাকে যা RTL লেআউটে অটোমেটিক মিরর হয়ে যায়। যেসব আইকন অটোমেটিক মিরর করা যেতে পারে (এবং করা উচিত), সেগুলির তালিকা দেখতে Material আইকনের তালিকা দেখুন। সেইসব আইকনের জন্য আগে প্রদান করা আইকন প্রপার্টি এখন 'বন্ধ করা হয়েছে' হিসেবে চিহ্নিত করা হয়েছে এবং মাইগ্রেশনে সাহায্য করার জন্য একটি রিপ্লেসমেন্ট-ব্লক সাজেশন প্রদান করে। RTL-এ মিরর করা আইকনের জন্য আপনার কাছে কোনও বিশেষ হ্যান্ডেলিং না থাকলে, আমরা নতুন আইকনের সেটে মাইগ্রেট করার সাজেশন দিই। যেমন, Icons.Filled.ArrowBack-কে রিফ্যাক্টর করে Icons.AutoMirrored.Filled.ArrowBack করা উচিত। (I4b511)

ভার্সন 1.6.0-alpha04

২৩ আগস্ট, ২০২৩

androidx.compose.material:material-*:1.6.0-alpha04 রিলিজ করা হয়েছে। 1.6.0-alpha04 ভার্সনে এইসব কমিট রয়েছে।

সমস্যার সমাধান

  • Subcomposition (যেমন, BottomSheetScaffold) ব্যবহার করে এমন কিছু কম্পোনেন্ট LookaheadScope-এর মধ্যে থাকা Scaffold-এর মধ্যে তাদের সাইজ খুব তাড়াতাড়ি রিড করার চেষ্টা করছিল, সেই সমস্যা সমাধান করা হয়েছে। (If2c5d)
  • DropdownMenu's offset গণনা সংক্রান্ত সমস্যা সমাধান করা হয়েছে, তাই x অফসেট শুধুমাত্র স্থানীয় লেআউটের দিকের উপর নির্ভর করে এবং মেনু স্ক্রিনের নিচের দিকে থাকলে y অফসেট আর রিভার্স হবে না। (Iccc74, b/294103942)
  • BottomSheetScaffold-এর লেআউট ইন্টার্নাল অপ্টিমাইজ করা হয়েছে এবং LookaheadLayout-এর মধ্যে BottomSheetScaffold-এর সাথে সম্ভাব্য সমস্যা সমাধান করা হয়েছে। (Ic0afa)

ভার্সন 1.6.0-alpha03

৯ আগস্ট, ২০২৩

androidx.compose.material:material-*:1.6.0-alpha03 রিলিজ করা হয়েছে। 1.6.0-alpha03 ভার্সনে এইসব কমিট রয়েছে।

API-তে পরিবর্তন

  • Material2 কম্পোনেন্ট এখন windowInsets পাস করার জন্য আলাদা API আছে যাতে Android-এ এজ-টু-এজ ফাংশনালিটি কাজ করে। material3 কম্পোনেন্ট থেকে আলাদা, material2 কম্পোনেন্ট ডিফল্ট হিসেবে ইনসেট সাপোর্ট করে না এবং ভ্যালু ম্যানুয়ালি পাস করতে হয়। নির্দেশিকা পেতে সংশ্লিষ্ট নমুনা দেখুন। (I655e8)

ভার্সন 1.6.0-alpha02

২৬ জুলাই, ২০২৩

androidx.compose.material:material-*:1.6.0-alpha02 রিলিজ করা হয়েছে। 1.6.0-alpha02 ভার্সনে এই কমিটগুলি রয়েছে।

API-তে পরিবর্তন

  • আমরা কম্পোনেন্ট লেভেলে ঘনত্ব সংক্রান্ত নির্ভরতা সরিয়ে দিচ্ছি। এটি নিম্নলিখিত কম্পোনেন্টের ক্ষেত্রে প্রযোজ্য: SwipeToDismiss এবং শিট ভিত্তিক কম্পোনেন্ট। যেখানে ঘনত্ব একটি প্যারামিটার, সেখানে নতুন ওভারলোড ব্যবহার করুন। (I1846e)
  • কম্পোজ করার উপযুক্ত আইটেমে অনুমোদিত ইনপুট নির্দিষ্ট করার জন্য অতিরিক্ত অ্যানোটেশন (I51109)
  • মানানসই হওয়া সংক্রান্ত সমস্যা লুকানোর জন্য আপডেট করা API ফাইল (I8e87a, b/287516207)
  • FabPosition-এর জন্য নতুন স্টার্ট অ্যালাইনমেন্ট যোগ করা হয়েছে (Ib7aea, b/170592777)
  • TextFieldColors-এর পরিবর্তে Material 2-এ TextFieldColorsWithIcons বন্ধ করা হয়েছে। leadingIconColor বা trailingIconColor ওভাররাইড করার সময়, interactionSource-এর মাধ্যমে ওভারলোডও ওভাররাইড করুন। (Id57ed, b/199377790)

ভার্সন 1.6.0-alpha01

২১ জুন, ২০২৩

androidx.compose.material:material-*:1.6.0-alpha01 রিলিজ করা হয়েছে। ভার্সন 1.6.0-alpha01-এ এইসব কমিট আছে।

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

  • includeFontPadding এখন Material 2 টাইপোগ্রাফিতে false হিসেবে ডিফল্ট সেট করা আছে। এছাড়াও, ডিফল্ট লাইন হাইট স্টাইল পরিবর্তন করে Trim.None ও Alignment.Center করা হয়েছে এবং Typography-এর TextStyle-এ এক্সপ্লিসিট lineHeight (sp-তে) যোগ করা হয়েছে। আপনি এইসব ভ্যালু কাস্টমাইজ করতে চাইলে, API ডকুমেন্ট দেখুন এবং এইসব পরিবর্তনের বিস্তারিত ব্যাখ্যা পেতে ব্লগ পোস্ট পড়ুন। (Icabc3, I3f801, I04c03)

API-তে পরিবর্তন

  • Material-এর Swipeable API বন্ধ করে দেওয়া হয়েছে। সহজ ও জটিল, উভয় ধরনের ব্যবহারের ক্ষেত্রেই অপ্টিমাইজ করা Foundation-এর AnchoredDraggable API দেখুন। (I732e0)

সমস্যার সমাধান

  • BottomSheetState, ModalBottomSheetState ও BottomDrawerState এখন একটি প্রগ্রেস প্রপার্টি এক্সপোজ করে যা বর্তমান (সেটেল করা) অ্যাঙ্কর ও সোয়াইপ করার দিকের সবচেয়ে কাছের অ্যাঙ্করের মধ্যে প্রগ্রেস নির্দেশ করে। (I1b317, b/271169225, b/276375124, b/276776071, b/270066861)

ভার্সন 1.5

ভার্সন 1.5.4

১৮ অক্টোবর, ২০২৩

androidx.compose.material:material-*:1.5.4 রিলিজ করা হয়েছে। 1.5.4 ভার্সনে এইসব কমিট আছে।

ভার্সন 1.5.3

৪ অক্টোবর, ২০২৩

androidx.compose.material:material-*:1.5.3 রিলিজ করা হয়েছে। এই ভার্সনে কোনও পরিবর্তন করা হয়নি

ভার্সন 1.5.2

২৭ সেপ্টেম্বর, ২০২৩

androidx.compose.material:material-*:1.5.2 রিলিজ করা হয়েছে। ভার্সন 1.5.2-এ এইসব কমিট রয়েছে।

ভার্সন 1.5.1

৬ সেপ্টেম্বর, ২০২৩

androidx.compose.material:material-*:1.5.1 কোনও পরিবর্তন ছাড়াই রিলিজ করা হয়েছে। 1.5.1 ভার্সনে এইসব কমিট রয়েছে।

ভার্সন 1.5.0

৯ আগস্ট, ২০২৩

androidx.compose.material:material-*:1.5.0 রিলিজ করা হয়েছে। 1.5.0 ভার্সনে এইসব কমিট আছে।

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

API-তে পরিবর্তন

  • BottomSheetScaffold-এ Swipeable1 API-তে পরিবর্তন করা হয়েছে। BottomSheetState-এর confirmStateChange প্যারামের নাম পরিবর্তন করে confirmValueChange করা হয়েছে। progress এখন ফ্লোট ভ্যালু হিসেবে এক্সপোজ করা হয়েছে। animateTo ও snapTo ইন্টার্নাল। এর পরিবর্তে expand() ও collapse() ব্যবহার করুন। direction ও overflow সরিয়ে দেওয়া হয়েছে। offset-এর পরিবর্তে requireOffset() ব্যবহার করা হয়েছে। I323b4
  • Drawer-এ snapTo ফাংশনকে এক্সপেরিমেন্টাল API হিসেবে চিহ্নিত করুন। (Ib9c18, b/261425368)
  • বৃত্তাকার প্রগ্রেস ইন্ডিকেটরের জন্য ট্র্যাক কালার প্যারামিটার এবং বৃত্তাকার ও লিনিয়ার প্রগ্রেস ইন্ডিকেটর দুটির জন্যই স্ট্রোক ক্যাপ প্যারামিটার যোগ করা হয়েছে। (Ie668c, b/216325962, b/222964817)
  • ModalBottomSheetState, ModalBottomSheetState.Saver ও rememberModalBottomSheetState-এর confirmStateChange-এর নাম পরিবর্তন করে confirmValueChange করা হয়েছে। (Ib48d1)
  • Modifier.minimumInteractiveComponentSize যোগ করুন। কোনও এলিমেন্ট ছোট হলে, টাচ ইন্টার‍্যাকশনকে দ্ব্যর্থতা নিরসন করার জন্য কমপক্ষে ৪৮.dp সাইজের জায়গা রিজার্ভ করতে এটি ব্যবহার করা যেতে পারে। (I33f58, b/258495559)
  • ModalBottomSheetLayout-এ সোয়াইপ করা যায় এমন API-তে পরিবর্তন করা হয়েছে। ModalBottomSheetState-এর animateTo আর animationSpec প্যারামিটার নেয় না এবং অফসেট এক্সপোজ করা এখন নাল হতে পারে। অফসেট প্রয়োজন হলে requireOffset ব্যবহার করুন। (Ia2e79)
  • @JvmDefaultWithCompatibility অ্যানোটেশন (I8f206) যোগ করা হচ্ছে
  • ModalDrawer. DrawerState-এর animateTo-এ সোয়াইপ করা যায় এমন API-তে অন্তর্ভুক্ত পরিবর্তনগুলি এখন খোলা ও বন্ধ করার পদ্ধতি দ্বারা প্রতিস্থাপিত হয়েছে এবং অফসেট এখন নাল হতে পারে। অফসেট প্রয়োজন হলে requireOffset ব্যবহার করুন। (I3de9e)
  • জেসচার স্ক্রল ইভেন্ট হয়ে গেলে, প্রেস ডিলে করার জন্য ড্রয়ার ও শিট আপডেট করা হয়েছে।
  • মেটেরিয়াল ও মেটেরিয়াল3 টেক্সটে minLines প্যারামিটার যোগ করা হয়েছে এবং TextField ও OutlinedTextField যা লাইনের সংখ্যার (I4af1d) ভিত্তিতে কম্পোনেন্টের ন্যূনতম উচ্চতা সেট করার অনুমতি দেয়

সমস্যার সমাধান

  • pullRefresh ভেলোসিটি ব্যবহার না করার ফলে ওভারস্ক্রল দেখানোর সমস্যা সমাধান করা হয়েছে। এছাড়াও, onRelease lambda-এর API সিগনেচার Modifier.pullRefresh-এ পরিবর্তন করে, ব্যবহৃত ভেলোসিটির জন্য একটি ফ্লোট রিটার্ন করা হয়েছে (I7db65, b/266874741)
  • BottomSheetState, ModalBottomSheetState এবং BottomDrawerState এখন একটি প্রগ্রেস প্রপার্টি এক্সপোজ করে যা বর্তমান (সেটেল করা) অ্যাঙ্কর এবং সোয়াইপ করার দিকের সবচেয়ে কাছের অ্যাঙ্করের মধ্যে প্রগ্রেস নির্দেশ করে। (I1b317, b/271169225, b/276375124, b/276776071, b/270066861)
  • ডায়ালগের প্রস্থের মধ্যে অ্যাকশনগুলি ফিট করার জন্য একটির উপরে আরেকটি স্ট্যাক করা হলে, কনফার্ম অ্যাকশনের নিচে AlertDialog বাতিল করার অ্যাকশন দেখানোর বিষয়টি সমাধান করা হয়েছে। এই সমাধানটি মেটেরিয়াল ডিজাইন স্পেসিফিকেশনের সাথে ইমপ্লিমেন্টেশনকে অ্যালাইন করে। (I029de, b/235454277)
  • gesturesEnabled false হিসেবে সেট করা থাকলে, BottomSheetScaffold আর নেস্টেড স্ক্রলে অংশগ্রহণ করবে না। (I634f3, b/215403277)
  • সেই সমস্যার সমাধান করা হয়েছে যেখানে স্লটের জন্য খালি কন্টেন্ট প্রদান করা হলে BottomSheetScaffold ক্র্যাশ হয়ে যেত। (Ib24a5, b/235588730)
  • PullRefreshIndicator ইন্টারসেপ্ট করা ক্লিক/পয়েন্টার ইভেন্ট সংক্রান্ত সমস্যার সমাধান করে। (2494256, b/271777421)
  • দিক পরিবর্তন করার সময় ModalBottomSheetLayout ক্র্যাশ হয়ে যাওয়া সংক্রান্ত সমস্যার সমাধান করা হয়েছে। শিটের কন্টেন্টে লেআউট অ্যানিমেশন (যেমন, Modifier.animateContentSize) এখন মসৃণভাবে কাজ করে। (I2f981, b/266780234)

ভার্সন 1.5.0-rc01

২৬ জুলাই, ২০২৩

androidx.compose.material:material-*:1.5.0-rc01 রিলিজ করা হয়েছে। ভার্সন 1.5.0-rc01-এ এইসব কমিট আছে।

ভার্সন 1.5.0-beta03

২৮ জুন, ২০২৩

androidx.compose.material:material-*:1.5.0-beta03 রিলিজ করা হয়েছে। 1.5.0-beta03 ভার্সনে এইসব কমিট আছে।

সমস্যার সমাধান

  • BottomSheetState, ModalBottomSheetState এবং BottomDrawerState এখন একটি প্রগ্রেস প্রপার্টি এক্সপোজ করে যা বর্তমান (সেটেল করা) অ্যাঙ্কর এবং সোয়াইপ করার দিকের সবচেয়ে কাছের অ্যাঙ্করের মধ্যে প্রগ্রেস নির্দেশ করে। (I1b317, b/271169225, b/276375124, b/276776071, b/270066861)

ভার্সন 1.5.0-beta02

৭ জুন, ২০২৩

androidx.compose.material:material-*:1.5.0-beta02 রিলিজ করা হয়েছে। 1.5.0-beta02 ভার্সনে এইসব কমিট আছে।

ভার্সন 1.5.0-beta01

২৪ মে, ২০২৩

androidx.compose.material:material-*:1.5.0-beta01 রিলিজ করা হয়েছে। 1.5.0-beta01 ভার্সনে এইসব কমিট আছে।

API-তে পরিবর্তন

  • DrawerState ও BottomDrawerState-এর অফসেট আর নাল হতে পারবে না। এর পরিবর্তে, অফসেট না থাকলে Float.NaN রিটার্ন করে। (Ie9855)
  • DropdownMenu বা ExposedDropdownMenu তৈরি করার সময় ScrollState পাস করার একটি বিকল্প যোগ করা হয়েছে, এর মাধ্যমে দেখানো মেনু আইটেমের উল্লম্ব স্ক্রল স্টেট কন্ট্রোল করা যায়। (Idb009, b/185304441)
  • ModalBottomSheetLayout-এর জেসচার চালু/বন্ধ করার জন্য সহায়তা যোগ করুন যাতে ব্যবহারকারী আরও ফিচারযুক্ত বটমশিটের (I40af0) জন্য এটি কনফিগার করতে পারেন
  • টেক্সটের রঙ অ্যানিমেট বা সেট করার জন্য BasicText-এ কালার প্যারামিটার যোগ করা হয়েছে। (Iffd88, b/246961787)
  • Semantics প্রপার্টির নাম পরিবর্তন করে isContainer থেকে isTraversalGroup করা হয়েছে (I121f6)

সমস্যার সমাধান

  • ডায়ালগের প্রস্থের মধ্যে অ্যাকশনগুলি ফিট করার জন্য একটির উপরে আরেকটি স্ট্যাক করা হলে, কনফার্ম অ্যাকশনের নিচে AlertDialog বাতিল করার অ্যাকশন দেখানোর বিষয়টি সমাধান করা হয়েছে। এই সমাধানটি মেটেরিয়াল ডিজাইন স্পেসিফিকেশনের সাথে ইমপ্লিমেন্টেশনকে অ্যালাইন করে। (I029de, b/235454277)

ভার্সন 1.5.0-alpha04

১০ মে, ২০২৩

androidx.compose.material:material-*:1.5.0-alpha04 রিলিজ করা হয়েছে। 1.5.0-alpha04 ভার্সনে এইসব কমিট রয়েছে।

API-তে পরিবর্তন

  • আমরা কম্পোনেন্ট লেভেলে ঘনত্ব সংক্রান্ত নির্ভরতা সরিয়ে দিচ্ছি। এটি নিম্নলিখিত কম্পোনেন্টগুলির ক্ষেত্রে প্রযোজ্য: BottomDrawer, ModalBottomSheetLayout, BottomSheetScaffold, Switch, ModalDrawer. যেখানে ঘনত্ব একটি প্যারামিটার, সেখানে নতুন ওভারলোড ব্যবহার করুন। (I8fbd8)

ভার্সন 1.5.0-alpha03

১৯ এপ্রিল, ২০২৩

androidx.compose.material:material-*:1.5.0-alpha03 রিলিজ করা হয়েছে। ভার্সন 1.5.0-alpha03-এ এইসব কমিট রয়েছে।

API-তে পরিবর্তন

  • নতুন SwipeableV2 API ব্যবহার করতে BottomDrawer ইন্টার্নাল আপডেট করুন। এই কারণে, BottomDrawerState-এ এখন শুধুমাত্র ক্লাস লেভেলে সংজ্ঞায়িত API থাকবে, এটি SwipeableState থেকে পদ্ধতি/প্রপার্টি ইনহেরিট করবে না। আমরা ইন্টার্নাল SwipeableV2State সহ কম্পোজিশন ব্যবহার করছি। অফসেট এখন একটি নাল মান গ্রহণযোগ্য ফ্লোটিং পয়েন্ট প্রপার্টি, বর্তমান মান এবং সোয়াইপ টার্গেট মান এখনও currentValue এবং targetValue প্রপার্টির মাধ্যমে অ্যাক্সেস করা যাবে। আগের ক্লাস লেভেল পদ্ধতি যেমন, খোলা/বড় করা/বন্ধ করা এবং isOpen/isClosed-এর মতো প্রপার্টি এখনও কাজ করে। (Iad40c, b/178529942, b/220676296)

সমস্যার সমাধান

  • Switch কম্পোনেন্টের ইন্টার্নাল আপডেট করা হয়েছে। এখন ড্র্যাগ করার সময় সুইচটি সবচেয়ে কাছের (টার্গেট স্টেট) প্রিভিউ দেখাবে। (Id90d4)
  • BottomSheetScaffold-এ অ্যানিমেটেড শিট কন্টেন্ট (যেমন, Modifier.animateContentSize শিট কন্টেন্টে) অপ্টিমাইজ করা হয়েছে এবং এখন এটি মসৃণভাবে কাজ করে। (Ia913c, b/270518202, b/254446195)
  • gesturesEnabled-এর মান false হিসেবে সেট করা থাকলে, BottomSheetScaffold আর নেস্টেড স্ক্রলে অংশগ্রহণ করবে না। (I634f3, b/215403277)

ভার্সন 1.5.0-alpha02

৫ এপ্রিল, ২০২৩

androidx.compose.material:material-*:1.5.0-alpha02 রিলিজ করা হয়েছে। 1.5.0-alpha02 ভার্সনে এইসব কমিট আছে।

সমস্যার সমাধান

  • সেই সমস্যার সমাধান করা হয়েছে যেখানে স্লটের জন্য খালি কন্টেন্ট প্রদান করা হলে BottomSheetScaffold ক্র্যাশ হয়ে যেত। (Ib24a5, b/235588730)
  • ক্লিক / পয়েন্টার ইভেন্ট PullRefreshIndicator ইন্টারসেপ্ট করা সংক্রান্ত সমস্যার সমাধান (2494256, b/271777421)

ভার্সন 1.5.0-alpha01

২২ মার্চ, ২০২৩

androidx.compose.material:material-*:1.5.0-alpha01 রিলিজ করা হয়েছে। ভার্সন 1.5.0-alpha01-এ এইসব কমিট রয়েছে।

সমস্যার সমাধান

  • chipgroup রিফ্লো স্যাম্পেল যোগ করুন। সিঙ্গেল লাইন চিপগ্রুপ স্যাম্পেলে চাইল্ড চিপের মধ্যে অনুভূমিক প্যাডিং স্পেসিফিকেশন অনুযায়ী আপডেট করুন। (I3b155)
  • দিক পরিবর্তন করার সময় ModalBottomSheetLayout ক্র্যাশ হয়ে যাওয়া সংক্রান্ত সমস্যার সমাধান করা হয়েছে। শিটের কন্টেন্টে লেআউট অ্যানিমেশন (যেমন, Modifier.animateContentSize) এখন মসৃণভাবে কাজ করে। (I2f981, b/266780234)

ভার্সন 1.4

ভার্সন 1.4.3

৩ মে, ২০২৩

androidx.compose.material:material-*:1.4.3 কোনও পরিবর্তন ছাড়াই রিলিজ করা হয়েছে (শুধুমাত্র ভার্সন আপডেট করা হয়েছে)।

ভার্সন 1.4.2

১৯ এপ্রিল, ২০২৩

androidx.compose.material:material-*:1.4.2 রিলিজ করা হয়েছে। 1.4.2 ভার্সনে এইসব কমিট রয়েছে।

ভার্সন 1.4.1

৫ এপ্রিল, ২০২৩

androidx.compose.material:material-*:1.4.1 রিলিজ করা হয়েছে। 1.4.1 ভার্সনে এইসব কমিট রয়েছে।

ভার্সন 1.4.0

২২ মার্চ, ২০২৩

androidx.compose.material:material-*:1.4.0 রিলিজ করা হয়েছে। 1.4.0 ভার্সনে এই কমিটগুলি রয়েছে।

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

API-তে পরিবর্তন

  • Modifier.minimumInteractiveComponentSize যোগ করুন। কোনও এলিমেন্ট ছোট হলে, টাচ ইন্টার‍্যাকশনকে দ্ব্যর্থতা নিরসন করার জন্য কমপক্ষে ৪৮.dp সাইজের জায়গা রিজার্ভ করতে এটি ব্যবহার করা যেতে পারে। (I33f58, b/258495559)
  • ModalDrawer-এ সোয়াইপ করা যায় এমন API-তে পরিবর্তন করা হয়েছে। DrawerState-এর animateTo-এর জায়গায় ওপেন ও ক্লোজ মেথড ব্যবহার করা হয়েছে এবং অফসেট এখন নাল হতে পারে। অফসেট প্রয়োজন হলে requireOffset ব্যবহার করুন। (I3de9e)
  • মেটেরিয়াল ও মেটেরিয়াল3 টেক্সটে minLines প্যারামিটার যোগ করা হয়েছে এবং TextField ও OutlinedTextField যা লাইনের সংখ্যার (I4af1d) ভিত্তিতে কম্পোনেন্টের ন্যূনতম উচ্চতা সেট করার অনুমতি দেয়
  • BasicText ও BasicTextField-এ minLines প্যারামিটার যোগ করা হয়েছে। এটি লাইনের সংখ্যার (I24294, b/122476634) ভিত্তিতে এই কম্পোজ করার উপযুক্ত আইটেমের ন্যূনতম উচ্চতা সেট করতে দেয়

ভার্সন 1.4.0-rc01

৮ মার্চ, ২০২৩

androidx.compose.material:material-*:1.4.0-rc01 কোনও পরিবর্তন ছাড়াই রিলিজ করা হয়েছে। 1.4.0-rc01 ভার্সনে এইসব কমিট রয়েছে।

ভার্সন 1.4.0-beta02

২২ ফেব্রুয়ারি, ২০২৩

androidx.compose.material:material-*:1.4.0-beta02 রিলিজ করা হয়েছে। 1.4.0-beta02 ভার্সনে এইসব কমিট রয়েছে।

API-তে পরিবর্তন

  • BottomSheetScaffold-এ সোয়াইপ করা যায় এমন API-তে পরিবর্তন করা হয়েছে। BottomSheetState-এর confirmStateChange প্যারামের নাম পরিবর্তন করে confirmValueChange করা হয়েছে। progress এখন ফ্লোট ভ্যালু হিসেবে এক্সপোজ করা হয়েছে। animateTo ও snapTo ইন্টার্নাল। এর পরিবর্তে expand() ও collapse() ব্যবহার করুন। direction ও overflow সরিয়ে দেওয়া হয়েছে। offset-এর পরিবর্তে requireOffset() ব্যবহার করা হয়েছে। (I323b4)

সমস্যার সমাধান

  • ক্লিক করা যায় ও বেছে নেওয়া যায় এমন সারফেস থেকে সিম্যান্টিক ভূমিকা সরানো হয়েছে, মডিফায়ার.সিম্যান্টিক (Ibb4ba) ব্যবহার করে ভূমিকা সেট করার জন্য সেগুলি ব্যবহার করা কম্পোনেন্ট আপডেট করা হয়েছে
  • এক্সটেন্ডেড মেটেরিয়াল আইকনে ছোটখাটো আপডেট করা হয়েছে, যার ফলে ফিল করা desktop_mac, directions ও kitchen আইকনে সামান্য পরিবর্তন হয়েছে। (I65f5e)

ভার্সন 1.4.0-beta01

৮ ফেব্রুয়ারি, ২০২৩

androidx.compose.material:material-*:1.4.0-beta01 রিলিজ করা হয়েছে। 1.4.0-beta01 ভার্সনে এইসব কমিট আছে।

API-তে পরিবর্তন

  • pullRefresh ভেলোসিটি ব্যবহার না করার ফলে ওভারস্ক্রল দেখানোর সমস্যা সমাধান করা হয়েছে। এছাড়াও, onRelease lambda-এর API সিগনেচার Modifier.pullRefresh-এ পরিবর্তন করে, ব্যবহৃত ভেলোসিটির জন্য একটি ফ্লোট রিটার্ন করা হয়েছে (I7db65, b/266874741)
  • রিস্টোর করা প্রপার্টি গেটার LocalMinimuTouchTargetEnforcement এবং এটি বন্ধ করা হয়েছে হিসেবে চিহ্নিত করুন এবং LocalMinimumInteractiveComponentEnforcement-এ রিডাইরেক্ট করুন। (I60dd5)

ভার্সন 1.4.0-alpha05

২৫ জানুয়ারি, ২০২৩

androidx.compose.material:material-*:1.4.0-alpha05 রিলিজ করা হয়েছে। ভার্সন 1.4.0-alpha05-এ এইসব কমিট রয়েছে।

সমস্যার সমাধান

  • ModalBottomSheetLayout's HalfExpanded স্ট্যাটাস ভুলভাবে গণনা করা এবং শীটটি ফ্লোটিং হিসেবে দেখানো সংক্রান্ত সমস্যার সমাধান করা হয়েছে। (I8c615, b/265610459)
  • ModalBottomSheetLayout-এ একটি সমস্যার সমাধান করা হয়েছে যেখানে কিছু পরিস্থিতিতে লুকানো থেকে দৃশ্যমান অবস্থায় যাওয়ার সময় শিট ক্র্যাশ হয়ে যেত। (Ia9265, b/265444789)

ভার্সন 1.4.0-alpha04

১১ জানুয়ারি, ২০২৩

androidx.compose.material:material-*:1.4.0-alpha04 রিলিজ করা হয়েছে। 1.4.0-alpha04 ভার্সনে এইসব কমিট রয়েছে।

API-তে পরিবর্তন

  • সারফেসে IsContainer সিম্যান্টিক্স প্রপার্টি যোগ করা হয়েছে। এই প্রপার্টিটি পরে এমন একটি পরিবর্তনে ব্যবহার করা হবে যা সারফেসের মতো এলিমেন্টের শব্দার্থগত অর্থের উপর ভিত্তি করে ট্রাভার্সাল অর্ডার নির্ধারণ করে। (I63379)
  • Drawer-এ snapTo ফাংশনকে এক্সপেরিমেন্টাল API হিসেবে চিহ্নিত করুন। (Ib9c18, b/261425368)
  • বৃত্তাকার প্রগ্রেস ইন্ডিকেটরের জন্য ট্র্যাক কালার প্যারামিটার এবং বৃত্তাকার ও লিনিয়ার প্রগ্রেস ইন্ডিকেটর দুটির জন্যই স্ট্রোক ক্যাপ প্যারামিটার যোগ করা হয়েছে। (Ie668c, b/216325962, b/222964817)
  • ModalBottomSheetState, ModalBottomSheetState.Saver ও rememberModalBottomSheetState-এর confirmStateChange-এর নাম পরিবর্তন করে confirmValueChange করা হয়েছে। (Ib48d1)
  • পুরনো-লুকানো ফাংশনের আরও রিটার্ন টাইপ নালিবিলিটি (Ibf7b0)
  • Modifier.minimumInteractiveComponentSize যোগ করুন। কোনও এলিমেন্ট ছোট হলে, টাচ ইন্টার‍্যাকশনকে দ্ব্যর্থতা নিরসন করার জন্য কমপক্ষে ৪৮.dp সাইজের জায়গা রিজার্ভ করতে এটি ব্যবহার করা যেতে পারে। (I33f58, b/258495559)
  • ModalBottomSheetLayout-এ সোয়াইপ করা যায় এমন API-তে পরিবর্তন করা হয়েছে। ModalBottomSheetState-এর animateTo আর animationSpec প্যারামিটার নেয় না এবং offset এক্সপোজ করা এখন নাল হতে পারে। offset-এর প্রয়োজন হলে requireOffset ব্যবহার করুন। (Ia2e79)

সমস্যার সমাধান

  • ModalBottomSheetLayout-এর শিটের সর্বাধিক প্রস্থ এখন ৬৪০ dp. (I71a4f, b/234927577)
  • rememberPullRefreshState সময়ের সাথে সাথে refreshThreshold ও refreshingOffset আপডেট না হওয়া সংক্রান্ত সমস্যার সমাধান করা হয়েছে। (Ifed10, b/263159832)
  • প্রোগ্রেস ইন্ডিকেটরের প্রোগ্রেস এখন সঠিকভাবে এর প্রত্যাশিত রেঞ্জের মধ্যে সীমাবদ্ধ। (I8a7eb, b/262262727)
  • ModalBottomSheetState এখনও কোনও অ্যাঙ্কর না পেলে, ব্যতিক্রম না ঘটিয়ে snapTo বা animateTo কল করা হলে, এটি অ্যানিমেশন ছাড়াই currentValue আপডেট করবে। (I2c91b)
  • Material 2 FilterChip ইমপ্লিমেন্টেশনে চালু করা অবস্থা সংক্রান্ত সমস্যার সমাধান করা হয়েছে। (Id326a, b/261329817)
  • পোর্ট্রেট থেকে ল্যান্ডস্কেপে ঘোরানোর সময় ModalBottomSheetLayout, HalfExpanded হলে সেটি ক্র্যাশ হয়ে যাওয়া সংক্রান্ত সমস্যার সমাধান করা হয়েছে। আপনি সঠিক initialValue পাস করছেন কিনা তা নিশ্চিত করুন, যেমন কনফিগারেশন চেক করে। (Ie8df7, b/182882364)
  • শীটের কন্টেন্ট খালি থাকলে ModalBottomSheetLayout ক্র্যাশ হয়ে যাওয়া সংক্রান্ত সমস্যার সমাধান করা হয়েছে। ModalBottomSheetLayout এখন খালি শিট কন্টেন্ট ব্যবহার করার অনুমতি দেয়। শিটের কন্টেন্ট খালি থাকলে, সেটির শুধুমাত্র 'লুকানো' স্ট্যাটাস থাকবে। (Ic2288, b/200980998, b/216693030)

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

  • androidx.compose.foundation:1.4.0-alpha03 থেকে androidx.compose.foundation:1.4.0-alpha04-এ আপডেট করার সময়, আপনি java.lang.NoSuchFieldError সমস্যা দেখতে পেতে পারেন। এখানেই প্রথম সমস্যাটি সম্পর্কে অভিযোগ জানানো হয়েছিল। সমস্যার সমাধান জমা দেওয়া হয়েছে এবং পরবর্তী কম্পোজ আপডেটেই এটি উপলভ্য হবে। এর বিকল্প হিসেবে, আপনার androidx.compose.material ও androidx.compose.material3 লাইব্রেরি লেটেস্ট ভার্সনে(1.1.0-alpha04) আপডেট করুন অথবা androidx.compose.foundation ভার্সন 1.4.0-alpha03-এ ডাউনগ্রেড করুন।

ভার্সন 1.4.0-alpha03

৭ ডিসেম্বর, ২০২২

androidx.compose.material:material-*:1.4.0-alpha03 রিলিজ করা হয়েছে। 1.4.0-alpha03 ভার্সনে এই কমিটগুলি রয়েছে।

API-তে পরিবর্তন

  • @JvmDefaultWithCompatibility অ্যানোটেশন (I8f206) যোগ করা হচ্ছে
  • ModalDrawer-এ Swipeable API-তে পরিবর্তন করা হয়েছে। DrawerState-এর animateTo-কে open ও close পদ্ধতি দিয়ে প্রতিস্থাপন করা হয়েছে এবং অফসেট এখন নাল হতে পারে। অফসেট প্রয়োজন হলে requireOffset ব্যবহার করুন। (I3de9e)
  • পূর্বপুরুষদের স্ক্রল সংক্রান্ত তথ্য কোয়েরি করার জন্য একটি মডিফায়ার API যোগ করা হয়েছে। (I2ba9d, b/203141462)
  • Clickable-এ প্রেস ইন্টার‍্যাকশন সঠিকভাবে ডিলে করতে ব্যবহার করা হয়, যখন জেসচার স্ক্রল ইভেন্ট হয়ে যেতে পারে।
  • Clickables-এর মধ্যে ব্যবহার করা হলে, Scrollable ViewGroup সঠিকভাবে বিলম্বিত না করার সমস্যা সমাধান করা হয়েছে।
  • জেসচার স্ক্রল ইভেন্ট হয়ে গেলে, প্রেস ডিলে করার জন্য ড্রয়ার ও শিট আপডেট করা হয়েছে।

সমস্যার সমাধান

  • onRefresh কল করার পরে PullRefreshIndicator আটকে যেতে পারে, যদি রিফ্রেশ করার স্ট্যাটাস পরিবর্তন করে 'সত্য' করা না হয়, এই ধরনের সমস্যার সমাধান করা হয়েছে। (Ie2416, b/248274004)

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

  • Compose UI ও Compose Material এখন Lifecycle 2.5.1-এর উপর নির্ভর করে। (I05ab0, b/258038814)

ভার্সন 1.4.0-alpha02

৯ নভেম্বর, ২০২২

androidx.compose.material:material-*:1.4.0-alpha02 রিলিজ করা হয়েছে। 1.4.0-alpha02 ভার্সনে এই কমিটগুলি রয়েছে।

API-তে পরিবর্তন

  • awaitFirstDown ও waitForUpOrCancellation এখন আরও বেশি নমনীয়তার জন্য PointerEventPass গ্রহণ করে। (I7579a, b/212091796)
  • মেটেরিয়াল ও মেটেরিয়াল3 টেক্সটে minLines প্যারামিটার যোগ করা হয়েছে এবং TextField ও OutlinedTextField যা লাইনের সংখ্যার (I4af1d) ভিত্তিতে কম্পোনেন্টের ন্যূনতম উচ্চতা সেট করার অনুমতি দেয়
  • BasicTex ও BasicTextField-এ minLines প্যারামিটার যোগ করা হয়েছে। এটি লাইনের সংখ্যা (I24294, b/122476634) অনুযায়ী এইসব কম্পোজ করার উপযুক্ত আইটেমের ন্যূনতম উচ্চতা সেট করতে দেয়

ভার্সন 1.4.0-alpha01

২৪ অক্টোবর, ২০২২

androidx.compose.material:material-*:1.4.0-alpha01 রিলিজ করা হয়েছে। ভার্সন 1.4.0-alpha01-এ এইসব কমিট রয়েছে।

API-তে পরিবর্তন

  • জেসচার ডিটেক্টরদের জন্য একটি নতুন পদ্ধতি, awaitEachGesture(), যোগ করা হয়েছে। এটি forEachGesture()-এর মতো কাজ করে, কিন্তু জেসচার ওভার লুপ সম্পূর্ণভাবে AwaitPointerEventScope-এর মধ্যে কাজ করে, তাই ইটারেশনের মধ্যে ইভেন্ট হারিয়ে যায় না।
  • awaitEachGesture()-এর জন্য forEachGesture() বন্ধ করে দেওয়া হয়েছে কারণ এটি জেসচারের মধ্যে ইভেন্ট হারিয়ে যেতে দেয়। (Iffc3f, b/251260206)

ভার্সন 1.3

ভার্সন 1.3.1

৯ নভেম্বর, ২০২২

androidx.compose.material:material-*:1.3.1 রিলিজ করা হয়েছে। 1.3.1 ভার্সনে এইসব কমিট রয়েছে।

ভার্সন 1.3.0

২৪ অক্টোবর, ২০২২

androidx.compose.material:material-*:1.3.0 রিলিজ করা হয়েছে। 1.3.0 ভার্সনে এই কমিটগুলি রয়েছে।

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

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

  • ডায়ালগ ও পপ-আপে সর্বাধিক কাজ করে এমন এলিভেশন কমিয়ে ৮dp করা হয়েছে।

API-তে পরিবর্তন

  • Compose-এ (I29168) একটি 'টেনে এনে রিফ্রেশ করা' কম্পোনেন্ট যোগ করুন।
  • RangeSlider-এ (I3b79a) প্যারামিটারের নাম values থেকে value-তে পরিবর্তন করুন।

ভার্সন 1.3.0-rc01

৫ অক্টোবর, ২০২২

androidx.compose.material:material-*:1.3.0-rc01 রিলিজ করা হয়েছে। ভার্সন 1.3.0-rc01-এ এইসব কমিট রয়েছে।

ভার্সন 1.3.0-beta03

২১ সেপ্টেম্বর, ২০২২

androidx.compose.material:material-*:1.3.0-beta03 রিলিজ করা হয়েছে। 1.3.0-beta03 ভার্সনে এইসব কমিট রয়েছে।

API-তে পরিবর্তন

  • Compose-এ 'টেনে এনে রিফ্রেশ করা' কম্পোনেন্ট যোগ করা (I29168)

ভার্সন 1.3.0-beta02

৭ সেপ্টেম্বর, ২০২২

androidx.compose.material:material-*:1.3.0-beta02 রিলিজ করা হয়েছে। 1.3.0-beta02 ভার্সনে এইসব কমিট আছে।

1.3.0-beta01 ভার্সনের পর থেকে কোনও পরিবর্তন করা হয়নি

ভার্সন 1.3.0-beta01

২৪ আগস্ট, ২০২২

androidx.compose.material:material-*:1.3.0-beta01 রিলিজ করা হয়েছে। ভার্সন 1.3.0-beta01-এ এইসব কমিট আছে।

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

ডায়ালগ ও পপ-আপে সর্বাধিক কাজ করে এমন এলিভেশন কমিয়ে ৮dp করা হয়েছে।

Compose ডায়ালগ ও পপ-আপের জন্য অনুমোদিত সর্বাধিক এলিভেশন ৩০dp থেকে কমিয়ে ৮dp করা হয়েছে। এই পরিবর্তন মেটেরিয়াল ও UI কাস্টম ডায়ালগ ও পপ-আপ, দু'টির উপরেই প্রভাব ফেলে। S-এর আগের Android ভার্সনে অ্যাক্সেসিবিলিটি সংক্রান্ত সমস্যা কমানোর জন্য এই পরিবর্তন করা হয়েছে এবং এটি নিশ্চিত করে যে সেইসব উইন্ডোর মধ্যে থাকা অ্যাক্সেসিবিলিটি পরিষেবা ডায়ালগ বা পপ-আপের কন্টেন্টের সাথে ইন্টার‍্যাক্ট করতে পারবে।

আপনি যদি ৮dp-এর বেশি লেভেলে এলিভেশন সেট করে কাস্টম ডায়ালগ বা পপ-আপ প্রয়োগ করেন, তাহলেই এই পরিবর্তনের কারণে আপনার উপর প্রভাব পড়বে। আপনার ডায়ালগ বা পপ-আপের এলিভেশন কমানোর কথা বিবেচনা করুন। এই নতুন আচরণ থেকে বেরিয়ে আসতে চাইলে, পছন্দমতো এলিভেশন সেট করা আপনার নিজস্ব ডায়ালগ বা পপ-আপ ফর্ক করার কথা বিবেচনা করুন। এটি সাজেস্ট করা হয় না, কারণ এর ফলে অ্যাক্সেসিবিলিটি নেতিবাচকভাবে প্রভাবিত হতে পারে এবং ডায়ালগ বা পপ-আপের নিচের অংশ অ্যাক্সেসিবিলিটি পরিষেবার মাধ্যমে ইন্ট্যার‍্যাক্ট করা ও পড়া যায় কিনা তা নিশ্চিত করার দায়িত্ব ডেভেলপারের।

ভার্সন 1.3.0-alpha03

১০ আগস্ট, ২০২২

androidx.compose.material:material-*:1.3.0-alpha03 রিলিজ করা হয়েছে। ভার্সন 1.3.0-alpha03-এ এইসব কমিট আছে।

ভার্সন 1.3.0-alpha02

২৭ জুলাই, ২০২২

androidx.compose.material:material-*:1.3.0-alpha02 রিলিজ করা হয়েছে। 1.3.0-alpha02 ভার্সনে এই কমিটগুলি রয়েছে।

এক্সটার্নাল কন্ট্রিবিউশন

  • Scaffold-এ FloatingActionButton-এর সাথে AnimatedVisibility সংক্রান্ত সমস্যার সমাধান করা (I3a0ae, b/224005027)

ভার্সন 1.3.0-alpha01

২৯ জুন, ২০২২

androidx.compose.material:material-*:1.3.0-alpha01 রিলিজ করা হয়েছে। 1.3.0-alpha01 ভার্সনে এইসব কমিট আছে।

API-তে পরিবর্তন

  • RangeSlider-এ (I3b79a) values থেকে value-তে প্যারামিটারের নাম পরিবর্তন করুন

সমস্যার সমাধান

  • আরও অর্থপূর্ণ কন্টেন্টের বিবরণ প্রদান করতে ব্যাজের নমুনা আপডেট করুন। (I10b9d)

ভার্সন 1.2

ভার্সন 1.2.1

১০ আগস্ট, ২০২২

androidx.compose.material:material-*:1.2.1 রিলিজ করা হয়েছে। 1.2.1 ভার্সনে এইসব কমিট রয়েছে।

ভার্সন 1.2.0

২৭ জুলাই, ২০২২

androidx.compose.material:material-*:1.2.0 রিলিজ করা হয়েছে। 1.2.0 ভার্সনে এই কমিটগুলি রয়েছে।

ভার্সন 1.2.0-rc03

২৯ জুন, ২০২২

androidx.compose.material:material-*:1.2.0-rc03 রিলিজ করা হয়েছে। ভার্সন 1.2.0-rc03-এ এইসব কমিট রয়েছে।

  • 1.2.0-rc02 ভার্সনের পর থেকে কোনও পরিবর্তন করা হয়নি।

ভার্সন 1.2.0-rc02

২২ জুন, ২০২২

androidx.compose.material:material-*:1.2.0-rc02 রিলিজ করা হয়েছে। ভার্সন 1.2.0-rc02-এ এইসব কমিট রয়েছে।

ভার্সন 1.2.0-rc01

১৫ জুন, ২০২২

androidx.compose.material:material-*:1.2.0-rc01 রিলিজ করা হয়েছে। ভার্সন 1.2.0-rc01-এ এইসব কমিট রয়েছে।

API-তে পরিবর্তন

  • Compose লাইব্রেরির ইন্টারফেস এখন jdk8 ডিফল্ট ইন্টারফেস পদ্ধতি ব্যবহার করে তৈরি করা হয় (I5bcf1)

সমস্যার সমাধান

  • আইকনের পরিবর্তে লেবেলে ব্যাজ অ্যাফিক্স করতে লিডিং আইকন ট্যাব সহ ব্যাজ আপডেট করা হয়। (I90993)

ভার্সন 1.2.0-beta03

১ জুন, ২০২২

androidx.compose.material:material-*:1.2.0-beta03 রিলিজ করা হয়েছে। 1.2.0-beta03 ভার্সনে এইসব কমিট আছে।

সমস্যার সমাধান

  • BottomSheetScaffold টপ অ্যাপ বারের শ্যাডোর উপর ড্র করা সংক্রান্ত সমস্যার সমাধান করা হয়েছে। BottomSheetScaffold এখন Snackbar প্লেস করার সময় শীটের স্টেটও বিবেচনা করে: শীট লুকানো অবস্থায় থাকলে, Snackbar শীট ও FAB-এর উপরে প্লেস করা হয়; শীট বড় করা অবস্থায় থাকলে, Snackbar শীটের নিচে অ্যাঙ্কর করা হয়। (Ia80b5, b/187771422)

ভার্সন 1.2.0-beta02

১৮ মে, ২০২২

androidx.compose.material:material-*:1.2.0-beta02 রিলিজ করা হয়েছে। 1.2.0-beta02 ভার্সনে এইসব কমিট আছে।

ভার্সন 1.2.0-beta01

১১ মে, ২০২২

androidx.compose.material:material-*:1.2.0-beta01 রিলিজ করা হয়েছে। 1.2.0-beta01 ভার্সনে এইসব কমিট আছে।

নতুন ফিচার

  • এটি হল 1.2-এর প্রথম বিটা রিলিজ!

API-তে পরিবর্তন

  • TextFieldDefaults.BorderStroke কম্পোজ করার মতো আইটেমের নাম পরিবর্তন করা হয়েছে যা OutlinedTextField থেকে TextFieldDefaults.BorderBox-এ বর্ডার স্ট্রোক আঁকে। (I5f295)

ভার্সন 1.2.0-alpha08

২০ এপ্রিল, ২০২২

androidx.compose.material:material-*:1.2.0-alpha08 রিলিজ করা হয়েছে। 1.2.0-alpha08 ভার্সনে এইসব কমিট রয়েছে।

API-তে পরিবর্তন

  • PointerInputChange-এ আংশিক কনজাম্পশন (নিচে অথবা পজিশন) বন্ধ করা হয়েছে। পরিবর্তন সম্পূর্ণভাবে প্রয়োগ করতে আপনি consume() ব্যবহার করতে পারেন। অন্য কেউ আগে পরিবর্তনটি ব্যবহার করেছেন কিনা তা নির্ধারণ করতে আপনি isConsumed ব্যবহার করতে পারেন।
  • PointerInputChange::copy() এখন সবসময় একটি অগভীর কপি তৈরি করে। এর অর্থ হল, PointerInputChange-এর একটি কপি ব্যবহার করা হয়ে গেলে, কপিগুলি ব্যবহার করা হয়ে যাবে। আপনি আনবাউন্ড PointerInputChange তৈরি করতে চাইলে, পরিবর্তে কনস্ট্রাক্টর ব্যবহার করুন। (Ie6be4, b/225669674)

ভার্সন 1.2.0-alpha07

৬ এপ্রিল, ২০২২

androidx.compose.material:material-*:1.2.0-alpha07 রিলিজ করা হয়েছে। 1.2.0-alpha07 ভার্সনে এইসব কমিট রয়েছে।

ভার্সন 1.2.0-alpha06

২৩ মার্চ, ২০২২

androidx.compose.material:material-*:1.2.0-alpha06 রিলিজ করা হয়েছে। ভার্সন 1.2.0-alpha06-এ এইসব কমিট রয়েছে।

API-তে পরিবর্তন

  • Surface API-তে (I56bcb) হওয়া পরিবর্তন অনুযায়ী ক্লিক করা যায় এমন Card API-তে আপডেট
  • Material 2 Surface API-তে আপডেট করা হয়েছে যা বেছে নেওয়া ও টগল করা যায় এমন সারফেসের জন্য অতিরিক্ত ওভারলোড করা ফাংশন যোগ করে। (Ifcca5)

ভার্সন 1.2.0-alpha05

৯ মার্চ, ২০২২

androidx.compose.material:material-*:1.2.0-alpha05 রিলিজ করা হয়েছে। ভার্সন 1.2.0-alpha05-এ এইসব কমিট রয়েছে।

API-তে পরিবর্তন

  • LazyVerticalGrid ও LazyHorizontalGrid এখন স্থিতিশীল। (I307c0)
  • LazyVerticalGrid/LazyHorizontalGrid এবং এর সাথে সম্পর্কিত সব API .grid সাবপ্যাকেজে সরানো হয়েছে। androidx.compose.foundation.lazy থেকে androidx.compose.foundation.lazy.grid-এ আপনার ইমপোর্ট আপডেট করুন। (I2d446, b/219942574)
  • WindowInsetsControllerCompat-এর জন্য শুধুমাত্র View-এর উপর নির্ভর করার আগের পরিবর্তনটি ফিরিয়ে আনা হয়েছে এবং আবার Window প্রয়োজন যা কিছু উইন্ডো ফ্ল্যাগ ম্যানেজ করার জন্য প্রয়োজন। সঠিক উইন্ডো ব্যবহার করা হচ্ছে কিনা তা নিশ্চিত করতে WindowCompat.getInsetsController-এর পরিবর্তে ViewCompat.getWindowInsetsController-কে বাতিল করা হয়েছে (যেমন, ভিউ যদি কোনও ডায়ালগে থাকে)। (I660ae, b/219572936)
  • টেক্সট:includeFontPadding এখন ডিফল্ট হিসেবে বন্ধ করা থাকে। includeFontPadding=false-এর ফলে হওয়া ক্লিপিং সংক্রান্ত সমস্যা সমাধান করা হয়েছে এবং লম্বা স্ক্রিপ্টের ক্ষেত্রে কোনও ক্লিপিং হওয়া উচিত নয়। (I31c84, b/171394808)
  • ক্রস অ্যাক্সিস সাইজ (I17723) নির্ধারণ করতে নতুন LazyVerticalGrid API যোগ করা হয়েছে

ভার্সন 1.2.0-alpha04

২৩ ফেব্রুয়ারি, ২০২২

androidx.compose.material:material-*:1.2.0-alpha04 রিলিজ করা হয়েছে। 1.2.0-alpha04 ভার্সনে এইসব কমিট রয়েছে।

API-তে পরিবর্তন

  • Add support for filter chips (I39a6e, b/192585545)
  • TextFieldDecorationBox এবং OutlinedTextFieldDecorationBox যোগ করা হয়েছে। এগুলিBasicTextField এর সাথে একসাথে ব্যবহার করলে, Material Design টেক্সট ফিল্ডের উপর ভিত্তি করে কাস্টম টেক্সট ফিল্ড তৈরি করতে পারবেন, তবে কাস্টমাইজ করার জন্য আরও বিকল্প থাকবে।
  • টেক্সট ফিল্ডে অনুভূমিক ও উল্লম্ব প্যাডিং অ্যাডজাস্ট করার সুবিধা দেওয়া হয়েছে। (I8c9f1, b/203764564, b/191543915, b/189971673, b/183136600, b/179882597, b/168003617)
  • ComposableTarget, ComposableTargetMarker এবং ComposableOpenTarget যোগ করা হয়েছে যা কম্পাইল করার সময় রিপোর্ট করার অনুমতি দেয় যখন কোনও কম্পোজেবল ফাংশন এমন কোনও অ্যাপ্লায়ারকে টার্গেট করে কল করা হয় যা ব্যবহার করার জন্য ডিজাইন করা হয়নি।

    বেশিরভাগ ক্ষেত্রে, কম্পোজ কম্পাইলার প্লাগ-ইন থেকে অ্যানোটেশন অনুমান করা যেতে পারে, তাই এই অ্যানোটেশন সরাসরি ব্যবহার করা বিরল হওয়া উচিত। যেসব ক্ষেত্রে অনুমান করা যায় না তার মধ্যে রয়েছে কাস্টম অ্যাপ্লায়ার তৈরি ও ব্যবহার করা, অ্যাবস্ট্র্যাক্ট কম্পোজ করার উপযুক্ত ফাংশন (যেমন ইন্টারফেস পদ্ধতি), ফিল্ড বা গ্লোবাল ভেরিয়েবল যা কম্পোজ করার উপযুক্ত ল্যাম্বডা (লোকাল ভেরিয়েবল ও প্যারামিটার অনুমান করা হয়), অথবা ComposeNode বা সম্পর্কিত কম্পোজ করার উপযুক্ত ফাংশন ব্যবহার করার সময়।

    কাস্টম অ্যাপ্লায়ারের জন্য, কম্পোজ করা যায় এমন ফাংশন যা ComposeNode বা ReusableComposeNode কল করে, সেগুলিকে ফাংশন ও যেকোনও কম্পোজ করা যায় এমন ল্যামডা প্যারামিটার CompoableTarget টাইপের জন্য অ্যানোটেশন যোগ করতে হবে। তবে, এটি সাজেস্ট করা হয় যে, ComposableTargetMarker দিয়ে অ্যানোটেট করা একটি অ্যানোটেশন তৈরি করুন এবং তারপরে সরাসরি ComposableTarget-এর পরিবর্তে চিহ্নিত অ্যানোটেশন ব্যবহার করুন। ComposableTargetMarker চিহ্নিত কম্পোজ করার উপযুক্ত অ্যানোটেশন হল ComposbleTarget, যার মধ্যে অ্যাপ্লায়ার প্যারামিটার হিসেবে অ্যাট্রিবিউট ক্লাসের সম্পূর্ণ কোয়ালিফায়েড নাম থাকে। ComposableTargetMarker ব্যবহারের উদাহরণ দেখতে anroidx.compose.ui.UiComposable দেখুন। (I38f11)

ভার্সন 1.2.0-alpha03

৯ ফেব্রুয়ারি, ২০২২

androidx.compose.material:material-*:1.2.0-alpha03 রিলিজ করা হয়েছে। 1.2.0-alpha03 ভার্সনে এইসব কমিট রয়েছে।

সমস্যার সমাধান

ভার্সন 1.2.0-alpha02

২৬ জানুয়ারি, ২০২২

androidx.compose.material:material-*:1.2.0-alpha02 রিলিজ করা হয়েছে। 1.2.0-alpha02 ভার্সনে এই কমিটগুলি রয়েছে।

API-তে পরিবর্তন

  • জটিল যুক্তি ছাড়াই আগে থেকে থাকা পদ্ধতির ওভারলোড করা পদ্ধতির সাথে NonRestartableComposable যোগ করা হয়েছে । এটি কল করা হয় এমন ইন্টার্নাল ফাংশনে রিপিট করা সব প্যারামিটারের জন্য কম্পাইলারের জেনারেট করা মেমোরাইজেশন চেক (সমান) কমায়। (I90490)
  • অ্যাকশন চিপের জন্য সহায়তা যোগ করুন (I07100, b/192585545)

ভার্সন 1.2.0-alpha01

১২ জানুয়ারি, ২০২২

androidx.compose.material:material-*:1.2.0-alpha01 রিলিজ করা হয়েছে। 1.2.0-alpha01 ভার্সনে এইসব কমিট রয়েছে।

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

  • এখন Kotlin 1.6.10-এর উপর নির্ভর করে।

এক্সটার্নাল কন্ট্রিবিউশন

  • ModalBottomSheetState-এর কাছে এখন isSkipHalfExpanded ফ্ল্যাগ আছে। এটি কনস্ট্রাক্টরের মাধ্যমে সেট করা যেতে পারে অথবা পরে ModalBottomSheetState-এর isSkipHalfExpanded প্রপার্টি true হিসেবে সেট করে আপডেট করা যেতে পারে। isSkipHalfExpanded-এর ভ্যালু আপডেট করলে শিট আবার কম্পোজ করতে হয়। (I18b86, b/186669820)

ভার্সন 1.1

ভার্সন 1.1.1

২৩ ফেব্রুয়ারি, ২০২২

androidx.compose.material:material-*:1.1.1 রিলিজ করা হয়েছে। 1.1.1 ভার্সনে এইসব কমিট রয়েছে।

সমস্যার সমাধান

  • androidx.compose.ui.platform.RenderNodeLayer.updateDisplayList-এ NullPointerException সংক্রান্ত সমস্যার সমাধান করুন (aosp/1947059, b/206677462)
  • Android-এ ক্লিপবোর্ড থেকে রিড করার সময় ক্লিপবোর্ড কন্টেন্টের কারণে হওয়া ক্র্যাশ সংক্রান্ত সমস্যার সমাধান করা হয়েছে। (I06020, b/197769306)
  • LazyVerticalGrid-এ RTL সংক্রান্ত সমস্যা সমাধান করা হয়েছে (aosp/1931080, b/207510535)

ভার্সন 1.1.0

৯ ফেব্রুয়ারি, ২০২২

androidx.compose.material:material-*:1.1.0 রিলিজ করা হয়েছে। 1.1.0 ভার্সনে এইসব কমিট রয়েছে।

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

  • Android 12-এর জন্য স্থিতিশীল সহায়তা ওভারস্ক্রল এফেক্ট
  • টাচ টার্গেটের সাইজ সংক্রান্ত উন্নতি
  • মনে রাখবেন, Compose 1.0-এর ক্ষেত্রে, মেটেরিয়াল কম্পোনেন্ট, টাচ টার্গেট সাইজের জন্য মেটেরিয়াল অ্যাক্সেসিবিলিটি নির্দেশিকা মেনে চলতে, লেআউট স্পেস বাড়াবে। যেমন, আপনি বোতামের সাইজ ছোট করে সেট করলেও, বোতামের টাচ টার্গেট কমপক্ষে ৪৮x৪৮dp সাইজে প্রসারিত হবে। এটি মেটেরিয়াল ডিজাইন কম্পোনেন্টের একই আচরণে Compose Material-কে অ্যালাইন করে, এর ফলে আপনি ভিউ ও Compose মিশিয়ে ব্যবহার করলেও আচরণে কোনও পরিবর্তন হয় না। এছাড়াও, এই পরিবর্তন নিশ্চিত করে যে আপনি Compose Material কম্পোনেন্ট ব্যবহার করে UI তৈরি করলে, টাচ টার্গেট অ্যাক্সেসিবিলিটির ন্যূনতম প্রয়োজনীয়তা পূরণ হবে।
  • নেভিগেশন রেলের জন্য স্থিতিশীল সহায়তা
  • আগে পরীক্ষামূলক API-এর সংখ্যাকে স্থিতিশীল করে
  • Kotlin-এর নতুন ভার্সনের জন্য সহায়তা

ভার্সন 1.1.0-rc03

২৬ জানুয়ারি, ২০২২

androidx.compose.material:material-*:1.1.0-rc03 রিলিজ করা হয়েছে। Version 1.1.0-rc03-এ এইসব কমিট আছে।

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

মনে রাখবেন, Compose 1.0-এর ক্ষেত্রে, মেটেরিয়াল কম্পোনেন্ট, মেটেরিয়াল অ্যাক্সেসিবিলিটি নির্দেশিকা টাচ টার্গেট সাইজ মেনে চলার জন্য লেআউট স্পেস বাড়াবে। যেমন, আপনি বোতামের সাইজ ছোট করে সেট করলেও, বোতামের টাচ টার্গেট কমপক্ষে ৪৮x৪৮dp সাইজে প্রসারিত হবে। এটি মেটেরিয়াল ডিজাইন কম্পোনেন্টের একই আচরণে Compose Material-কে অ্যালাইন করে, এর ফলে আপনি ভিউ ও Compose মিশিয়ে ব্যবহার করলেও আচরণে কোনও পরিবর্তন হয় না। এছাড়াও, এই পরিবর্তন নিশ্চিত করে যে আপনি Compose Material কম্পোনেন্ট ব্যবহার করে UI তৈরি করলে, টাচ টার্গেট অ্যাক্সেসিবিলিটির ন্যূনতম প্রয়োজনীয়তা পূরণ হবে।

সমস্যার সমাধান

  • ন্যূনতম টাচ টার্গেট মডিফায়ার পরিদর্শন করার সময় লেআউট ইন্সপেক্টরের জন্য আরও ভাল কিছু ডিবাগ তথ্য যোগ করা হয়েছে। (aosp/1955036)

ভার্সন 1.1.0-rc01

১৫ ডিসেম্বর, ২০২১

androidx.compose.material:material-*:1.1.0-rc01 রিলিজ করা হয়েছে। 1.1.0-rc01 ভার্সনে এইসব কমিট রয়েছে।

সমস্যার সমাধান

  • Checkbox-এর (I38b03, b/175198975, b/202309440) জন্য প্রয়োগ করা কর্নার রেডিয়াস সংক্রান্ত সমস্যার সমাধান করুন

ভার্সন 1.1.0-beta04

১ ডিসেম্বর, ২০২১

androidx.compose.material:material-*:1.1.0-beta04 রিলিজ করা হয়েছে। 1.1.0-beta04 ভার্সনে এইসব কমিট আছে।

নতুন ফিচার

  • Kotlin 1.6.0-এর সাথে মানানসই করে আপডেট করা হয়েছে

ভার্সন 1.1.0-beta03

১৭ নভেম্বর, ২০২১

androidx.compose.material:material-*:1.1.0-beta03 রিলিজ করা হয়েছে। 1.1.0-beta03 ভার্সনে এইসব কমিট আছে।

ভার্সন 1.1.0-beta02

৩ নভেম্বর, ২০২১

androidx.compose.material:material-*:1.1.0-beta02 রিলিজ করা হয়েছে। 1.1.0-beta02 ভার্সনে এইসব কমিট রয়েছে।

সমস্যার সমাধান

  • ডাউন ইভেন্টের জন্য সবসময় দেরি না করে, এখন রিপেল ও অন্যান্য ইঙ্গিত শুধুমাত্র তখনই দেরিতে দেখানো হবে যদি সেগুলি Modifier.scrollable() কন্টেনারের মধ্যে থাকে। (Ibefe0, b/203141462)

ভার্সন 1.1.0-beta01

২৭ অক্টোবর, ২০২১

androidx.compose.material:material-*:1.1.0-beta01 রিলিজ করা হয়েছে। 1.1.0-beta01 ভার্সনে এইসব কমিট আছে।

নতুন ফিচার

  • রিপল এখন হোভার ও ফোকাস স্টেট কাজ করে, তাই বোতামের মতো কোনও কম্পোনেন্টের উপর হোভার / ফোকাস করলে এখন সঠিক স্টেট ওভারলে দেখা যাবে।

ভার্সন 1.1.0-alpha06

১৩ অক্টোবর, ২০২১

androidx.compose.material:material-*:1.1.0-alpha06 রিলিজ করা হয়েছে। 1.1.0-alpha06 ভার্সনে এইসব কমিট আছে।

API-তে পরিবর্তন

  • লেআউটের জন্য চাইল্ড-লেস ওভারলোড যোগ করা হয়েছে, যার ফলে কার্যকারিতা উন্নত হয়েছে (Ib0d9a)
  • TextField ও DropdownMenu সহ ExposedDropdownMenuBox-এর উপর ভিত্তি করে ExposedDropdownMenu-এর প্রয়োগ (If60b2)
  • PopupProperties-এ dismissOnOutsideClick যোগ করা হয়েছে, এর ফলে dismissOnClickOutside সরিয়ে দেওয়া হয়েছে। নতুন প্রপার্টি ক্লিক পজিশন ও অ্যাঙ্কর বাউন্ড পায়, এর ফলে onDismissRequest ইনভোক করা উচিত কিনা সেই বিষয়ে আরও ভাল কন্ট্রোল পাওয়া যায়। যেমন, অ্যাঙ্করে টাচ করার ফলে অ্যাঙ্কর ডিসমিস হওয়া আটকাতে এটি কাজে লাগতে পারে।
    • PopupProperties-এ updateAndroidWindowManagerFlags যোগ করা হয়েছে, এটি পপ-আপের মাধ্যমে Android WindowManager-এ পাস করা ফ্ল্যাগের উপর লো-লেভেল কন্ট্রোল প্রদান করে। lambda-এর প্যারামিটার হল PopupProperties ভ্যালু থেকে গণনা করা ফ্ল্যাগ যা WindowManager ফ্ল্যাগের ফলাফল দেয়: যেমন, focusable। lambda-এর ফলাফল হল চূড়ান্ত ফ্ল্যাগ যা Android WindowManager-এ পাস করা হবে। ডিফল্ট হিসেবে, updateAndroidWindowManagerFlags প্যারামিটার থেকে গণনা করা ফ্ল্যাগ অপরিবর্তিত রাখবে। এই API সাবধানে ব্যবহার করা উচিত, শুধুমাত্র সেইসব ক্ষেত্রে যেখানে পপ-আপের খুব নির্দিষ্ট আচরণ সংক্রান্ত প্রয়োজনীয়তা রয়েছে। (I6e9f9)

ভার্সন 1.1.0-alpha05

২৯ সেপ্টেম্বর, ২০২১

androidx.compose.material:material-*:1.1.0-alpha05 রিলিজ করা হয়েছে। 1.1.0-alpha05 ভার্সনে এইসব কমিট রয়েছে।

API-তে পরিবর্তন

  • অ্যাক্সেস করা যায় না এমন টাচ টার্গেটের জন্য Material কম্পোনেন্টে ন্যূনতম টাচ টার্গেট সাইজ যোগ করে। এটি কম্পোনেন্টগুলির চারপাশে অতিরিক্ত স্পেসিং যোগ করে যাতে সেগুলি যথেষ্ট বড় টাচ টার্গেট পায়। এর ফলে, আগে থেকে থাকা UI পরিবর্তন হতে পারে। কারণ, আগে থেকে থাকা UI ধরে নেয় যে কম্পোনেন্টগুলির সাইজ হল তাদের ভিজ্যুয়াল সাইজ এবং টাচ টার্গেট সাইজকে হিসেবে ধরে না। হায়রার্কি জুড়ে এই আচরণ বন্ধ করতে, আপনি এক্সপেরিমেন্টাল LocalMinimumTouchTargetEnforcement কম্পোজিশন লোকাল ব্যবহার করতে পারেন, তবে এটি শুধুমাত্র নতুন ন্যূনতম সাইজের জন্য বিদ্যমান UI আপডেট করার সময় সাময়িক এড়িয়ে যাওয়ার জন্য করা হয়। (I9b966, b/149691127, b/171509422)
  • পরীক্ষামূলক TextFieldColorsWithIcons ইন্টারফেস যোগ করা হয়েছে, যা leadingColor ও trailingColor-এ InteractionSource প্রদান করার জন্য TextFieldColors-কে এক্সটেন্ড করে। এটি ফোকাস স্টেটের উপর নির্ভর করে TextField-এর চেহারা পরিবর্তন করার সুবিধা দেয়। (I66923, b/198402662)

ভার্সন 1.1.0-alpha04

১৫ সেপ্টেম্বর, ২০২১

androidx.compose.material:material-*:1.1.0-alpha04 রিলিজ করা হয়েছে। ভার্সন 1.1.0-alpha04-এ এইসব কমিট রয়েছে।

API-তে পরিবর্তন

  • performGesture ও GestureScope বাতিল করা হয়েছে, যেগুলি performTouchInput ও TouchInjectionScope দ্বারা প্রতিস্থাপিত হয়েছে। (Ia5f3f, b/190493367)
  • touchBoundsInRoot থেকে SemanticsNode-এ যোগ করা হয়েছে, যার মধ্যে ন্যূনতম টাচ টার্গেট সাইজ অন্তর্ভুক্ত, যাতে ডেভেলপাররা নিশ্চিত করতে পারেন যে টাচ টার্গেট অ্যাক্সেসিবিলিটি সংক্রান্ত ন্যূনতম প্রয়োজনীয়তা পূরণ করে। (I2e14b, b/197751214)

সমস্যার সমাধান

  • ন্যূনতম টাচ টার্গেট সংক্রান্ত উদ্দেশ্যে ক্লিপের অঞ্চল ছাড়িয়ে টাচ টার্গেট বাউন্ড এক্সটেন্ড করার অনুমতি দিন। (I43e10, b/171509422)
  • ডিসপ্লে ঘনত্ব নির্বিশেষে সিঙ্গেল পিক্সেল ডিভাইডার আঁকার সুবিধা দিতে থিকনেস প্যারামিটারকে Dp.Hairline সম্মান জানাতে Divider কম্পোজ করার উপযুক্ত আপডেট করা হয়েছে। (I16ffb, b/196840810)

ভার্সন 1.1.0-alpha03

১ সেপ্টেম্বর, ২০২১

androidx.compose.material:material-*:1.1.0-alpha03 রিলিজ করা হয়েছে। 1.1.0-alpha03 ভার্সনে এইসব কমিট আছে।

নতুন ফিচার

  • Compose 1.1.0-alpha03-কে Kotlin 1.5.30-এর উপর নির্ভর করার জন্য আপডেট করা হয়েছে। (I74545)

API-তে পরিবর্তন

  • ক্লিপ করা বাউন্ড পাওয়ার জন্য টেস্ট পদ্ধতি যোগ করা হয়েছে। (I6b28e)
  • অ্যাক্সেসিবিলিটি নিশ্চিত করতে, সিম্যান্টিক্স ও পয়েন্টার ইনপুটে ব্যবহারের জন্য ViewConfiguration -এ ন্যূনতম টাচ টার্গেট সাইজ যোগ করা হয়েছে। (Ie861c)

ভার্সন 1.1.0-alpha02

১৮ আগস্ট, ২০২১

androidx.compose.material:material-*:1.1.0-alpha02 রিলিজ করা হয়েছে। ভার্সন 1.1.0-alpha02-এ এইসব কমিট রয়েছে।

এক্সটার্নাল কন্ট্রিবিউশন

  • যেসব ক্ষেত্রে সোয়াইপ অফসেট কোনও অ্যাঙ্করের রাউন্ডিং এররের মধ্যে থাকে, সেইসব ক্ষেত্রে SwipeableState-এর আচরণ সংক্রান্ত সমস্যার সমাধান করা হয়েছে। (I03d39, b/191993377)

ভার্সন 1.1.0-alpha01

৪ আগস্ট, ২০২১

androidx.compose.material:material-*:1.1.0-alpha01 রিলিজ করা হয়েছে। 1.1.0-alpha01 ভার্সনে এইসব কমিট রয়েছে।

API-তে পরিবর্তন

  • DrawScope#drawImage পদ্ধতি আপডেট করা হয়েছে যা ঐচ্ছিক FilterQuality প্যারামিটার ব্যবহার করার জন্য সোর্স ও ডেস্টিনেশন রেক্ট ব্যবহার করে। পিক্সেল আর্টের ক্ষেত্রে এটি উপযোগী, কারণ পিক্সেল ভিত্তিক আর্টের জন্য স্কেল আপ করা হলে এটি পিক্সেল আর্ট হিসেবেই দেখা যাবে। এছাড়াও, BitmapPainter + Image composable আপডেট করে ঐচ্ছিক FilterQuality প্যারামিটার (Ie4fb0, b/180311607) ব্যবহার করা হয়েছে
  • BadgeBox-এর নাম পরিবর্তন করে BadgedBox করা হয়েছে, Badge composable গ্রহণ করার জন্য প্যারামিটার পরিবর্তন করা হয়েছে। BadgedBox-এর জন্য সাধারণ ব্যাজ কন্টেন্ট হিসেবে Badge কম্পোনেন্ট যোগ করা হয়েছে। (I639c6)
  • NavigationRail কম্পোনেন্ট যোগ করা হয়েছে, ব্যবহার সংক্রান্ত তথ্যের জন্য ডকুমেন্ট ও নমুনা দেখুন (I8de77)

সমস্যার সমাধান

  • নিচে অ্যালাইন করা NavigationRail স্যাম্পেল এবং ক্যাটালগ অ্যাপ ডেমো যোগ করা হয়েছে। (I3cffc)
  • ডায়ালগ এখন প্ল্যাটফর্মের সাইজিং আচরণ মেনে চলে। এই আচরণ ওভাররাইড করতে usePlatformDefaultWidth-কে false হিসেবে সেট করুন। (Iffaed, b/192682388)
  • ক্যাটালগ অ্যাপে নেভিগেশন-রেল ডেমো যোগ করা হয়েছে। (I04960)
  • ক্যাটালগ অ্যাপে ব্যাজ ডেমো যোগ করা হয়েছে। (If285d)

ভার্সন ১.০

ভার্সন 1.0.5

৩ নভেম্বর, ২০২১

androidx.compose.material:material-*:1.0.5 রিলিজ করা হয়েছে। 1.0.5 ভার্সনে এই কমিটগুলি রয়েছে।

সমস্যার সমাধান

  • ক্র্যাশ ট্র্যাকিং derivedStateOf ইনস্ট্যান্স সংক্রান্ত সমস্যার সমাধান করা হয়েছে। (aosp/1792247)

ভার্সন 1.0.4

১৩ অক্টোবর, ২০২১

androidx.compose.material:material-*:1.0.4 রিলিজ করা হয়েছে। 1.0.4 ভার্সনে এইসব কমিট রয়েছে।

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

  • Kotlin 1.5.31-এর উপর নির্ভর করার জন্য আপডেট করা হয়েছে

ভার্সন 1.0.3

২৯ সেপ্টেম্বর, ২০২১

androidx.compose.material:material-*:1.0.3 রিলিজ করা হয়েছে। 1.0.3 ভার্সনে এইসব কমিট রয়েছে।

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

  • Kotlin 1.5.30-এর উপর নির্ভর করার জন্য আপডেট করা হয়েছে

ভার্সন 1.0.2

১ সেপ্টেম্বর, ২০২১

androidx.compose.material:material-*:1.0.2 রিলিজ করা হয়েছে। 1.0.2 ভার্সনে এইসব কমিট রয়েছে।

Compose 1.0.2 রিলিজের সাথে কাজ করার জন্য আপডেট করা হয়েছে। Compose 1.0.2 এখনও Kotlin 1.5.21-এর সাথে মানানসই।

ভার্সন 1.0.1

৪ আগস্ট, ২০২১

androidx.compose.material:material-*:1.0.1 রিলিজ করা হয়েছে। 1.0.1 ভার্সনে এইসব কমিট রয়েছে।

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

  • Kotlin 1.5.21-এর উপর নির্ভর করার জন্য আপডেট করা হয়েছে।

ভার্সন 1.0.0

২৮ জুলাই, ২০২১

androidx.compose.material:material-*:1.0.0 রিলিজ করা হয়েছে। ভার্সন 1.0.0-এ এইসব কমিট আছে।

1.0.0 ভার্সনের প্রধান ফিচার

Compose-এর এটিই প্রথম স্থিতিশীল রিলিজ। আরও বিবরণের জন্য অফিসিয়াল Compose রিলিজ ব্লগ দেখুন!

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

  • আপনি Android Studio Bumblebee Canary 4 বা AGP 7.1.0-alpha04/7.1.0-alpha05 ব্যবহার করলে, নিম্নলিখিত ক্র্যাশ হতে পারে:

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

    এটি সমাধান করতে, আপনার build.gradle ফাইলে সাময়িকভাবে minSdkVersion বাড়িয়ে 24+ করুন। Android Studio Bumblebee এবং AGP 7.1-এর পরবর্তী ভার্সনে এই সমস্যার সমাধান করা হবে। (b/194289155)

ভার্সন 1.0.0-rc02

১৪ জুলাই, ২০২১

androidx.compose.material:material-*:1.0.0-rc02 রিলিজ করা হয়েছে। 1.0.0-rc02 ভার্সনে এইসব কমিট রয়েছে।

সমস্যার সমাধান

  • ডায়ালগ এখন প্ল্যাটফর্মের সাইজ সংক্রান্ত আচরণ মেনে চলে। এই আচরণ ওভাররাইড করতে usePlatformDefaultWidth-এর মান false হিসেবে সেট করুন। (Iffaed, b/192682388)

ভার্সন 1.0.0-rc01

১ জুলাই, ২০২১

androidx.compose.material:material-*:1.0.0-rc01 রিলিজ করা হয়েছে। 1.0.0-rc01 ভার্সনে এইসব কমিট রয়েছে।

API-তে পরিবর্তন

  • BadgeBox কম্পোনেন্ট যোগ করা হয়েছে, ব্যবহারের তথ্য পেতে ডকুমেন্ট ও নমুনা দেখুন (I5e284)
  • PopupProperties-এর useDefaultMaxWidth-এর নাম পরিবর্তন করে usePlatformDefaultWidth করা হয়েছে। (I05710)
  • ডায়ালগ এখন স্ক্রিনের সম্পূর্ণ প্রস্থ ব্যবহার করতে পারবে। (I83929, b/190810877)
  • এক্সপেরিমেন্টাল রেঞ্জ স্লাইডার প্রয়োগ যোগ করা হয়েছে (I2f4b3)

সমস্যার সমাধান

  • মেটেরিয়াল ডিজাইন স্পেসিফিকেশন অনুযায়ী, ভুল ইনপুট সহ আউটলাইন করা TextField, লেবেল প্লেসহোল্ডার হিসেবে ব্যবহার করা হলে লেবেলের জন্য ভুল সংক্রান্ত রঙ ব্যবহার করা বন্ধ করে দেয়। টেক্সট ফিল্ডে কোনও ইনপুট টেক্সট না থাকলে এবং টেক্সট ফিল্ড ফোকাসে না থাকলে পরেরটি সত্য হয়। এই পরিবর্তনের ফলে TextFieldColors.labelColor() ফাংশনে error:Boolean প্যারামিটারের অর্থও পরিবর্তিত হয়েছে: এখন লেবেলটি প্লেসহোল্ডার হিসেবে ব্যবহার করা হলে, ইনপুট ভুল হলেও এটি false রিটার্ন করবে। (I45f78)

ভার্সন 1.0.0-beta09

১৬ জুন, ২০২১

androidx.compose.material:material-*:1.0.0-beta09 রিলিজ করা হয়েছে। 1.0.0-beta09 ভার্সনে এইসব কমিট আছে।

API-তে পরিবর্তন

  • বর্ডারের আকার কাস্টমাইজ করতে OutlinedTextField-এ Shape প্যারামিটার যোগ করা হয়েছে (I8f39e, b/181322957)
  • TextOverflow-কে ইনলাইন ক্লাসে পরিবর্তন করা হয়েছে। (I433af)

সমস্যার সমাধান

  • Scrim in BottomDrawer, BackdropScaffold এবং ModalBottomSheetLayout অদৃশ্য হয়ে যাবে, তারপর Color.Unspecified পাস করা হবে (I2d899, b/182063309)

যোগ করা প্রোফাইল সংক্রান্ত নিয়ম

এই রিলিজে নিম্নলিখিত কম্পোজ মডিউলে প্রোফাইল সংক্রান্ত নিয়ম যোগ করা হয়েছে (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

প্রোফাইল সংক্রান্ত নিয়ম কী কী?

  • লাইব্রেরির প্রোফাইল সংক্রান্ত নিয়ম src/main বা সমতুল্য ডিরেক্টরিতে থাকা baseline-prof.txt টেক্সট ফাইলে উল্লেখ করা থাকে। ফাইলটি প্রতি লাইনে একটি করে নিয়ম নির্দিষ্ট করে, যেখানে এই ক্ষেত্রে নিয়ম হল লাইব্রেরিতে মেথড বা ক্লাসের সাথে ম্যাচ করার একটি প্যাটার্ন। এইসব নিয়মের সিনট্যাক্স হল মানুষের-পঠনযোগ্য ART প্রোফাইল ফর্ম্যাটের একটি সুপারসেট যা adb shell profman --dump-classes-and-methods ... ব্যবহার করার সময় ব্যবহার করা হয়। এইসব নিয়ম পদ্ধতি বা ক্লাস টার্গেট করার জন্য দু'টি ফর্মের মধ্যে একটি নেয়।

  • একটি পদ্ধতি সংক্রান্ত নিয়মের নিম্নলিখিত প্যাটার্ন থাকবে:

    <FLAGS><CLASS_DESCRIPTOR>-><METHOD_SIGNATURE>
    
  • এবং ক্লাস নিয়মের নিম্নলিখিত প্যাটার্ন থাকবে:

    <CLASS_DESCRIPTOR>
    
  • এখানে <FLAGS> হল এক বা একাধিক অক্ষর H, S ও P যা এই পদ্ধতিকে "হট", "স্টার্ট-আপ" বা "পোস্ট স্টার্ট-আপ" হিসেবে ফ্ল্যাগ করা উচিত কিনা তা নির্দেশ করে।

  • <CLASS_DESCRIPTOR> হল সেই ক্লাসের ডেসক্রিপ্টর যার সাথে টার্গেট করা পদ্ধতি সম্পর্কিত। যেমন, androidx.compose.runtime.SlotTable ক্লাসের ডেসক্রিপ্টর Landroidx/compose/runtime/SlotTable; হবে।

  • <METHOD_SIGNATURE> হল পদ্ধতির সিগনেচার এবং এতে পদ্ধতির নাম, প্যারামিটারের ধরন ও রিটার্ন ধরন অন্তর্ভুক্ত থাকে। যেমন, LayoutNode-এর fun isPlaced(): Boolean পদ্ধতিতে isPlaced()Z সিগনেচার আছে।

  • একাধিক পদ্ধতি বা ক্লাসকে একটি নিয়মের মধ্যে অন্তর্ভুক্ত করার জন্য এইসব প্যাটার্নে ওয়াইল্ডকার্ড (**, * ও ?) থাকতে পারে।

নিয়ম কী করে?

  • যে পদ্ধতিতে H ফ্ল্যাগ আছে, সেটি "হট" পদ্ধতি এবং এটি আগে থেকেই কম্পাইল করা উচিত।

  • S ফ্ল্যাগ থাকা কোনও পদ্ধতি থেকে বোঝা যায় যে এটি এমন একটি পদ্ধতি যা স্টার্ট-আপে কল করা হয় এবং স্টার্ট-আপের সময় পদ্ধতি কম্পাইল ও ইন্টারপ্রেট করার খরচ এড়াতে আগে থেকেই কম্পাইল করা উচিত।

  • P ফ্ল্যাগ আছে এমন কোনও পদ্ধতি থেকে বোঝা যায় যে এটি এমন একটি পদ্ধতি যা স্টার্ট-আপের পরে কল করা হয়।

  • এই ফাইলে উপস্থিত কোনও ক্লাস ইঙ্গিত করে যে এটি স্টার্ট-আপের সময় ব্যবহার করা হয় এবং ক্লাস লোডিংয়ের খরচ এড়াতে হিপে আগে থেকেই বরাদ্দ করা উচিত।

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

  • লাইব্রেরি এইসব নিয়ম নির্ধারণ করতে পারে যা AAR আর্টিফ্যাক্টে প্যাকেজ করা হবে। এইসব আর্টিফ্যাক্ট সহ কোনও APK তৈরি করা হলে, এইসব নিয়ম একসাথে মার্জ করা হয় এবং মার্জ করা নিয়মগুলি APK-এর জন্য নির্দিষ্ট কম্প্যাক্ট বাইনারি ART প্রোফাইল তৈরি করতে ব্যবহার করা হয়। তারপরে, APK ডিভাইসে ইনস্টল করা হলে, ART এই প্রোফাইলটি ব্যবহার করতে পারে যাতে অ্যাপ্লিকেশনটির পারফর্ম্যান্স, বিশেষ করে প্রথমবার রান করার সময়, উন্নত করতে অ্যাপ্লিকেশনটির একটি নির্দিষ্ট সাবসেট আগে থেকেই কম্পাইল করা যায়। মনে রাখবেন, এটি ডিবাগ করা যায় এমন অ্যাপ্লিকেশনের উপর কোনও প্রভাব ফেলবে না।

ভার্সন 1.0.0-beta08

২ জুন, ২০২১

androidx.compose.material:material-*:1.0.0-beta08 রিলিজ করা হয়েছে। 1.0.0-beta08 ভার্সনে এইসব কমিট রয়েছে।

নতুন ফিচার

API-তে এমন পরিবর্তন যা আচরণে প্রভাব ফেলে

  • বিহেভিয়ার-ব্রেকিং: কার্ড এখন ক্লিক কনজিউম করে, যার ফলে Card(Modifier.clickable)-এর মাধ্যমে যোগ করা ক্লিকগুলি নো-অপ হয়ে যায়। onClick গ্রহণ করে এমন কার্ডের নতুন পরীক্ষামূলক ওভারলোড ব্যবহার করুন। (Ia8744, b/183775620)
    • নতুন কার্ড ওভারলোড যোগ করা হয়েছে যা ক্লিক করার পাশাপাশি অন্যান্য ক্লিক করা যায় এমন ফাংশনালিটি ম্যানেজ করে: ইঙ্গিত, interactionSource, চালু/বন্ধ করা। Modifier.clickable-এর সাথে ক্লিক করা যায় না এমন সাধারণ কার্ড ব্যবহার করা সম্ভব ছিল না, কারণ সেইসব ক্ষেত্রে কার্ডটি রিপেল ইন্ডিকেশন ক্লিপ করবে না।
  • বিহেভিয়ার-ব্রেকিং: Surface এখন ক্লিক কনজিউম করে, যার ফলে Surface(Modifier.clickable)-এর মাধ্যমে যোগ করা ক্লিকগুলি নো-অপ হয়ে যায়। onClick গ্রহণ করে এমন Surface-এর নতুন পরীক্ষামূলক ওভারলোড ব্যবহার করুন। (I73e6c, b/183775620)
    • নতুন Surface ওভারলোড যোগ করা হয়েছে যা ক্লিক এবং অন্যান্য ক্লিক করা যায় এমন কার্যকারিতা ম্যানেজ করে: ইঙ্গিত, interactionSource, চালু/বন্ধ করা। Modifier.clickable-এর সাথে ক্লিক করা যায় না এমন সাধারণ সারফেস ব্যবহার করা সম্ভব হয়নি কারণ সেইসব ক্ষেত্রে সারফেস রিপেল ইন্ডিকেশন ক্লিপ করবে না।

API-তে পরিবর্তন

  • ভবিষ্যতে সম্ভাব্য এক্সপ্যানশনের জন্য FabPosition-কে enum থেকে ইনলাইন ক্লাসে কনভার্ট করা হয়েছে (I030fb)
  • নতুন enum ভ্যালু যোগ করা হলে, <0x0A>when স্টেটমেন্টের সাথে এক্সহস্ট করার ক্ষেত্রে সমস্যা এড়াতে <0x0A>ইনলাইন ক্লাসে রিফ্যাক্টর করা enum ব্যবহার। (I2b5eb)
  • ক্লিক করা যায় / টগল করা যায় এমন আইটেমে ট্যাপ করার জন্য টাইম-আউট যোগ করে যাতে স্ক্রল / ড্র্যাগ করার সময় রিপেল দেখা না যায় (Ia2704, b/168524931)
  • ContentDescription এবং Text সিম্যান্টিক্স প্রপার্টি আর সিঙ্গেল ভ্যালু নয়, এখন তালিকা। এটি সেগুলিকে কনক্যাটেনেশনের পরিবর্তে যেমন আছে তেমনই মার্জ করতে দেয়। এছাড়াও, এই পরিবর্তনগুলি ব্যবহার করার জন্য আরও ভাল টেস্টিং API প্রদান করা হয়েছে (Ica6bf, b/184825850)
  • Modifier.focusModifier() বন্ধ করে দেওয়া হয়েছে এবং Modifier.focusTarget() (I6c860) দিয়ে প্রতিস্থাপন করা হয়েছে
  • FocusState enum-এর পরিবর্তে FocusState ইন্টারফেস ব্যবহার করা হয়েছে (Iccc1a, b/187055290)
  • View-backed ripple ইমপ্লিমেন্টেশন এখন স্থিতিশীল হওয়ায় LocalRippleNativeRendering সরিয়ে দেওয়া হয়েছে (I7fab3, b/188569367)

সমস্যার সমাধান

  • Modifier.onGloballyPositioned() পরিবর্তন করে মডিফায়ার চেনে এই মডিফায়ারের কোঅর্ডিনেট রিপোর্ট করা হয়েছে, সব মডিফায়ার প্রয়োগ করার পরে লেআউট কোঅর্ডিনেট নয়। এর অর্থ হল, এখন মডিফায়ারদের ক্রম নির্ধারণ করছে যে কোন কোঅর্ডিনেট রিপোর্ট করা হবে। (Ieb67d, b/177926591)
  • আগে থেকে থাকা Compose Material ক্যাটালগের জন্য README যোগ করা হয়েছে। (If9191)

ভার্সন 1.0.0-beta07

১৮ মে, ২০২১

androidx.compose.material:material-*:1.0.0-beta07 রিলিজ করা হয়েছে। 1.0.0-beta07 ভার্সনে এইসব কমিট রয়েছে।

API-তে পরিবর্তন

  • নেভিগেশন কম্পোজে রুট সাপোর্ট এর জন্য আপনাকে আর এক্সটেনশন পদ্ধতি ব্যবহার করতে হবে না। (I22beb, b/172823546)

ভার্সন 1.0.0-beta06

৫ মে, ২০২১

androidx.compose.material:material-*:1.0.0-beta06 রিলিজ করা হয়েছে। 1.0.0-beta06 ভার্সনে এইসব কমিট রয়েছে।

API-তে পরিবর্তন

  • Android ডিভাইসে ইন্টার্নালি RippleDrawable ব্যবহার করার জন্য Ripple মাইগ্রেট করা হয়েছে। এর অর্থ হল, RenderThread-এ রিপেল অ্যানিমেশন হবে এবং UI থ্রেড লোড থাকাকালীনও এটি মসৃণ হবে, যেমন স্ক্রিনের মধ্যে নেভিগেট করার সময়। এর ফলে ripple-এর API সারফেস পরিবর্তিত হয় না, তবে এই পরিবর্তনের ফলে আচরণগত পরিবর্তন হতে পারে। মাইগ্রেশনে সাহায্য করতে, LocalRippleNativeRendering যোগ করা হয়েছে - CompositionLocalProvider-এর মধ্যে আগের রিপেল ইমপ্লিমেন্টেশনে ফিরে যেতে এই CompositionLocal-এ false-এর ভ্যালু দিন। এই API সাময়িক এবং ভবিষ্যতে এটি সরিয়ে দেওয়া হবে, তাই এই API ব্যবহার করার সময় কোনও সমস্যার সম্মুখীন হলে, সমস্যার ব্যাপারে অভিযোগ জানান। (I902f8, b/168777351, b/183019123)
  • অ্যাক্সেসিবিলিটি API-এর CollectionInfo ও CollectionItemInfo যোগ করা হয়েছে যা অ্যাক্সেসিবিলিটি পরিষেবার জন্য সংগ্রহ ও এর আইটেমকে চিহ্নিত করার অনুমতি দেয় (Id54ef, b/180479017)
  • অ্যাক্সেসিবিলিটি API error যোগ করা হয়েছে যা ভুল ইনপুট (I12997, b/180584804, b/182142737) থাকা নোডকে চিহ্নিত করার অনুমতি দেয়

সমস্যার সমাধান

  • Compose Material ক্যাটালগ ইনসেট প্রয়োগ আপডেট করা হয়েছে এখান থেকে: https://github.com/google/accompanist/pull/365. (I25dc3)
  • ওয়েট(fill = false) সহ সারি ও কলাম চিলড্রেন আর উপলভ্য সম্পূর্ণ মূল অ্যাক্সিস স্পেস পূরণ করছে না। (Ied94d, b/186012444, b/184355105)

ভার্সন 1.0.0-beta05

২১ এপ্রিল, ২০২১

androidx.compose.material:material-*:1.0.0-beta05 রিলিজ করা হয়েছে। 1.0.0-beta05 ভার্সনে এইসব কমিট আছে।

সমস্যার সমাধান

  • আগে থেকে থাকা কম্পোজ মেটেরিয়াল ক্যাটালগে কম্পোনেন্ট টাইল ছবি, থিম পিকার ও আরও নির্দিষ্ট মেনু URL যোগ করা হয়েছে। (I9b58e)

ভার্সন 1.0.0-beta04

৭ এপ্রিল, ২০২১

androidx.compose.material:material-*:1.0.0-beta04 রিলিজ করা হয়েছে। 1.0.0-beta04 ভার্সনে এইসব কমিট রয়েছে।

API-তে পরিবর্তন

  • API পরিবর্তন: DrawerState state আর পরীক্ষামূলক SwipeableState-এর এক্সটেনশন নয়।
    • API পরিবর্তন: BottomDrawerState-কে এখন পরীক্ষামূলক হিসেবে চিহ্নিত করা হয়েছে, যাতে আগে থেকেই পরীক্ষামূলক BottomDrawer কম্পোনেন্ট (I81114, b/181656094)-এর সাথে ম্যাচ করানো যায়
  • SoftwareKeyboardController-এ hideSoftwareKeyboard ও showSoftwareKeyboard-এর নাম পরিবর্তন করে যথাক্রমে hide() ও show() করুন।
    • LocalSoftwareKeyboardController-এর জন্য সম্পূর্ণ CompositionLocal ইন্টারফেস প্রদান করুন, যাতে এটি সেট করা যায় (বিশেষ করে পরীক্ষার ক্ষেত্রে এটি কাজে লাগে) (I579a6)
  • LiveRegion অ্যাক্সেসিবিলিটি API যোগ করা হয়েছে। কোনও নোডকে লাইভ অঞ্চল হিসেবে চিহ্নিত করা হলে, অ্যাক্সেসিবিলিটি পরিষেবা সেটিতে হওয়া পরিবর্তন সম্পর্কে ব্যবহারকারীকে অটোমেটিক বিজ্ঞপ্তি পাঠাবে (Idcf6f, b/172590946)

সমস্যার সমাধান

  • আগে থেকে থাকা মডিউলে Compose Material ক্যাটালগের প্রয়োগ যোগ করা হয়েছে। বর্তমানে নেই: কম্পোনেন্ট টাইল ছবি, থিম পিকার (পরবর্তী পরিবর্তনগুলিতে যোগ করা হবে)। (Ie7a94)

ভার্সন 1.0.0-beta03

২৪ মার্চ, ২০২১

androidx.compose.material:material-*:1.0.0-beta03 রিলিজ করা হয়েছে। 1.0.0-beta03 ভার্সনে এইসব কমিট আছে।

API-তে পরিবর্তন

  • DefaultMonotonicFrameClock বন্ধ করা হয়েছে। MonotonicFrameClock না দিয়ে withFrameNanos বা Recomposer.runRecomposeAndApplyChanges-এ কল করলে IllegalStateException দেখানো হবে। (I4eb0d)
  • ট্যাবে আইকন ও ইনলাইন টেক্সট দেখানোর জন্য নতুন API LeadingIconTab যোগ করা হয়েছে। (I23267)

এক্সটার্নাল কন্ট্রিবিউশন

  • [by Jossi Wolf] BottomDrawer এখন ড্রয়ার স্লটের কন্টেন্ট র‍্যাপ করে। পেরেন্ট এলিমেন্টের উচ্চতা অসীম হলে BottomDrawer কোনও IllegalStateException দেখায় না। বটম ড্রয়ারটি এখন তার পেরেন্টের ৫০%-এর কম হলে, সেটি বড় হয়ে খুলবে। BottomDrawerState ও ModalBottomSheetLayoutState সংক্রান্ত ডকুমেন্ট আপডেট করা হয়েছে। BottomDrawerState#isOpen এখন ট্রু রিটার্ন করে যদি এটি খোলা বা এক্সপ্যান্ড করা অবস্থায় থাকে। (I87241)

ভার্সন 1.0.0-beta02

১০ মার্চ, ২০২১

androidx.compose.material:material-*:1.0.0-beta02 রিলিজ করা হয়েছে। 1.0.0-beta02 ভার্সনে এইসব কমিট রয়েছে।

API-তে পরিবর্তন

  • TextField-এ আগের SoftwareKeyboardController ইন্টারফেসের পরিবর্তে নতুন LocalSoftwareKeyboardController কম্পোজিশন লোকাল API যোগ করা হয়েছে। (I5951e, b/168778053)

সমস্যার সমাধান

  • এক্সপেরিমেন্টাল API-এর (I6aa29, b/174531520) সর্বজনীন ব্যবহারের উপর বিধিনিষেধ আরোপ করা
  • TopAppBar ও BottomAppBar-এর ডিফল্ট হরাইজন্টাল অ্যালাইনমেন্ট পরিবর্তন করে Start করা হয়েছে, যা Row-এর সাথে সামঞ্জস্যপূর্ণ (Ib2dc7)
  • Compose Material ক্যাটালগের জন্য নতুন মডিউল ও প্লেসহোল্ডার UI যোগ করা হয়েছে, বর্তমানে এটি আগে থেকে থাকা ইন্টিগ্রেশন টেস্ট ডেমোতে নেস্ট করা আছে। (Idfcb3)
  • androidx.compose.ui:ui আর AppCompat বা Fragment-এর উপর নির্ভর করে না। আপনি যদি নিজের অ্যাপ্লিকেশনে ComposeView ব্যবহার করেন এবং Fragment এবং/অথবা AppCompat ব্যবহার করেন, তাহলে নিশ্চিত করুন যে আপনি AppCompat 1.3+ / Fragment 1.3+ ব্যবহার করছেন - ComposeView-এর জন্য প্রয়োজনীয় লাইফসাইকেল এবং সেভ করা স্টেট মালিকদের সঠিকভাবে সেট করার জন্য এই ভার্সনগুলি প্রয়োজন। (I1d6fa, b/161814404)

ভার্সন 1.0.0-beta01

২৪ ফেব্রুয়ারি, ২০২১

androidx.compose.material:material-*:1.0.0-beta01 রিলিজ করা হয়েছে। 1.0.0-beta01 ভার্সনে এইসব কমিট আছে।

এটি হল Compose 1.0.0 Beta-এর প্রথম রিলিজ।

API-তে পরিবর্তন

  • সাইজ মডিফায়ারগুলির নাম পরিবর্তন করা হয়েছে। Modifier.width/height/size-এর নাম পরিবর্তন করে requiredWidth/requiredHeight/requiredSize করা হয়েছে। Modifier.preferredWidth/preferredHeight/preferredSize-এর নাম পরিবর্তন করে width/height/size করা হয়েছে। (I5b414)
  • imageResource ও vectorResource এখন ImageBitmap ও ImageVector কম্প্যানিয়নের এক্সটেনশন ফাংশন load{Image,Vector,Font}Resource ফাংশন মুছে দেওয়া হয়েছে। (I89130)
  • ইনট্রিনসিকের সাইজিংয়ের জন্য মডিফায়ার আর পরীক্ষামূলক নয়। (I15744)
  • সরানো dp অ্যাসার্শন (I798d2)
  • নতুন API শীঘ্রই প্রকাশ করা হবে, তাই সব টেক্সট ফিল্ড থেকে SoftwareKeyboardController কলব্যাক সরিয়ে দেওয়া হয়েছে। (Iae869, b/168778053)
  • Switch, Checkbox ও RadioButton অ্যাকশন ল্যাম্বডা এখন নাল হতে পারে। এই ফিচার ব্যবহার করার জন্য ক্লিক করা যায় এমন সারিতে চেকবক্সের নমুনা আপডেট করা হয়েছে। (If601b, b/171819073)
  • InteractionState-এর পরিবর্তে [Mutable]InteractionSource ব্যবহার করা হয়েছে
    • ইন্টার‍্যাকশন ইভেন্ট নির্গমন / সংগ্রহের জন্য ইন্টারফেস দায়ী।
    • Button ও Modifier.clickable()-এর মতো কম্পোনেন্টে interactionState = remember { InteractionState() } পাস করার পরিবর্তে, interactionSource = remember { MutableInteractionSource() } ব্যবহার করুন।
    • এর পরিবর্তে: Interaction.Pressed in interactionState এর পরিবর্তে, আপনাকে InteractionSource-এ এক্সটেনশন ফাংশন ব্যবহার করতে হবে, যেমন InteractionSource.collectIsPressedAsState()।
    • জটিল ব্যবহারের ক্ষেত্রে, ইন্ট্যার‍্যাকশনের স্ট্রিম পর্যবেক্ষণ করতে আপনি InteractionSource.interactions ব্যবহার করতে পারেন। আরও তথ্যের জন্য InteractionSource ডকুমেন্টেশন ও নমুনা দেখুন।
    • (I85965, b/152525426, b/171913923, b/171710801, b/174852378)
  • CompositionLocals-এ AccessibilityMananger ইন্টারফেস এবং LocalAccessibilityMananger যোগ করুন (I53520)
  • পুরনো হয়ে যাওয়া LayoutCoordinates পদ্ধতি সরানো হয়েছে, positionInParent ও boundsInParent-এর জন্য প্রপার্টির পরিবর্তে ফাংশন ব্যবহার করুন (I580ed, b/169874631, b/175142755)
  • স্লাইডার এখন চালু/বন্ধ করা অবস্থা সমর্থন করে (I6d56b, b/179793072)
  • CoreTextField-এর মতো লো লেভেল টেক্সট কম্পোনেন্ট থেকে ইনপুট সেশনের জন্য নতুন TextInputSession তৈরি করা হয়েছে। (I8817f, b/177662148)
  • AnimationEndReason.Interrupted সরানো হয়েছে। অ্যানিমেশন বাধা পেলে CancellationException থ্রো করা হবে। (I2cbbc, b/179695417)
  • @ExperimentalRippleApi সরিয়ে দেওয়া হয়েছে এবং RippleAlpha-কে ইন্টারফেসের পরিবর্তে প্রপার্টি সহ ক্লাস হিসেবে পরিবর্তন করা হয়েছে। (I6df7c)
  • TextFieldColors ইন্টারফেস যোগ করা হয়েছে যা TextField ও OutlinedTextField-এ বিভিন্ন স্টেটে ব্যবহৃত বিভিন্ন রঙকে উপস্থাপন করে। ডিফল্ট প্রয়োগের জন্য TextFieldDefaults.textFieldColors এবং TextFieldDefaults.outlinedTextFieldColors দেখুন।
    • TextField ও OutlinedTextField-এর মধ্যে থাকা renamed isErrorValue প্যারামিটার isError-এ পরিবর্তিত হয়েছে। (I831f9, b/171305338, b/168004067)
  • অ্যাক্সেসিবিলিটির উদ্দেশ্যে ট্যাব বা রেডিও বোতামের সংগ্রহকে চিহ্নিত করার অনুমতি দেয় এমন selectionGroup মডিফায়ার যোগ করুন (Ie5c29)
  • LazyListState.animateScrollToItem যোগ করুন

    এই পদ্ধতিটি তালিকার একটি নির্দিষ্ট আইটেমে স্মুথ স্ক্রল করে। (I4bfd7)

  • ScrollableState.smoothScrollBy()-এর নাম পরিবর্তন করে animateScrollBy() করা হয়েছে LazyListState.snapToItemIndex()-এর নাম পরিবর্তন করে scrollToItem() করা হয়েছে ScrollState.smoothScrollTo()-এর নাম পরিবর্তন করে animateScrollTo() করা হয়েছে (I35ded)

  • @ReadOnlyComposable চিহ্ন দিয়ে চিহ্নিত করা কম্পোজ করার উপযুক্ত আইটেম এখন কম্পাইল-টাইম ভ্যালিডেট করা হয় যাতে নিশ্চিত করা যায় যে সেগুলি শুধুমাত্র অন্যান্য @ReadOnlyComposables (I58961)

  • TargetAnimation API সরিয়ে দেওয়া হয়েছে। (If47d1, b/177457083)

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

  • smoothScrollBy ও scrollBy পদ্ধতির প্যাকেজ পরিবর্তন করে androidx.compose.foundation.gestures.* করা হয়েছে (I3f7c1, b/175294473)

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

  • সাইজ মডিফায়ারগুলির নাম পরিবর্তন করা হয়েছে। Modifier.width/height/size-এর নাম পরিবর্তন করে requiredWidth/requiredHeight/requiredSize করা হয়েছে। Modifier.preferredWidth/preferredHeight/preferredSize-এর নাম পরিবর্তন করে width/height/size করা হয়েছে। (I5b414)

  • defaultMinSizeConstraints-এর নাম পরিবর্তন করে defaultMinSize করা হয়েছে। (I4eaae)

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

  • drawerState.open() এবং drawerState.close() এখন সাসপেন্ড করা ফাংশন। সেগুলিকে কল করার জন্য কম্পোজিশনের স্কোপ পেতে rememberCoroutineScope() ব্যবহার করুন (I16f60, b/175294473)

  • Providers-এর নাম পরিবর্তন করে CompositionLocalProvider করা হয়েছে

    • Composition কনস্ট্রাক্টর আর কোনও কী প্যারামিটার গ্রহণ করে না এবং এটি বন্ধ করে দেওয়া হয়েছে।
    • currentCompositeKeyHash-কে কম্পোজেবল টপ লেভেল ফাংশনের পরিবর্তে কম্পোজেবল টপ লেভেল প্রপার্টিতে পরিবর্তন করা হয়েছে।
    • CompositionData ও CompositionGroup-কে androidx.compose.runtime.tooling নেমস্পেসে সরানো হয়েছে
    • ComposableLambda-কে কনক্রিট ক্লাসের পরিবর্তে ইন্টারফেস করা হয়েছে এবং এতে আর কোনও টাইপ প্যারামিটার নেই।
    • ComposableLambdaN-কে কনক্রিট ক্লাসের পরিবর্তে ইন্টারফেস করা হয়েছে এবং এতে আর কোনও টাইপ প্যারামিটার নেই।
    • snapshotFlow ফাংশনটি androidx.compose.runtime নেমস্পেসে সরানো হয়েছে
    • SnapshotMutationPolicy-এর মার্জ করার পদ্ধতি আর পরীক্ষামূলক নয়
    • @TestOnly টপ লেভেল clearRoots ফাংশন সরিয়ে দেওয়া হয়েছে। এটি আর প্রয়োজনীয় নয়।
    • keySourceInfoOf ও resetSourceInfo ফাংশন সরিয়ে দেওয়া হয়েছে। সেগুলির আর প্রয়োজন নেই।
    • Composer.collectKeySourceInformation সরিয়ে দেওয়া হয়েছে। এটি আর প্রয়োজনীয় নয়।
    • isJoinedKey, joinedKeyLeft এবং joinedKeyRight পদ্ধতি সরিয়ে দেওয়া হয়েছে। সেগুলির আর প্রয়োজন নেই।
    • বিভিন্ন টপ লেভেল API সরিয়ে দেওয়া হয়েছে এবং আলাদা আলাদা ফাইলে নতুন করে সাজানো হয়েছে। Kotlin-এর ফাইল ক্লাস সিম্যান্টিক্সের কারণে, এটি বাইনারি কম্প্যাটিবিলিটি ভেঙে দেবে, তবে সোর্স কম্প্যাটিবিলিটি ভাঙবে না, তাই বেশিরভাগ ব্যবহারকারীর জন্য এটি কোনও সমস্যা হওয়ার কথা নয়।
    • (I99b7d, b/177245490)
  • Modifier.scrollable-এর উপর নতুন করে কাজ করা হয়েছে। এখন এটি ScrollableController ক্লাসের পরিবর্তে স্ক্রল করা যায় এমন ইন্টারফেস ব্যবহার করে (I4f5a5, b/174485541, b/175294473)

  • Modifier.draggable এখন সাধারণ ল্যাম্বডার পরিবর্তে DraggableState গ্রহণ করে। আগের মতো একই আচরণ পেতে আপনি rememberDraggableState { delta -> }-এর মাধ্যমে স্টেট তৈরি করতে পারবেন (Ica70f, b/175294473)

  • ZoomableController.smoothScaleBy এবং ZoomableController.stopAnimation এখন সাসপেন্ড ফাংশন। (I7f970, b/177457083)

  • আগে বাতিল করা কিছু API মুছে দেওয়া হয়েছে (Ice5da, b/178633932)

  • নিম্নলিখিত Material API পরিবর্তন করা হয়েছে:

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

  • imageResource ও vectorResource এখন ImageBitmap ও ImageVector কম্প্যানিয়নের এক্সটেনশন ফাংশন হিসেবে কাজ করে। load{Image,Vector,Font}Resource ফাংশন মুছে দেওয়া হয়েছে। (I89130)

  • Changed Indication#createIndication() to Indication#rememberUpdatedIndication(InteractionState) এবং IndicationInstance#drawIndication() থেকে InteractionState প্যারামিটার সরিয়ে দেয়। IndicationInstance শুধুমাত্র ভিজ্যুয়াল এফেক্ট ড্র করার জন্য দায়ী থাকবে এবং InteractionState-এ পরিবর্তনের উত্তরে অ্যানিমেশন লঞ্চ করা / স্টেট লেখা নয়। এইসব অ্যানিমেশন ও স্টেট রাইট rememberUpdatedIndication()-এর মধ্যে হওয়া উচিত। Modifier.indication-এর indication প্যারামিটারও পরিবর্তন করে প্রয়োজনীয় প্যারামিটার করা হয়েছে। (Ic1764, b/152525426)

সমস্যার সমাধান

  • TextField-এ আগের SoftwareKeyboardController ইন্টারফেস পরিবর্তন করতে নতুন LocalSoftwareKeyboardController কম্পোজিশন local API যোগ করা হয়েছে। (I658b6, b/168778053)

ভার্সন 1.0.0-alpha12

১০ ফেব্রুয়ারি, ২০২১

androidx.compose.material:material-*:1.0.0-alpha12 রিলিজ করা হয়েছে। 1.0.0-alpha12 ভার্সনে এই কমিটগুলি রয়েছে।

API-তে পরিবর্তন

  • Modifier.pointerInput-এর এখন মনে রাখার কী প্রয়োজন হয়, যাতে নতুন ডিপেন্ডেন্সির জন্য পয়েন্টার ইনপুট ডিটেকশন কোরাউটিন কখন রিস্টার্ট করতে হবে তা বোঝা যায়। (I849cd)
  • BottomDrawerLayout ও ListItem-কে @ExperimentalMaterialApi (Id766e) হিসেবে চিহ্নিত করা হয়েছে
  • PaddingValues.Absolute যোগ করা হয়েছে এবং PaddingValues গ্রহণ করে এমন API-তে ব্যবহার করা যেতে পারে। (Ia5f30)
  • onImeActionPerformed বাতিল করা হয়েছে। এর পরিবর্তে KeyboardActions ব্যবহার করুন (If0bbd, b/179071523)
  • ImageBitmap ও ImageVector-এর সাথে নামের কনভেনশন আরও ভালোভাবে ম্যাচ করানোর জন্য, ImagePainter-এর নাম পরিবর্তন করে BitmapPainter রাখা হয়েছে, যা VectorPainter-এর সমান্তরাল। (Iba381, b/174565889)
  • Animatable.snapTo ও Animatable.stop এখন সাসপেন্ড ফাংশন (If4288)
  • ComponentActivity.setContent androidx.activity:activity-compose মডিউলের মধ্যে androidx.activity.compose.setContent-এ সরানো হয়েছে। (Icf416)
  • ডিস্ট্রাকচারিং ও copy() পদ্ধতিকে বিভিন্ন ক্লাস থেকে সরিয়ে দেওয়া হয়েছে, কারণ সেগুলি খুব কমই ব্যবহার করা হত। (I26702, b/178659281)
  • ModalBottomSheetState ইন্টার্নালে halfExpand() ও expand() তৈরি করুন (Ic914e)
  • Changed Indication#createInstance-কে @Composable হিসেবে পরিবর্তন করা হয়েছে এবং LocalIndication-কে পরিবর্তন করে এতে () -> Indication-এর পরিবর্তে Indication রাখা হয়েছে। (I5eeea, b/157150564)
  • AlertDialog ও DropdownMenu সরিয়ে দেওয়া হয়েছে এবং এখন শুধু Android-এর জন্য উপলভ্য। আন্ডারলায়িং পপ-আপের আরও কনফিগারেশনের জন্য DropdownMenu-তে PopupProperties প্যারামিটার যোগ করা হয়েছে। (I9c443)
  • loadFontResource বন্ধ করে দেওয়া হয়েছে। এর পরিবর্তে fontResource ব্যবহার করুন। imageResource, loadImageResource, vectorResource এবং loadVectorResource বন্ধ করে দেওয়া হয়েছে। এর পরিবর্তে painterResource ব্যবহার করুন। (I6b809)
  • DropdownMenu থেকে toggle ও toggleModifier প্যারামিটার সরিয়ে দেওয়া হয়েছে এবং dropdownModifier, dropdownOffset ও dropdownContent-এর নাম পরিবর্তন করে যথাক্রমে modifier, offset ও content করা হয়েছে। DropdownMenu এখন Popup-এর সাথে সামঞ্জস্যপূর্ণ আচরণ করে, যেখানে মেনুর পজিশনের জন্য প্যারেন্ট লেআউট ব্যবহার করা হয়। বেশিরভাগ ক্ষেত্রে, আপনি toggle-কে DropdownMenu-এর সিবলিং হিসেবে সরাতে এবং দুটিকেই Box-এর মধ্যে র‍্যাপ করতে পারবেন। এই API-এর ব্যবহার সম্পর্কে আরও তথ্য পেতে, ডকুমেন্টেশনে আপডেট করা নমুনা দেখুন। (I884fb)
  • toIntPx() ফাংশনের নাম পরিবর্তন করে roundToPx() করা হয়েছে। (I9b7e4, b/173502290)
  • IntBounds-এর নাম পরিবর্তন করে IntRect করা হয়েছে এবং API উন্নত করা হয়েছে। (I1f6ff)
  • 'বড় করুন' ও 'ছোট করুন' শব্দার্থ সংক্রান্ত অ্যাকশন যোগ করা হয়েছে। ModalBottomSheetState-এ expand ও halfExpand যোগ করা হয়েছে (Ib5064)
  • Modifier.dragGestureFilter ব্যবহার করা বন্ধ করে দেওয়া হয়েছে। পরিবর্তে Modifier.pointerInput { detectDragGestures (...)} ব্যবহার করুন। অথবা, এক অ্যাক্সিস ড্র্যাগ করার জন্য Modifier.draggable ব্যবহার করুন (I0ba93, b/175294473)
  • Ambient-এর নাম পরিবর্তন করে CompositionLocal-এর সাথে ম্যাচ করানো হয়েছে। আগে অ্যাম্বিয়েন্টকে AmbientFoo নামে ডাকা হত, এখন CompositionLocals-কে LocalFoo নামে ডাকা হয়। (I2d55d)
  • বেছে নেওয়া আইটেমটি ফাউন্ডেশনে সরানো হয়েছে। (I7892b)
  • আমরা যেভাবে আগে state { 0 } কম্পোজ করা যায় এমন ফিচার সরিয়ে দিয়ে remember { mutableStateOf(0) }-এর মতো ফিচার ব্যবহার করার জন্য প্রচার করেছি, ঠিক সেইভাবেই savedInstanceState { 0 } কম্পোজ করা যায় এমন ফিচার সরিয়ে দিতে চলেছি। আপনাকে rememberSaveable { mutableStateOf(0) } ব্যবহার করতে হবে এবং MutableState-এর মধ্যে ব্যবহৃত ধরন Bundle-এ সেভ করা গেলে এটি অটোমেটিক সেভ ও রিস্টোর করবে। আগে আপনি কাস্টম সেভার অবজেক্ট পাস করে থাকলে, এখন আপনাকে stateSaver প্যারামিটার সহ rememberSaveable-এর নতুন ওভারলোড ব্যবহার করতে হবে। ব্যবহারটি এইরকম দেখাবে: val holder = rememberSaveable(stateSaver = HolderSaver) { mutableStateOf(Holder(0)) } (Ib4c26, b/177338004)
  • অ্যাক্সেসিবিলিটির জন্য অনির্দিষ্ট প্রগ্রেস বার চিহ্নিত করতে ProgressBarRangeInfo.Indeterminate যোগ করা হয়েছে (I6fe05)
  • তিনটি আরও নির্দিষ্ট অ্যানোটেশনের জন্য @ComposableContract বাতিল করা হয়েছে।

    • @ComposableContract(restartable = false) এখন @NonRestartableComposable
    • @ComposableContract(readonly = true) এখন @ReadOnlyComposable
    • @ComposableContract(preventCapture = true) এখন @DisallowComposableCalls
    • @ComposableContract(tracked = true) সরানো হয়েছে৷
    • (I60a9d)
  • emptyContent() ও (@Composable () -> Unit).orEmpty() ইউটিলিটি আর ব্যবহার করা হয় না কারণ এগুলি আর কোনও ইতিবাচক পারফর্ম্যান্স প্রভাব বা ভ্যালু প্রদান করে না (I0484d)

  • rememberSavedInstanceState() ফাংশনের নাম পরিবর্তন করে rememberSaveable() করা হয়েছে এবং এটি androidx.compose.runtime.saveable প্যাকেজে সরানো হয়েছে। (I1366e, b/177338004)

  • Saver, listSaver(), mapSaver(), autoSaver-কে androidx.compose.runtime.savedinstancestate থেকে androidx.compose.runtime.saveable-এ সরানো হয়েছে (I77fe6)

  • RTL ডিরেকশনে শেপের অটোমেটিক মিররিং কাজ করানোর জন্য RounderCornerShape, CutCornerShape ও CornerBasedShape-এর প্যারামিটারগুলির নাম বাঁদিক/ডানদিক থেকে পরিবর্তন করে শুরু/শেষ করা হয়েছে। অটো-মিররিং না চাইলে, সেইসব ক্ষেত্রে AbsoluteRounderCornerShape এবং AbsoluteCutCornerShape ব্যবহার করা হয়। (I61040, b/152756983)

  • Tab-এর text ও icon প্যারামিটার এবং BottomNavigationItem-এর label প্যারামিটার পরিবর্তন করে নাল করা হয়েছে, যাতে এই প্যারামিটারগুলি দেওয়া হলে / না হলে কম্পোনেন্টের আচরণ আরও ভালোভাবে বোঝা যায়, কারণ এটি কম্পোনেন্টের সাইজ ও লেআউটকে প্রভাবিত করে। বর্তমানে আপনি যদি কোনও টেক্সট / আইকন / লেবেল না থাকার জন্য emptyContent() পাস করেন, তাহলে আপনাকে এর পরিবর্তে null ব্যবহার করতে হবে। (I57ed4)

  • backgroundColor-এ color প্যারামিটার contentColor-এর নাম পরিবর্তন করা হয়েছে (I5bb67)

  • TabDefaults বাতিল করা হয়েছে এবং TabRowDefaults দিয়ে প্রতিস্থাপন করা হয়েছে। (I0f189)

  • সোর্স কন্টেন্টের rgb ভ্যালু পরিবর্তন করতে ColorMatrix API ব্যবহার করা হয় ColorFilter API-কে একটি ইন্টারফেস হিসেবে রিফ্যাক্টর করা হয়েছে এবং এটি PathEffect-এর প্রয়োগের সাথে ম্যাচ করে। (Ica1e8)

  • AnimatedValue/Float এখন আর ব্যবহার করা হয় না। পরিবর্তে Animatable ব্যবহার করুন। (I71345, b/177457083)

  • SemanticsProperties.PaneTitle API যোগ করুন। (I20d5a)

  • Tab ও BottomNavigationItem-এ চালু করা প্যারামিটার যোগ করা হয়েছে, যাতে সেগুলিতে ক্লিক করা না যায়। এর API-তে লেআউট সংক্রান্ত প্রয়োজনীয়তা আরও ভালোভাবে প্রকাশ করার জন্য BottomNavigationItem-কে RowScope.BottomNavigationItem হিসেবে পরিবর্তন করা হয়েছে। (Id683d)

  • tapGestureFilter, doubleTapGestureFilter, longPressGestureFilter এবং pressIndicaitonGestureFilter বন্ধ করা হয়েছে। এর পরিবর্তে detectTapGestures ফাংশনের সাথে Modifier.clickable বা Modifier.pointerInput ব্যবহার করুন। (I6baf9, b/175294473)

  • Shape-এর createOutline-এ layoutDirection প্যারামিটার যোগ করুন। এর ফলে লেআউট ডিরেকশন সচেতন শেপ তৈরি করা যায়। (I57c20, b/152756983)

  • Recomposer.current() সরানো হয়েছে। [সারসংক্ষেপ]ComposeView এখন ডিফল্ট হিসেবে লেজি ক্রিয়েটেড, উইন্ডো-স্কোপড রিকম্পোজার দ্বারা পরিচালিত হয় উইন্ডোর জন্য ViewTreeLifecycleOwner. হোস্ট লাইফসাইকেল বন্ধ থাকাকালীন রিকম্পোজিশন এবং withFrameNanos-ভিত্তিক অ্যানিমেশন টিক পজ করা থাকে। (I38e11)

সমস্যার সমাধান

  • আইকন এখন সেটির সাইজের সাথে মানানসই হতে স্কেল করা হবে এবং এর উপর প্রয়োগ করা সাইজ মডিফায়ারকে সম্মান জানানো হবে। যেমন, Icon(.., modifier = Modifier.size(50.dp) এখন ৫০x৫০dp স্পেসে ড্র করবে। (Ib2ba9, b/178796190)

ভার্সন 1.0.0-alpha11

২৮ জানুয়ারি, ২০২১

androidx.compose.material:material-*:1.0.0-alpha11 রিলিজ করা হয়েছে। 1.0.0-alpha11 ভার্সনে এই কমিটগুলি রয়েছে।

API-তে পরিবর্তন

  • কিছু Material API আর @Experimental (I5d20e) নয় বলে প্রচার করে
  • ছবি ও আইকনে কন্টেন্টের বিবরণ সংক্রান্ত প্যারামিটার যোগ করা হয়েছে। অ্যাক্সেসিবিলিটি পরিষেবার (I2ac4c) বিবরণ প্রদান করতে এটি ব্যবহার করা হয়
  • State<T> রিটার্ন করে এমন @Composable ফাংশন পেতে Material স্টেটফুল প্যারামিটার ইন্টারফেস পরিবর্তন করে। Animatable-কে State-এ কনভার্ট করা সহজ করতে Animatable.asState() যোগ করে। এছাড়াও, animateElevation-কে Animatable-এ সাসপেন্ড এক্সটেনশন হিসেবে পরিবর্তন করে। (If613c)
  • Snackbar, SnackbarHost, SnackbarHostState আর @ExperimentalMaterialAPI নেই (Id1fb5)
  • টাইপোগ্রাফি, শেপ ও TabPosition পরিবর্তন করে আর ডেটা ক্লাস হিসেবে রাখা হয় না। জেনারেট করা টাইপোগ্রাফি ও শেপ পরিবর্তন করার জন্য কপি করার ফাংশন যোগ করে। (I40037)
  • আগে বাতিল করা হয়েছে এমন কিছু Material API মুছে দেওয়া হয়েছে (Ifaa25)

সমস্যার সমাধান

  • SideEffect এবং DisposableEffect API-এর (If760e) পরিবর্তে onCommit, onDispose এবং onActive বন্ধ করে দেওয়া হয়েছে
  • TransitionDefinition-ভিত্তিক ট্রানজিশন বন্ধ করা হয়েছে (I0ac57)
  • updateTransition-এ প্রাথমিক অবস্থা এখন কাজ করে (Ifd51d)
  • WithConstraints-এর নাম পরিবর্তন করে BoxWithConstraints করা হয়েছে এবং এটিকে foundation.layout-এ সরানো হয়েছে। (I9420b, b/173387208)
  • সাসপেন্ড না করা scrollBy-কে বাতিল করা, সাসপেন্ড না করা scrollTo-কে সরানো

    আমরা এখন স্ক্রলিং কন্ট্রোল করতে এবং স্ক্রল সম্পূর্ণ হওয়ার জন্য অপেক্ষা করতে সাসপেন্ড ফাংশন ব্যবহার করার সাজেশন দিই। এই ট্রানজিশনের অংশ হিসেবে আমরা এইসব ফাংশনের সাসপেন্ড করা যায় না এমন ভার্সন বন্ধ করে দিচ্ছি এবং/অথবা সরিয়ে দিচ্ছি। (Ie9ced)

  • নন-সাসপেন্ড smoothScrollBy-এর ব্যবহার বন্ধ করা আমরা এখন স্ক্রলিং কন্ট্রোল করতে সাসপেন্ড ফাংশন ব্যবহার করার সাজেশন দিই এবং স্ক্রল শেষ হওয়ার জন্য অপেক্ষা করি। এই ট্রানজিশনের অংশ হিসেবে আমরা এই ফাংশনের সাসপেন্ড না করা ভার্সন বন্ধ করে দিচ্ছি। (I12880)

  • ComposeContentTestRule চালু করা হয়েছে, যা ComposeTestRule-এর এক্সটেনশন এবং setContent-এর সংজ্ঞা দেয়, যা ComposeTestRule থেকে সরিয়ে দেওয়া হয়েছে। createEmptyComposeRule() এমন একটি ফ্যাক্টরি পদ্ধতি যোগ করা হয়েছে যা ComposeTestRule রিটার্ন করে এবং আপনার জন্য কোনও অ্যাক্টিভিটি লঞ্চ করে না। আপনি যখন নিজের পরীক্ষার সময় আপনার অ্যাক্টিভিটি লঞ্চ করতে চান তখন এটি ব্যবহার করুন, যেমন ActivityScenario.launch (I9d782, b/174472899) ব্যবহার করা

  • Button ও FloatingActionButton-এ ব্যবহৃত রিপেল আর AmbientIndication-এর মাধ্যমে নতুন Indication প্রদান করে কাস্টমাইজ করা যাবে না - এই কম্পোনেন্টগুলি কাস্টমাইজ করার জন্য এটি কখনওই কোনও উপায় ছিল না এবং এখন এটি এই কম্পোনেন্টগুলিকে অন্যান্য Material কম্পোনেন্টগুলির সাথে সামঞ্জস্যপূর্ণ করে তোলে। কোনও অ্যাপ্লিকেশন জুড়ে রিপেল কাস্টমাইজ করতে, RippleTheme দেখুন। (I546c5)

  • animateAsState এখন animateFooAsState, যেখানে Foo হল অ্যানিমেট করা ভেরিয়েবলের ধরন। যেমন, Float, Dp, Offset ইত্যাদি (Ie7e25)

  • BasicTextField decorationBox নামের একটি নতুন প্যারামিটার পেয়েছে। এটি আইকন, প্লেসহোল্ডার, লেবেল এবং টেক্সট ফিল্ডের মতো সজ্জা যোগ করতে এবং এর হিট টার্গেট এরিয়া বাড়াতে দেয়। (I16996)

  • একটি বাগ সংক্রান্ত সমস্যার সমাধান করা হয়েছে যার ফলে মেটেরিয়াল টেক্সট ফিল্ডের প্রস্থ 280.dp-এর (I78373) কম সেট করা যেত না

  • Modifier.draggable থেকে canDrag প্যারামিটার সরিয়ে দেওয়া হয়েছে (Ic4bec, b/175294473)

  • displaySize সরিয়ে দিন কারণ এটি এড়িয়ে যাওয়া উচিত। সাধারণত, onRoot() বা উইন্ডো সাইজের সাইজ ব্যবহার করা ভাল। (I62db4)

  • সারফেসে এখন একাধিক লেআউট চাইল্ড থাকতে পারে। (I66a92, b/144488459)

  • invalidate এবং compositionReference() এখন যথাক্রমে currentRecomposeScope এবং rememberCompositionReference-এর পরিবর্তে ব্যবহার করা হয়। (I583a8)

  • গ্লোবাল কোঅর্ডিনেটের পরিবর্তে উইন্ডো-রিলেটিভ কোঅর্ডিনেট ব্যবহার করার জন্য PopupPositionProvider পরিবর্তন করে। parentGlobalBounds-এর নাম পরিবর্তন করে anchorBounds করা হয়েছে এবং windowGlobalBounds-কে windowSize: IntSize করা হয়েছে (I2994a)

  • সময়সীমা ও আপটাইমকে বড় মিলিসেকেন্ড দিয়ে পরিবর্তন করা হবে, এবং এই ধাপটি সেইসব ক্লাসে পয়েন্টার ইনপুটের নির্ভরতা সরিয়ে দেয়। (Ia33b2, b/175142755, b/177420019)

  • FlingConfig গ্রহণ করে এমন AnimatedFloat.fling সরিয়ে দেওয়া হয়েছে। এর পরিবর্তে suspend Animatable.animateDecay ব্যবহার করুন। (I4659b, b/177457083)

  • ক্লিক করা যায়, টগল করা যায় ও বেছে নেওয়া যায় এমন আইটেম এখন কম্পোজিশনের বাইরে তৈরি করা যাবে (I0a130, b/172938345, b/175294473)

  • ইজিং পরিবর্তন করে একটি কার্যকরী ইন্টারফেস (Ib14e5) করা হয়েছে

  • ScrollableColumn/Row বন্ধ করা হয়েছে। আপনার কাছে অনেক বেশি স্ক্রল করার মতো কন্টেন্ট থাকলে, ScrollableColumn ব্যবহার করা LazyColumn-এর তুলনায় কম কার্যকর হয়, কারণ LazyColumn-এর মাধ্যমে আমরা শুধুমাত্র দৃশ্যমান এলিমেন্ট কম্পোজ/মাপ/ড্র করতে পারি। ব্যবহারকারীরা যাতে অদক্ষ উপায়ে কাজ না করেন, সেই জন্য আমরা ScrollableColumn ও ScrollableRow বাদ দেওয়ার সিদ্ধান্ত নিয়েছি এবং পরিবর্তে LazyColumn ও LazyRow ব্যবহার করার জন্য উৎসাহিত করি। ব্যবহারকারীরা এখনও সিদ্ধান্ত নিতে পারেন যে তাদের অলস আচরণ প্রয়োজন নেই এবং সরাসরি এই ধরনের মডিফায়ার ব্যবহার করতে পারেন: 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)

  • পরীক্ষামূলক monotonicFrameAnimationClockOf পদ্ধতি (Ib753f, b/170708374) সরানো হয়েছে

  • পুরনো গ্লোবাল কোঅর্ডিনেট পদ্ধতি সরিয়ে দিয়ে নতুন উইন্ডো-ভিত্তিক কোঅর্ডিনেট পদ্ধতি যোগ করা হয়েছে। (Iee284)

  • Added Modifier.toolingGraphicsLayer যা পরিদর্শন চালু করা হলে গ্রাফিক্স লেয়ার মডিফায়ার যোগ করে। (I315df)

  • FocusRequester.createRefs এখন পরীক্ষামূলক হিসেবে চিহ্নিত করা হয়েছে কারণ এটি পরিবর্তন হতে পারে। (I2d898, b/177000821)

  • SemanticsPropertyReceiver.hidden-এর নাম পরিবর্তন করে invisibleToUser করা হয়েছে এবং @ExperimentalComposeUiApi হিসেবে চিহ্নিত করা হয়েছে। AccessibilityRangeInfo-এর নাম পরিবর্তন করে ProgressBarRangeInfo করা হয়েছে। stateDescriptionRange-এর নাম পরিবর্তন করে progressBarRangeInfo করা হয়েছে। AccessibilityScrollState-এর নাম পরিবর্তন করে ScrollAxisRange করা হয়েছে। horizontalAccessibilityScrollState-এর নাম পরিবর্তন করে horizontalScrollAxisRange করা হয়েছে। verticalAccessibilityScrollState-এর নাম পরিবর্তন করে verticalScrollAxisRange করা হয়েছে। (Id3148)

  • টেস্টিংয়ে TestCoroutineDispatcher ব্যবহার করা (I532b6)

  • ভেক্টর গ্রাফিক্সের মূল অংশে প্রয়োগ করা টিংটিং পার্স করার সুবিধা দিতে API-এর ভেক্টর গ্রাফিক্স আপডেট করা হয়েছে। (Id9d53, b/177210509)

ভার্সন 1.0.0-alpha10

১৩ জানুয়ারি, ২০২১

androidx.compose.material:material-*:1.0.0-alpha10 রিলিজ করা হয়েছে। 1.0.0-alpha10 ভার্সনে এইসব কমিট রয়েছে।

API-তে পরিবর্তন

  • পরিবর্তিত ভেলোসিটিতে কম্পোনেন্ট পার্ট ও গাণিতিক অপারেশন থাকতে হবে। (Ib0447)
  • একই ধরনের এক্সপেরিমেন্টাল API অ্যানোটেশনের (Ia4502, b/171464963) সাথে সামঞ্জস্যপূর্ণ হতে @ExperimentalTesting-এর নাম পরিবর্তন করে @ExperimentalTestApi করা হয়েছে
  • Position-এর নাম পরিবর্তন করে DpOffset করা হয়েছে এবং getDistance() সরিয়ে দেওয়া হয়েছে (Ib2dfd)
  • Color.useOrElse() থেকে Color.takeOrElse() নাম পরিবর্তন করা হয়েছে (Ifdcf5)
  • Toggle to foundation Strings.kt (I4a5b7, b/172366489) যোগ করুন
  • FlowRow ও FlowColumn বন্ধ করে দেওয়া হয়েছে। এর পরিবর্তে কাস্টম লেআউট ব্যবহার করুন। (I09027)
  • Modifier.focus() ও Modifier.focusRequester() বন্ধ করা হয়েছে। এর পরিবর্তে Modifier.focusModifier() এবং Modifier.focusReference() ব্যবহার করুন। (I75a48, b/175160751, b/175160532, b/175077829)
  • nativeClass-কে ui মডিউলে সরানো হয়েছে এবং এটিকে ইন্টার্নাল করা হয়েছে। equals ইমপ্লিমেন্টেশনে nativeClass-এর আপডেট করা ব্যবহার পরিবর্তে 'is MyClass' ব্যবহার করা। (I4f734)

সমস্যার সমাধান

  • বন্ধ করা ও শুধু-পঠনযোগ্য টেক্সট ফিল্ডের জন্য সহায়তা যোগ করা হয়েছে (I35279, b/171040474, b/166478534)
  • animate() এখন animateAsState() দিয়ে পরিবর্তন করা হয়েছে, যা T-এর পরিবর্তে State<T> রিটার্ন করে। এর ফলে আরও ভাল পারফর্ম্যান্স পাওয়া যায়, কারণ স্টেট ভ্যালু যেখানে রিড করা হয় সেখানে ইনভ্যালিডেশনের স্কোপ কমিয়ে আনা যায়। (Ib179e)
  • Semantics রোল API যোগ করুন এবং ক্লিক করা যায়, বেছে নেওয়া যায় ও টগল করা যায় এমন SemanticsModifier-এ প্যারামিটার হিসেবে রোল যোগ করুন। পরিবর্তিত Modifier.progressSemantics যাতে Slider-ও এটি ব্যবহার করতে পারে। (I216cd)

ভার্সন 1.0.0-alpha09

১৬ ডিসেম্বর, ২০২০

androidx.compose.material:material-*:1.0.0-alpha09 রিলিজ করা হয়েছে। 1.0.0-alpha09 ভার্সনে এই কমিটগুলি রয়েছে।

API-তে পরিবর্তন

  • ম্যানুয়ালি সেটেল অ্যানিমেশন ট্রিগার করতে এবং Modifier.swipeable-এ ড্র্যাগ করতে API যোগ করা হয়েছে (Iaa17a, b/162408885)
  • *Constants অবজেক্টের নাম পরিবর্তন করে Defaults দিয়ে শেষ করা হয়েছে, যেমন ButtonConstants-এর নাম পরিবর্তন করে ButtonDefaults করা হয়েছে। এছাড়াও, এই নতুন অবজেক্টের প্রপার্টি থেকে অপ্রয়োজনীয় default প্রিফিক্স সরিয়ে দেয়। (Ibb915, b/159982740)
  • কম্পোজ এমন প্রপার্টি গেটার ব্যবহার করে যা কম্পোজ করা যায় এমন ইনভোকেশন করতে পারে। এর জন্য সহায়তা বন্ধ করা হচ্ছে না, তবে প্রপার্টি গেটারকে @Composable হিসেবে ঘোষণা করার সিনট্যাক্স পরিবর্তন করা হচ্ছে।

    এটি করার জন্য এখন বাতিল হয়ে যাওয়া সিনট্যাক্স হল প্রপার্টিতে নিজেই অ্যানোটেশন করা:

        @Composable val someProperty: Int get() = ...
    

    এটি করার জন্য এখনকার সঠিক সিনট্যাক্স হল প্রপার্টির গেটারকে অ্যানোটেট করা:

       val someProperty: Int @Composable get() = ...
    

    দুটি সিনট্যাক্সই কিছু সময় কাজ করবে, কিন্তু আগের সিনট্যাক্সটি বাতিল করা হয়েছে এবং সেটি কম্পাইল করার সময় সমস্যা দেখাবে। (Id9197)

  • বাকি Material লাইব্রেরির প্রয়োজন ছাড়াই ইন্ট্যার‍্যাক্টিভ কম্পোনেন্ট তৈরি করার অনুমতি দিতে, androidx.compose.material:material-ripple লাইব্রেরি যোগ করা হয়েছে যাতে ripple API আছে। rememberRippleIndication বাতিল করা হয়েছে এবং এর পরিবর্তে rememberRipple ব্যবহার করা হবে। (Ibdf11)

সমস্যার সমাধান

  • অফসেট মডিফায়ারে ল্যাম্বডা এখন Float-এর পরিবর্তে IntOffset রিটার্ন করে। (Ic9ee5, b/174137212, b/174146755)
  • ShaderBrush রিফ্যাক্টর করা হয়েছে যাতে ড্রয়িং এনভায়রনমেন্টের সাইজিং সংক্রান্ত তথ্য উপলভ্য হলে, অলসভাবে শেডার ইনস্ট্যান্স তৈরি করা যায়। এটি এমন গ্রেডিয়েন্টকে সংজ্ঞায়িত করার জন্য উপযোগী যা কম্পোজিশন টাইমে কম্পোজ করার উপযুক্ত আইটেমের সম্পূর্ণ ড্রয়িং বাউন্ড দখল করে, কাস্টম DrawModifier ইমপ্লিমেন্টেশন ইমপ্লিমেন্ট করার প্রয়োজন হয় না।

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

  • Modifier.focusObserver বন্ধ করা হয়েছে। পরিবর্তে Modifier.onFocusChanged বা Modifier.onFocusEvent ব্যবহার করুন (I30f17, b/168511863, b/168511484)

  • LazyColumnFor, LazyRowFor, LazyColumnForIndexed এবং LazyRowForIndexed শীঘ্রই বন্ধ করা হবে। এর পরিবর্তে LazyColumn ও LazyRow ব্যবহার করুন (I5b48c)

  • Dp.VectorConverter, Position.VectorConverter, ইত্যাদি animation-core-এ সরানো হয়েছে এবং পুরনো VectorConveters (If0c4b) বন্ধ করা হয়েছে

  • অটোফিল API এখন পরীক্ষামূলক API এবং এর জন্য অপ্ট-ইন করতে হবে (I0a1ec)

  • FocusRequester ইনস্ট্যান্স তৈরি করতে ডিস্ট্রাকচারিং ঘোষণা যোগ করা (I35d84, b/174817008)

  • accessibilityLabel-এর নাম পরিবর্তন করে contentDescription করা হয়েছে। accessibilityValue-এর নাম পরিবর্তন করে stateDescription করা হয়েছে। (I250f2)

  • InfiniteRepeatableSpec তৈরি করার জন্য নতুন infiniteRepeatable ফাংশন (I668e5)

  • Material স্পেসিফিকেশন অনুযায়ী DropdownMenus-এর পজিশনিং আচরণে সামান্য পরিবর্তন করা হয়েছে। (I34c72, b/168594123)

  • TextField-এর জন্য InteractionState সহায়তা যোগ করা হয়েছে। (I61d91)

  • ডিসেন্ডেন্টদের semantics মুছে ফেলতে এবং নতুন semantics সেট করতে Modifier.clearAndSetSemantics যোগ করা হয়েছে। (I277ca)

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

ভার্সন 1.0.0-alpha08

২ ডিসেম্বর, ২০২০

androidx.compose.material:material:1.0.0-alpha08, androidx.compose.material:material-icons-core:1.0.0-alpha08 ও androidx.compose.material:material-icons-extended:1.0.0-alpha08 রিলিজ করা হয়েছে। 1.0.0-alpha08 ভার্সনে এইসব কমিট রয়েছে।

API-তে পরিবর্তন

  • MaterialTheme এখন বেছে নেওয়ার হ্যান্ডেল ও বেছে নেওয়ার ব্যাকগ্রাউন্ডের জন্য সঠিক রঙ সেট করে। বেছে নেওয়ার জন্য ব্যবহৃত রঙ কাস্টমাইজ করতে, নন-ম্যাটেরিয়াল অ্যাপ ম্যানুয়ালি AmbientTextSelectionColors ব্যবহার করতে পারে। (I1e6f4, b/139320372, b/139320907)
  • Compose নির্দেশিকা অনুযায়ী সামঞ্জস্য আছে কিনা তা চেক করতে, কম্পোজ করা যায় এমন ল্যাম্বডা প্যারামিটারের নাম ও পজিশনের জন্য লিন্ট চেক যোগ করা হয়েছে। এছাড়াও, লিন্ট চেক ও নির্দেশিকা অনুযায়ী, কিছু API-এর ট্রেলিং ল্যাম্বডার নাম children থেকে content-এ মাইগ্রেট করা হয়েছে। (Iec48e)
  • VectorAsset-এর নাম পরিবর্তন করে ImageVector করা হয়েছে এবং VectorAsset-এর নাম পরিবর্তন করে Builder করা হয়েছে। এটি API কাউন্সিল নির্দেশিকা অনুসারে ImageVector-এর একটি ইন্টার্নাল ক্লাস। কম্প্যাটিবিলিটির জন্য ImageVector.Builder-এর সাথে লিঙ্ক করতে VectorAssetBuilder-এর typealias যোগ করা হয়েছে। (Icfdc8)
  • ImageBitmap-এ ImageAsset ও সম্পর্কিত পদ্ধতিগুলির নাম পরিবর্তন করা হয়েছে। (Ia2d99)
  • ui-তে ফাউন্ডেশন সিম্যান্টিক্স প্রপার্টি সরানো হয়েছে (I6f05c)
  • fun RippleIndication()-এর ব্যবহার বন্ধ করা হয়েছে এবং অন্যান্য API-এর সাথে সামঞ্জস্য বজায় রাখতে rememberRippleIndication() ব্যবহার করা হচ্ছে। (Id8e2c)
  • BasicTextField, TextField ও OutlinedTextField-এ একটি singeLine প্যারামিটার যোগ করা হয়েছে। টেক্সট ফিল্ডকে একটি অনুভূমিকভাবে স্ক্রল করা যায় এমন লাইন হিসেবে দেখাতে এই প্যারামিটারকে true হিসেবে সেট করুন। (I57004, b/168187755)

সমস্যার সমাধান

  • Add semantics action Dismiss (I2b706)
  • DrawModifier API-কে androidx.compose.ui প্যাকেজ থেকে androidx.compose.ui.draw প্যাকেজে সরানো হয়েছে। বন্ধ হয়ে যাওয়া API থেকে বর্তমান API-তে মাইগ্রেশনের ব্যাপারে সাহায্য করতে টাইপএলিয়াস/সহায়ক পদ্ধতি অন্তর্ভুক্ত করার জন্য DrawModifierDeprecated.kt ফাইল তৈরি করা হয়েছে। (Id6044, b/173834241)
  • Modifier.drawLayer-এর নাম পরিবর্তন করে Modifier.graphicsLayer করা হয়েছে এছাড়াও, API ফিডব্যাক অনুযায়ী সম্পর্কিত ক্লাসকে GraphicsLayer-এ আপডেট করা হয়েছে। (I0bd29, b/173834241)
  • SubcomposeLayout ঘোষণা থেকে <T> সরিয়ে দেওয়া হয়েছে। আপনি এখন কোনও ধরন উল্লেখ না করেই এটি ব্যবহার করতে পারবেন। (Ib60c8)
  • drawLayer-এর সুবিধার জন্য Modifier.scale/rotate API যোগ করা হয়েছে।
    • Modifier.drawOpacity-এর নাম পরিবর্তন করে Modifier.alpha করা হয়েছে
    • Modifier.drawShadow-এর নাম পরিবর্তন করে Modifier.shadow করা হয়েছে (I264ca, b/173208140)
  • Box-এর অ্যালাইনমেন্ট প্যারামিটারের নাম পরিবর্তন করে contentAlignment রাখা হয়েছে। (I2c957)
  • offsetPx মডিফায়ারগুলির নাম পরিবর্তন করে offset করা হয়েছে। এগুলি এখন State-এর পরিবর্তে ল্যাম্বডা প্যারামিটার নিচ্ছে। (Ic3021, b/173594846)
  • SweepGradientShader এবং SweepGradientBrush API চালু করা হয়েছে। (Ia22c1)
  • Composable ফাংশনে মডিফায়ার প্যারামিটারের জন্য লিন্ট চেক যোগ করা হয়েছে। এই লিন্ট চেক, Compose নির্দেশিকা অনুযায়ী নামের ধরন, রিটার্ন টাইপ, ডিফল্ট ভ্যালু এবং প্যারামিটারের ক্রম চেক করে। (If493b)
  • TextFieldValue API আপডেট করা হয়েছে
    • TextFieldValue.composition রিড-অনলি করা হয়েছে
    • ভুল বেছে নেওয়ার রেঞ্জের জন্য সরানো ব্যতিক্রম (I4a675, b/172239032)
  • নতুন Modifier.drawLayer() ওভারলোড যোগ করা হয়েছে। এটি নতুন GraphicsLayerScope-এ একটি ল্যাম্বডা ব্লক নেয় যেখানে আপনি লেয়ারের প্যারামিটার এমনভাবে ডিফাইন করেন যা স্টেট পরিবর্তন হলে রিকম্পোজিশন ও রিলেআউট এড়িয়ে যেতে দেয়। DrawLayerModifier-এর লজিক placeable.placeWithLayer() LayoutModifier-এর পদ্ধতিতে (I15e9f, b/173030831) মাইগ্রেট করার প্রস্তুতি হিসেবে এটি এখন ইন্টার্নাল
  • Ambient নামের সাফিক্স সহ পুরনো হয়ে যাওয়া অ্যাম্বিয়েন্ট সরিয়ে দেওয়া হয়েছে এবং সেগুলির জায়গায় Ambient প্রিফিক্স সহ নতুন প্রপার্টি যোগ করা হয়েছে। এটি অন্যান্য অ্যাম্বিয়েন্ট ও Compose API নির্দেশিকা মেনে করা হয়েছে। (I33440)
  • মডিফায়ার ফ্যাক্টরি ইন্টার্নালি androidx.compose.ui.composed {} ব্যবহার করে কিনা তা চেক করার জন্য লিন্ট চেক যোগ করা হয়েছে, এর পরিবর্তে @Composable হিসেবে চিহ্নিত করা হয়েছে। (I3c4bc)
  • semantics আর্গুমেন্ট mergeAllDescendants-এর নাম পরিবর্তন করে mergeDescendants করা হয়েছে। (Ib6250)
  • টেস্টে টাইম কন্ট্রোল (TestAnimationClock ও এর ব্যবহার) এখন পরীক্ষামূলক (I6ef86, b/171378521)
  • পুরনো ui-test মডিউল ও এর স্টাব (I3a7cb) সরিয়ে দিন
  • অন্যান্য ইউনিটের সাথে সামঞ্জস্য বজায় রাখতে TextUnit.Inherit-এর নাম পরিবর্তন করে TextUnit.Unspecified করা হয়েছে। (Ifce19)
  • অ্যালাইনমেন্ট ইন্টারফেস আপডেট করা হয়েছে এবং এটি এখন কাজ করছে। (I46a07, b/172311734)
  • LayoutIdParentData-এর জন্য id-এর নাম পরিবর্তন করে layoutId করা হয়েছে। Measurable.id-এর নাম পরিবর্তন করে Measurable.layoutId করা হয়েছে। (Iadbcb, b/172449643)

ভার্সন 1.0.0-alpha07

১১ নভেম্বর ২০২০

androidx.compose.material:material:1.0.0-alpha07, androidx.compose.material:material-icons-core:1.0.0-alpha07 ও androidx.compose.material:material-icons-extended:1.0.0-alpha07 রিলিজ করা হয়েছে। 1.0.0-alpha07 ভার্সনে এইসব কমিট আছে।

API-তে পরিবর্তন

  • Emphasis আর ব্যবহার করা হয় না এবং এর পরিবর্তে AmbientContentAlpha ব্যবহার করা হয়। AmbientContentAlpha হল একটি সহজ অ্যাবস্ট্রাকশন যা হায়ারার্কির অংশের জন্য পছন্দের কন্টেন্ট আলফা দেখায়, ঠিক যেভাবে AmbientContentColor পছন্দের কন্টেন্ট কালার দেখায়। টেক্সট ও আইকন এখন ডিফল্ট হিসেবে AmbientContentAlpha থেকে বর্তমান ভ্যালু নেয় এবং আপনার কম্পোনেন্টে একই এফেক্ট পেতে আপনি ম্যানুয়ালি: color.copy(alpha = AmbientContentAlpha.current) করতে পারবেন। ProvideEmphasis ব্যবহার না করে, আপনি AmbientContentAlpha-এর মাধ্যমে সরাসরি ভ্যালু প্রদান করতে পারেন এবং পুরনো EmphasisLevels-এর পরিবর্তে ContentAlpha-তে নতুন ডিফল্ট লেভেল ব্যবহার করতে পারেন। (Idf03e, b/159017896)
  • androidx.compose.foundation.AmbientContentColor-এর পরিবর্তে androidx.compose.material.AmbientContentColor যোগ করে (I84f7b, b/172067770)
  • উচ্চ-স্তরের, থিমযোগ্য টেক্সট কম্পোনেন্ট হিসেবে androidx.compose.foundation.Text-এর পরিবর্তে androidx.compose.material.Text যোগ করে। কোনও থিম থেকে রঙ / টেক্সট স্টাইল ব্যবহার করে না এমন সাধারণ টেক্সট কম্পোনেন্টের জন্য, BasicText ব্যবহার করুন। (Ie6ae0)
  • TextField-এ maxLines যোগ করা হয়েছে (Ib2a5b)
  • KeyboardOptions গ্রহণ করার জন্য TextField আপডেট করুন (Ida7f3)
  • এখন, এলিভেশন ওভারলে গণনা করার সময় Surface অ্যাবসলিউট (মোট) এলিভেশন ব্যবহার করে, তাই অন্য Surface-এর মধ্যে নেস্ট করা Surface ওভারলে আঁকার জন্য সম্মিলিত এলিভেশন ব্যবহার করবে। (I7bd2b, b/171031040)

সমস্যার সমাধান

  • captureToBitmap সরিয়ে captureToImage-এ নিয়ে যাওয়া হয়েছে। (I86385)
  • AmbientTextStyle, ProvideTextStyle এবং AmbientContentColor-এর ফাউন্ডেশন বন্ধ করে দেওয়া হয়েছে। পরিবর্তে, মেটেরিয়াল লাইব্রেরিতে উপলভ্য নতুন ভার্সন ব্যবহার করুন। নন-ম্যাটেরিয়াল অ্যাপ্লিকেশনের ক্ষেত্রে, আপনার নিজস্ব ডিজাইন সিস্টেম নির্দিষ্ট থিমিং অ্যাম্বিয়েন্ট তৈরি করা উচিত যা আপনার নিজস্ব কম্পোনেন্টে ব্যবহার করা যেতে পারে। (I74acc, b/172067770)
  • foundation.Text আর ব্যবহার করা হয় না এবং এর পরিবর্তে material.Text ব্যবহার করা হয়। কোনও থিম থেকে ভ্যালু গ্রহণ করে না এমন সাধারণ, নিরপেক্ষ টেক্সট API-এর জন্য androidx.compose.foundation.BasicText দেখুন। (If64cb)
  • KeyboardOptions-এর নাম পরিবর্তন করে ImeOptions করুন (I82f36)
  • KeyboardOptions-এ KeyboardType ও ImeAction সরানো হয়েছে (I910ce)
  • BaseTextField বন্ধ করা হয়েছে। এর পরিবর্তে BasicTextField ব্যবহার করুন। (I896eb)
  • ExperimentalSubcomposeLayoutApi অ্যানোটেশন সরিয়ে দেওয়া হয়েছে। SubcomposeLayout এখন @OptIn যোগ না করেই ব্যবহার করা যাবে (I708ad)
  • FirstBaseline ও LastBaseline androidx.compose.ui.layout প্যাকেজে সরানো হয়েছে (Ied2e7)
  • সম্ভাব্য টিন্ট কালার হিসেবে Color.Unspecified নেওয়ার জন্য Icon API আপডেট করা হয়েছে, এটি ColorFilter ছাড়াই প্রদত্ত অ্যাসেট বা পেইন্টার ড্র করবে। আগে Color.Unspecified ব্যবহার করে টিংট করা এড়ানোর চেষ্টা করলে স্বচ্ছ রঙ দিয়ে টিংট করা হত এবং শেষ পর্যন্ত কিছুই রেন্ডার করা হত না। (I049e2, b/171624632)
  • relativePaddingFrom-এর নাম পরিবর্তন করে paddingFrom করা হয়েছে। লেআউট বাউন্ড থেকে টেক্সট বেসলাইন পর্যন্ত দূরত্ব নির্দিষ্ট করার সুবিধা হিসেবে paddingFromBaseline মডিফায়ার যোগ করা হয়েছে। (I0440a, b/170633813)
  • SideEffect এবং DisposableEffect API-এর সাথে সামঞ্জস্য বজায় রাখতে LaunchedTask-এর নাম পরিবর্তন করে LaunchedEffect করা হয়েছে। পেশাদার পদ্ধতিকে উৎসাহিত করতে, কোনও সাবজেক্ট প্যারামিটার ছাড়া LaunchedEffect ব্যবহার করার অনুমতি দেওয়া হয় না। (Ifd3d4)
  • MeasureResult-কে MeasureScope-এর বাইরে সরানো হয়েছে। (Ibf96d, b/171184002)
  • লেআউট সম্পর্কিত একাধিক চিহ্ন androidx.compose.ui থেকে androidx.compose.layout.ui-তে সরানো হয়েছে। (I0fa98, b/170475424)

ভার্সন 1.0.0-alpha06

২৮ অক্টোবর, ২০২০

androidx.compose.material:material:1.0.0-alpha06, androidx.compose.material:material-icons-core:1.0.0-alpha06 ও androidx.compose.material:material-icons-extended:1.0.0-alpha06 রিলিজ করা হয়েছে। 1.0.0-alpha06 ভার্সনে এইসব কমিট রয়েছে।

API-তে পরিবর্তন

  • androidx.compose.foundation.Icon androidx.compose.material.Icon-এ সরানো হয়েছে। এছাড়াও, আপনি Material লাইব্রেরি ব্যবহার করতে না চাইলে, Painter-এর সাথে Image কম্পোনেন্ট / Modifier.paint() ব্যবহার করতে পারেন। (I9f622)
  • বিভিন্ন স্টেটে FAB-এর ব্যবহার করা এলিভেশনকে উপস্থাপন করতে FloatingActionButtonElevation যোগ করে। ডিফল্ট প্রয়োগের জন্য FloatingActionButtonConstants.defaultElevation() দেখুন (I2d4f5)
  • বিভিন্ন স্টেটে Switch-এর ব্যবহার করা রঙকে উপস্থাপন করতে SwitchColors ইন্টারফেস যোগ করে। এইসব রঙ কাস্টমাইজ করতে SwitchConstants.defaultColors দেখুন। (I93805)
  • বিভিন্ন স্টেটে বোতামের ব্যবহার করা উচ্চতা ও রঙ বোঝাতে ButtonElevation ও ButtonColors ইন্টারফেস যোগ করে। এইসব প্যারামিটার কাস্টমাইজ করতে ButtonConstants-এ ডিফল্ট ফাংশন দেখুন। (Ic5b7b)
  • বিভিন্ন স্টেটে RadioButton-এর ব্যবহার করা রঙগুলি দেখানোর জন্য RadioButtonColors ইন্টারফেস যোগ করে। বিভিন্ন স্টেটে ব্যবহৃত রঙ কাস্টমাইজ করতে RadioButtonConstants.defaultColors() দেখুন। (I74130)
  • বিভিন্ন স্টেটে চেকবক্সের ব্যবহার করা রঙগুলি দেখানোর জন্য CheckboxColors ইন্টারফেস যোগ করা হয়েছে। বিভিন্ন স্টেটে ব্যবহৃত রঙ কাস্টমাইজ করতে CheckboxConstants.defaultColors() দেখুন। (I7dbdb)

সমস্যার সমাধান

  • মেটেরিয়াল কম্পোনেন্ট আর zIndex হিসেবে এলিভেশন সেট করে না। এর অর্থ হল, একই প্যারেন্টের মধ্যে, বড় আকারের ছায়া সহ সন্তানকে অটোমেটিক ছোট আকারের ছায়া সহ সন্তানের উপরে আঁকা হবে না। আপনার এখনও এই ধরনের আচরণ প্রয়োজন হলে, যেখানে প্রয়োজন সেখানে ম্যানুয়ালি Modifier.zIndex() সেট করুন (I70417, b/170623932)
  • কম্পোজিশন জুড়ে ডেটা পারসিস্ট করার জন্য কম্পোজ করার উপযুক্ত API ইন্টার্নালি 'remember' ব্যবহার করে তা আরও ভালোভাবে বোঝাতে, rememberVectorPainter-এর পক্ষে VectorPainter-কে বাতিল করুন। (Ifda43)
  • ComposeTestRule-এ ট্রানজিশন চালু করুন; ComposeTestRule থেকে ব্লিঙ্ক করা কার্সর চালু করার বিকল্প সরান। (If0de3)
  • CoreTextField-এ সিঙ্গেল লাইন কীবোর্ড বিকল্প যোগ করা হয়েছে (I72e6d)
  • Compose জুড়ে এটি কীভাবে ব্যবহার করা হয় তা আরও ভালভাবে প্রকাশ করতে Radius API-এর নাম পরিবর্তন করে CornerRadius করা হয়েছে। নেগেটিভ কোণার ব্যাসার্ধ শূন্যে ক্ল্যাম্প করা হয় তা বোঝাতে ডকুমেন্টেশন আপডেট করা হয়েছে। (I130c7, b/168762961)
  • DrawScope ও ContentDrawScope-কে রিফ্যাক্টর করে অ্যাবস্ট্রাক্ট ক্লাসের পরিবর্তে ইন্টারফেস করা হয়েছে
    • CanvasDrawScope-এর প্রয়োগ DrawScope তৈরি করা হয়েছে
    • CanvasScope-এর পরিবর্তে ব্যবহার করার জন্য DrawScope-এর রিফ্যাক্টর করা প্রয়োগ
    • DrawScope-এর জন্য নির্ভরতা র‍্যাপ করতে DrawContext তৈরি করা হয়েছে
    • DrawScope-এ অবচিত পদ্ধতি সরানো হয়েছে (I56f5e)
  • Box-কে ইনলাইন ফাংশন হিসেবে তৈরি করা হয়েছে। (Ibce0c, b/155056091)

ভার্সন 1.0.0-alpha05

১৪ অক্টোবর, ২০২০

androidx.compose.material:material:1.0.0-alpha05, androidx.compose.material:material-icons-core:1.0.0-alpha05 ও androidx.compose.material:material-icons-extended:1.0.0-alpha05 রিলিজ করা হয়েছে। ভার্সন 1.0.0-alpha05-এ এইসব কমিট রয়েছে।

API-তে পরিবর্তন

  • পপ-আপ ও ডায়ালগ এখন প্যারেন্ট উইন্ডো থেকে FLAG_SECURE ইনহেরিট করে। এছাড়াও, এটি স্পষ্টভাবে কনফিগার করার বিকল্প যোগ করা হয়েছে (I64966, b/143778148, b/143778149)
  • Modifier.swipeable-এ এখন ডিফল্ট হিসেবে স্টেটের জন্য ৫৬.dp থ্রেশহোল্ড আছে (Iab825, b/168610267)
  • সব স্ক্যাফোল্ড স্টেটকে @Stable হিসেবে চিহ্নিত করা হয়েছে। ScaffoldState-এ drawerGesturesEnabled-কে Scaffold-এ সরিয়ে দেওয়া হয়েছে। (I36645, b/168297016)
  • Scaffold ল্যাম্বডা প্যারামিটার থেকে নালযোগ্য ধরন সরিয়ে দেয়, কোনও নির্দিষ্ট প্যারামিটারের জন্য কন্টেন্ট না থাকলে তা বোঝাতে আপনি emptyContent() ব্যবহার করতে পারেন। (I2b318, b/157633857, b/158551084)
  • contentColor() ও currentTextStyle() API বাতিল করে এবং তার পরিবর্তে AmbientContentColor ও AmbientTextStyle অ্যাম্বিয়েন্ট ব্যবহার করে। অন্যান্য অ্যাম্বিয়েন্টের মতো, অ্যাম্বিয়েন্ট প্রপার্টিতে .current ব্যবহার করে আপনি বর্তমান ভ্যালু অ্যাক্সেস করতে পারবেন। সামঞ্জস্য বজায় রাখতে এবং একই কাজ করার একাধিক উপায় এড়াতে এই পরিবর্তন করা হয়েছে। এছাড়াও, নিম্নলিখিত উদ্দেশ্যগুলি আরও ভালোভাবে বর্ণনা করার জন্য কিছু অ্যাম্বিয়েন্ট প্রপার্টির নাম পরিবর্তন করে:

    • ContentColorAmbient -> AmbientContentColor
    • TextStyleAmbient -> AmbientTextStyle
    • IndicationAmbient -> AmbientIndication
    • EmphasisAmbient -> AmbientEmphasisLevels
    • RippleThemeAmbient -> AmbientRippleTheme (I37b6d)
  • AmbientElevationOverlay যোগ করে, যা ডার্ক থিমে Surfaces-এ প্রয়োগ করা ডিফল্ট এলিভেশন ওভারলে কাস্টমাইজ / বন্ধ করার অনুমতি দেয়। (I5b74d)

সমস্যার সমাধান

  • ইনলাইন ক্লাসের জন্য স্ট্যান্ডার্ডাইজেশন অংশ হিসেবে, অন্যান্য ইনলাইন ক্লাসের (I97611, b/169797763) সাথে সামঞ্জস্য বজায় রাখতে Color.Unset-এর নাম পরিবর্তন করে Color.Unspecified করা হয়েছে
  • TextOverflow.None যোগ করা হয়েছে। ওভারফ্লো 'নেই' হলে, টেক্সট আর ওভারফ্লো ম্যানেজ করবে না এবং LayoutNode-কে এর আসল সাইজ জানাবে। (I175c9, b/158830170)
  • Compose API নির্দেশিকা (I99a8e) অনুযায়ী launchInComposition-এর নাম পরিবর্তন করে LaunchedTask করা হয়েছে
  • OnPositionedModifier-এর নাম পরিবর্তন করে OnGloballyPositionedModifier এবং onPositioned()-এর নাম পরিবর্তন করে onGloballyPositioned() করা হয়েছে। (I587e8, b/169083903)

ভার্সন 1.0.0-alpha04

১ অক্টোবর, ২০২০

androidx.compose.material:material:1.0.0-alpha04, androidx.compose.material:material-icons-core:1.0.0-alpha04 ও androidx.compose.material:material-icons-extended:1.0.0-alpha04 রিলিজ করা হয়েছে। 1.0.0-alpha04 ভার্সনে এইসব কমিট রয়েছে।

API-তে পরিবর্তন

  • স্টেটফুল মেটেরিয়াল কম্পোনেন্টে InteractionState প্যারামিটার এক্সপোজ করে, যাতে স্টেট হোয়েস্ট করা যায় এবং স্টেট পড়া / কন্ট্রোল করা যায়। (Iaca5f, b/168025711, b/167164434)
  • *color RadioButton এবং TriStateCheckbox-এর প্যারামিটার পরিবর্তন করে প্রতিটি স্টেটে ব্যবহৃত রঙ সম্পূর্ণ কাস্টমাইজ করার অনুমতি দেয়, সেইসাথে চাইলে স্টেটগুলির মধ্যে রঙ কীভাবে অ্যানিমেট করবে তা পরিবর্তন করে। আরও তথ্যের জন্য CheckboxConstants এবং RadioButtonConstants-এ নতুন animateDefault* কালার ফাংশন দেখুন। (I1c532)
  • rememberBackdropState-এর নাম পরিবর্তন করে rememberBackdropScaffoldState করা হয়েছে এবং অ্যানিমেশন ক্লকের জন্য অতিরিক্ত প্যারামিটার যোগ করা হয়েছে। BackdropScaffold-এর param backdropScaffoldState-এর নাম পরিবর্তন করে শুধু scaffoldState করা হয়েছে। BackdropConstants-এর নাম পরিবর্তন করে BackdropScaffoldConstants করা হয়েছে। (Ib644d)
  • পরীক্ষামূলক BottomSheetScaffold কম্পোনেন্ট যোগ করা হয়েছে। (Ie02f0, b/148996320)
  • পরীক্ষামূলক ModalBottomSheetLayout কম্পোনেন্ট যোগ করা হয়েছে। (Ic209e, b/148996320)
  • ButtonConstants/FloatingActionButtonConstants.defaultAnimatedElevation-এর নাম পরিবর্তন করে defaultElevation করা হয়েছে এবং এখন AnimatedValue-এর পরিবর্তে Dp ভ্যালু রিটার্ন করে। (I5f3ed)

সমস্যার সমাধান

  • অনেক গ্রাফিক্স API আপডেট করা হয়েছে
    • আপডেট করা স্কেল ও রোটেশন ট্রান্সফর্মেশন API, যা একটি সিঙ্গেল অফসেট প্যারামিটার ব্যবহার করে পিভট কোঅর্ডিনেটকে আলাদা আলাদা ফ্লোট প্যারামিটারের পরিবর্তে DrawScope ও DrawTransform-এ x/y কোঅর্ডিনেট হিসেবে দেখায়
    • Rect.expandToInclude এবং Rect.join মেথড সরিয়ে দেওয়া হয়েছে
    • উপবৃত্তাকার ছাড়াও ডিম্বাকার বলার জন্য ব্যাসার্ধ সংক্রান্ত ডকুমেন্টেশন আপডেট করা হয়েছে
    • ইনলাইন Radius ক্লাসের পাবলিক কনস্ট্রাক্টর সরাসরি কল করা যাবে না, তার পরিবর্তে Radius অবজেক্টকে সেটির ফাংশন কনস্ট্রাক্টরের মাধ্যমে ইনস্ট্যানশিয়েট করতে হবে তা বোঝাতে ডকুমেন্টেশন যোগ করা হয়েছে
    • topRight, bottomRight, bottomCenter, ইত্যাদির কোয়েরি করার জন্য RoundRect API সরিয়ে দেওয়া হয়েছে।
    • Rect.translate-এর পরিবর্তে Rect.shift ব্যবহার করা হয় না
    • RoundRect.grow ও Rect.shrink API সরিয়ে দেওয়া হয়েছে
    • RoundRect.outerRect-এর নাম পরিবর্তন করে Rect.boundingRect করা হয়েছে
    • Removed RoundRect.middleRect/tallMiddleRect/wideMiddleRect and Rect.isStadium methods
    • RoundRect.longestSide-এর নাম পরিবর্তন করে RoundRect.maxDimension করা হয়েছে
    • RoundRect.shortestSide-এর নাম পরিবর্তন করে RoundRect.minDimension করা হয়েছে
    • RoundRect.center-কে ফাংশনের পরিবর্তে প্রপার্টি হিসেবে পরিবর্তন করা হয়েছে
    • x/y ব্যাসার্ধের ভ্যালুর জন্য আলাদা প্যারামিটারের পরিবর্তে ব্যাসার্ধ প্রপার্টি ব্যবহার করার জন্য RoundRect কনস্ট্রাক্টর আপডেট করা হয়েছে
    • Size API সরিয়ে দেওয়া হয়েছে যা ধরে নিয়েছিল যে এটি একটি আয়তক্ষেত্র যার অরিজিন হল ০,০
    • Radius-এ ডেস্ট্রাক্টিং API যোগ করা হয়েছে
    • বিভিন্ন RoundRect এক্সটেনশন ফাংশন মাইগ্রেট করে পরিবর্তে প্রপার্টি করা হয়েছে
    • (I8f5c7, b/168762961)
  • foundation.Box আর ব্যবহার করা যাবে না। পরিবর্তে foundation.layout.Box ব্যবহার করুন। (Ie5950, b/167680279)
  • Stack-এর নাম পরিবর্তন করে Box করা হয়েছে। compose.foundation.layout-এ নতুন Box-এর জন্য আগে থেকে থাকা Box বাতিল করা হবে। নতুন বক্সের আচরণ হল, এতে একাধিক চাইল্ড থাকলে সেগুলিকে একটির উপরে একটি করে স্ট্যাক করা হয় - এটি আগের বক্সের থেকে আলাদা, আগের বক্সটি কলামের মতো আচরণ করত। (I94893, b/167680279)
  • Box decoration প্যারামিটার বন্ধ করে দেওয়া হয়েছে। আপনার বক্সে সজ্জা/প্যাডিং রাখতে চাইলে, পরিবর্তে মডিফায়ার ব্যবহার করুন (Modifier.background, Modifier.border, Modifier.padding) (Ibae92, b/167680279)
  • অনেক গ্রাফিক্স API আপডেট করা হয়েছে
    • স্কোপ করা ট্রান্সফর্মেশন পদ্ধতি সহ আপডেট করা DrawScope API, এটি বোঝাতে যে ট্রান্সফর্মেশন শুধুমাত্র কলব্যাকের মধ্যে প্রয়োগ করা হয় এবং কলব্যাক ইনভোক করার পরে সরিয়ে দেওয়া হয়
    • রাউন্ডেড রেক্ট্যাঙ্গেলের পরিবর্তে Path উল্লেখ করার জন্য clipPath ডকুমেন্টেশন আপডেট করা হয়েছে
    • clipPath-এ ডানদিকের প্যারামিটারের জন্য ডকুমেন্টেশনে নির্দিষ্ট স্পেসিং
    • DrawScope.drawCanvas-এর নাম পরিবর্তন করে drawIntoCanvas করা হয়েছে এবং সাইজ প্যারামিটার সরিয়ে দেওয়া হয়েছে
    • ইনসেট পদ্ধতিতে dx/dy প্যারামিটারের নাম পরিবর্তন করে হরাইজন্টাল ও ভার্টিক্যাল করা হয়েছে
    • ইনসেট ওভারলোড যোগ করা হয়েছে যা ৪টি বাউন্ডে একই ইনসেট ভ্যালু প্রদান করে
    • ইনসেট পদ্ধতি সম্পর্কে সরানো ডকুমেন্টেশন থেকে জানা যায় যে ইনসেট সব ৪টি দিকে প্রয়োগ করা হবে
    • Rect ক্লাসের জন্য আপডেট করা ডকুমেন্টেশন
    • kdoc স্টাইলের সাথে ম্যাচ করাতে Rect প্যারামিটার সম্পর্কিত কমেন্ট আপডেট করা হয়েছে
    • Rect.join ও Rect.expandToInclude সরানো হয়েছে
    • Rect.translate(offset)-এর জন্য ওভারলোড তৈরি করা হয়েছে এবং Rect.shift বাতিল করা হয়েছে
    • (If086a, b/167737376)
  • আমরা লেআউট স্কোপের কন্টেন্টের স্ট্যাটিক ইমপোর্ট (যেমন, RowScope-এ alignWithSiblings) আটকিয়েছি। এর পরিবর্তে স্পষ্ট স্কোপের বিকল্প ব্যবহার করা উচিত: with(RowScope) { Modifier.alignWithSiblings(FirstBaseline) }. (I216be, b/166760797)

ভার্সন 1.0.0-alpha03

১৬ সেপ্টেম্বর ২০২০

androidx.compose.material:material:1.0.0-alpha03, androidx.compose.material:material-icons-core:1.0.0-alpha03 ও androidx.compose.material:material-icons-extended:1.0.0-alpha03 রিলিজ করা হয়েছে। ভার্সন 1.0.0-alpha03-এ এইসব কমিট আছে।

API-তে পরিবর্তন

  • BottomNavigationItem-এর onSelect প্যারামিটারের নাম পরিবর্তন করে onClick করা হয়েছে (I91925, b/161809324)
  • BottomNavigationItem ও Tab-এ InteractionState প্যারামিটার যোগ করে, এই স্টেটকে হোয়েস্ট করা এবং বিভিন্ন স্টেটে কম্পোনেন্টটি কেমনভাবে দেখা যাবে তা অ্যাডজাস্ট করার অনুমতি দেয়। (Ia3e9e, b/168025711)
  • বোতাম থেকে disabledBackgroundColor ও disabledContentColor প্যারামিটার সরিয়ে দেয়। এর পরিবর্তে, আপনাকে ButtonConstants-এর মধ্যে নতুন ডিফল্ট কালার ফাংশন ব্যবহার করতে হবে। আপনি যদি আগে থেকেই contentColor / backgroundColor স্পষ্টভাবে সেট করে থাকেন, তাহলে পরিবর্তে আপনাকে এইসব ডিফল্ট ফাংশন ব্যবহার করতে হবে এবং চালু / বন্ধ করা উভয় অবস্থার জন্য রঙ ওভাররাইট করা এড়াতে কিছু / সব প্যারামিটার কাস্টমাইজ করতে হবে। (If9b52)
  • টেক্সটফিল্ডের ব্যাকগ্রাউন্ড কালার আর অটোমেটিক ট্রান্সপারেন্সি আলফা প্রয়োগ করে না। এর পরিবর্তে, backgroundColor প্যারামিটারের মাধ্যমে প্রদান করা যেকোনও রঙ সরাসরি প্রয়োগ করা হবে। (Iecee9, b/167951441)
  • InnerPadding-এর নাম পরিবর্তন করে PaddingValues করা হয়েছে। (I195f1, b/167389171)
  • Modifier.swipeable-এ resistanceFactorAtMin এবং resistanceFactorAtMax প্যারামিটার একটি রেজিস্ট্যান্স প্যারামিটার দিয়ে পরিবর্তন করা হয়েছে। SwipeableConstants-এ একটি নতুন defaultResistanceConfig পদ্ধতি যোগ করা হয়েছে। (I54238)
  • Button ও FloatingActionButton-এর জন্য অ্যানিমেটেড স্টেটফুল এলিভেশন সংক্রান্ত সুবিধা যোগ করে। ডিফল্ট ও প্রেস করা স্টেটের মধ্যে এখন এলিভেশন অ্যানিমেট করে। দুটি স্টেটের মধ্যে এলিভেশন কাস্টমাইজ করতে, সব ক্ষেত্রে ফ্ল্যাট Dp ভ্যালু সেট করার পরিবর্তে ButtonConstants.defaultAnimatedElevation() ও FloatingActionButtonConstants.defaultAnimatedElevation() ব্যবহার করুন। (I37925)
  • TextField ও OutlinedTextField-এর মধ্যে লেবেল একটি ঐচ্ছিক প্যারামিটার হয়ে গেছে (I267f6, b/162234081)

সমস্যার সমাধান

  • onNode বা waitForIdle-এর মতো গ্লোবাল টেস্টিং ফাংশন এখন সচল নেই, ComposeTestRule-এ (I7f45a) সংজ্ঞায়িত তাদের নতুন সমকক্ষদের কাছে মাইগ্রেট করুন
  • DpConstraints এবং এটি ব্যবহার করে এমন API-এর ব্যবহার বন্ধ করে দেওয়া হয়েছে। (I90cdb, b/167389835)
  • widthIn-এর প্যারামিটার minWidth ও maxWidth-এর নাম পরিবর্তন করে min ও max করা হয়েছে। একইভাবে preferredWidthIn, heightIn, preferredHeightIn-এর ক্ষেত্রেও করা হয়েছে। (I0e5e1, b/167389544)
  • 'ফরওয়ার্ড/ব্যাকওয়ার্ড স্ক্রল করা' সংক্রান্ত শব্দার্থের অ্যাকশন সরিয়ে দিন। AccessibilityRangeInfo-তে ধাপ যোগ করা হয়েছে। (Ia47b0)
  • লেআউট API-তে অ্যালাইন বা অ্যালাইনমেন্টের সাথে সামঞ্জস্য রেখে গ্র্যাভিটি শব্দটির ব্যবহার ধারাবাহিকভাবে রিনেম করা হয়েছে। (I2421a, b/164077038)
  • ComposeTestRule-এ onNode ও অন্যান্য গ্লোবাল মেথড যোগ করা হয়েছে, কারণ বর্তমান গ্লোবাল মেথডগুলি আর ব্যবহার করা যাবে না। (Ieae36)
  • createAndroidComposeRule ও AndroidInputDispatcher-কে androidx.ui.test.android থেকে androidx.ui.test-এ সরানো হয়েছে (Idef08, b/164060572)

ভার্সন 1.0.0-alpha02

২ সেপ্টেম্বর, ২০২০

androidx.compose.material:material:1.0.0-alpha02, androidx.compose.material:material-icons-core:1.0.0-alpha02 ও androidx.compose.material:material-icons-extended:1.0.0-alpha02 রিলিজ করা হয়েছে। ভার্সন 1.0.0-alpha02-এ এইসব কমিট আছে।

API-তে পরিবর্তন

  • পরীক্ষামূলক BackdropScaffold কম্পোনেন্ট যোগ করা হয়েছে। (Iad908)

সমস্যার সমাধান

  • Matrix4-এর পরিবর্তে Matrix ব্যবহার করা হয়েছে। vectormath প্যাকেজের অন্যান্য সব অংশ সরিয়ে দেওয়া হয়েছে। (Ibd665, b/160140398)

ভার্সন 1.0.0-alpha01

২৬ আগস্ট, ২০২০

androidx.compose.material:material:1.0.0-alpha01, androidx.compose.material:material-icons-core:1.0.0-alpha01 ও androidx.compose.material:material-icons-extended:1.0.0-alpha01 রিলিজ করা হয়েছে। ভার্সন 1.0.0-alpha01-এ এইসব কমিট আছে।

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

= কোনও মেটেরিয়ালের প্রথম অক্ষরটি TextField ব্যাকস্পেস (b/165956313) ব্যবহার করে সরানো যায় না

ভার্সন 0.1.0-dev

ভার্সন 0.1.0-dev17

১৯ আগস্ট, ২০২০

androidx.compose.material:material:0.1.0-dev17, androidx.compose.material:material-icons-core:0.1.0-dev17 ও androidx.compose.material:material-icons-extended:0.1.0-dev17 রিলিজ করা হয়েছে। ভার্সন 0.1.0-dev17-এ এইসব কমিট আছে।

API-তে পরিবর্তন

  • আগে বাতিল করা RadioGroup ও RadioGroupItems সরিয়ে দেওয়া হয়েছে। এর পরিবর্তে Row ও RadioBotton ব্যবহার করুন (I381b7, b/163806637)
  • TextField থেকে onFocusChanged কলব্যাক সরানো হয়েছে। এর পরিবর্তে Modifier.focusObserver ব্যবহার করুন। (I51089, b/161297615)
  • Modifier.drawBorder অবচিত করা হয়েছে। এর পরিবর্তে Modifier.border ব্যবহার করুন। BorderStroke (I4257d, b/158160576) দ্বারা বর্ডার ডেটা ক্লাস প্রতিস্থাপন করা হয়েছে
  • SwipeableState-এ কিছু প্রপার্টির নাম পরিবর্তন করা হয়েছে: swipeTarget -> targetValue, swipeProgress -> progress, swipeDirection -> direction. SwipeableStates তৈরি করার জন্য rememberSwipeableState ফাংশন যোগ করা হয়েছে। (I2fc9c, b/163129614, b/163132293)
  • পজিশনিং ও সঠিক কিউয়িং সহ স্নাকবার সংক্রান্ত সুবিধা যোগ করা হয়েছে। SnackbarHostState.showSnackbar সাসপেন্ড ফাংশনের মাধ্যমে এটি অ্যাক্সেস করুন। এছাড়াও:
    • SnackbarHost কম্পোনেন্ট যোগ করা হয়েছে। এটি স্টেটের উপর ভিত্তি করে স্ন্যাকবার হোস্ট করে এবং স্ন্যাকবারের মধ্যে ট্রানজিশনের জন্য দায়ী।
    • স্ন্যাকবার, স্ন্যাকবার হোস্ট কন্ট্রোল করতে এবং ScaffoldState থেকে এটিকে আলাদা করতে SnackbarHostState যোগ করা হয়েছে। আপনি scaffoldState.snackbarHostState-এর মাধ্যমেও এই স্টেট অ্যাক্সেস করতে পারবেন।
    • snackbarHostState এবং snackbars-এর মধ্যে সাধারণ ইন্টারফেসকে সাপোর্ট করার জন্য স্নাকবার ওভারলোড যোগ করা হয়েছে। (I79aaa)
  • IconButton-এ enabled প্যারামিটার যোগ করে এবং IconToggleButton-এ প্যারামিটারগুলির ক্রম পরিবর্তন করে (I0a941, b/161809385, b/161807956)
  • String-ভিত্তিক API সহ ListItem ভার্সন সরিয়ে দেওয়া হয়েছে। এর পরিবর্তে স্লট ভার্সন ব্যবহার করুন। (Ib8f57, b/161804681)
  • সচল নয় এমন FilledTextField কম্পোনেন্ট সরিয়ে দেওয়া হয়েছে। Filled টেক্সট ফিল্ডের Material Design প্রয়োগ পেতে TextField ব্যবহার করুন। (I5e889)
  • AlertDialog এখন বোতামের জন্য FlowRow ব্যবহার করে (I00ec1, b/161809319, b/143682374)
  • সীমা অতিক্রম করে সোয়াইপ করার সময় প্রতিরোধের পরিমাণ পরিবর্তন করার জন্য Modifier.swipeable-এ প্যারামিটার যোগ করা হয়েছে। [min/max]Value প্যারামিটার সরিয়ে দেওয়া হয়েছে। (I93d98)
  • LinearProgressIndicator-এ backgroundColor প্যারামিটার যোগ করা হয়েছে এবং CircularProgressIndicator থেকে ইন্টার্নাল প্যাডিং সরিয়ে দেওয়া হয়েছে। নতুন ProgressIndicatorConstants.DefaultProgressAnimationSpec যোগ করা হয়েছে যা ভ্যালুর মধ্যে প্রগ্রেস অ্যানিমেট করার সময় ডিফল্ট AnimationSpec হিসেবে ব্যবহার করা যেতে পারে (If38b5, b/161809914, b/161804677)
  • Modifier.swipeable-এ ঐচ্ছিক প্যারামিটার velocityThreshold যোগ করা হয়েছে। (I698ba)
  • bottomBarSize, fabSize ও অন্যান্য আর ScaffoldState-এ উপলভ্য নেই। আপনি যে কম্পোনেন্টের সাইজ জানতে চান সেটির পরিবর্তে Modifier.onPosition ব্যবহার করুন। Scaffold-এ contentColor ও Modifier প্যারামিটার যোগ করা হয়েছে (Ic6f7b, b/161811485, b/157174382)
  • অন্যান্য API-এর সাথে সামঞ্জস্য বজায় রাখতে ট্যাবে কিছু প্যারামিটারের নাম পরিবর্তন ও ক্রম পরিবর্তন করা হয়েছে (Ia2d12, b/161807532)
  • TabRow থেকে isScrollable সরিয়ে TabRow-কে TabRow ও ScrollableTabRow-এ ভাগ করে। এছাড়াও, ScrollableTabRow-তে edgePadding এক্সপোজ করে, যা ট্যাবগুলির আগে / পরে ফাঁকা জায়গা কন্ট্রোল করতে দেয়। (I583e8, b/161809544)
  • TabRow অবজেক্ট সরিয়ে দেওয়া হয়েছে এবং TabConstants দিয়ে সেটি পাল্টে দেওয়া হয়েছে। TabRow.TabPosition টপ লেভেলে (TabPosition) সরানো হয়েছে এবং indicatorContainer-এর নাম পরিবর্তন করে indicator করা হয়েছে। আপডেট করা API ও ডিফল্ট কীভাবে ব্যবহার করতে হয় সেই সম্পর্কে বিস্তারিত তথ্য পেতে নমুনা ও ডকুমেন্টেশন দেখুন। (I54d45, b/161809544)
  • Modifier.swipeable-এ থ্রেশহোল্ড প্যারামিটার পরিবর্তন করা হয়েছে; এটি এখন স্টেটের একটি পেয়ার (T ধরনের) নেয় এবং ThresholdConfig-এর আকারে সেগুলির মধ্যে থ্রেশহোল্ড রিটার্ন করে। A param dismissThresholds was added to SwipeToDismiss, which is a lambda (DismissDirection) -> ThresholdConfig. (Ie1080)
  • গ্র্যানুলার কাস্টমাইজেশনের জন্য স্লাইডারে আরও রঙ আছে (I73e64, b/161810475)
  • কার্ডের কালার প্যারামিটারটির নাম পরিবর্তন করে backgroundColor করা হয়েছে (I01fc1, b/161809546)
  • স্ন্যাকবারে এখন কাস্টমাইজ করা যায় এমন ব্যাকগ্রাউন্ড ও কন্টেন্টের রঙ আছে (I238f2, b/161804381)
  • Drawers-এ modifier, backgroundColor, contentColor ও scrimColor কাস্টমাইজেশন প্যারামিটার যোগ করা হয়েছে (I23655, b/161804378)
  • state { ... } কম্পোজ করার উপযুক্ত এখন আর ব্যবহার করা হয় না, এর পরিবর্তে স্পষ্টতার জন্য remember { mutableStateOf(...) }-এ এক্সপ্লিসিট কল করা হয়। এটি স্টেট ম্যানেজমেন্টের জন্য সামগ্রিক API সারফেস ও কনসেপ্টের সংখ্যা কমিয়ে দেয় এবং ক্লাস প্রপার্টি ডেলিগেশনের জন্য by mutableStateOf() প্যাটার্নের সাথে ম্যাচ করে। (Ia5727)
  • Button's padding param-এর নাম পরিবর্তন করে contentPadding করা হয়েছে (Id252e, b/161809394)
  • পরীক্ষামূলক মেটেরিয়াল কম্পোনেন্ট SwipeToDismiss যোগ করুন। (I129e5)

সমস্যার সমাধান

  • onChildPositioned ও OnChildPositionedModifier সরিয়ে দেওয়া হয়েছে। এর পরিবর্তে, ডেভেলপারদের চাইল্ড লেআউটে onPositioned এবং OnPositionedModifier ব্যবহার করা উচিত। (I4522e, b/162109766)
  • SemanticsPropertyKey-তে mergePolicy ল্যাম্বডা যোগ করা হয়েছে। এটি mergeAllDescendants সিম্যান্টিক্স মার্জ করার জন্য কাস্টম নীতি নির্ধারণ করতে ব্যবহার করা যেতে পারে। ডিফল্ট নীতি হল, আগে থেকেই উপস্থিত থাকলে প্যারেন্ট ভ্যালু ব্যবহার করা, অন্যথায় চাইল্ড ভ্যালু ব্যবহার করা। (Iaf6c4, b/161979921)
  • IntSize এখন একটি ইনলাইন ক্লাস (I2bf42)
  • PlacementScope.placeAbsolute()-এর নাম পরিবর্তন করে PlacementScope.place() করা হয়েছে এবং আগের PlacementScope.place()-এর নাম পরিবর্তন করে PlacementScope.placeRelative() করা হয়েছে। এর ফলে, PlacementScope.place() পদ্ধতি আর বাঁদিক থেকে ডানদিকে কনটেক্সটে অটোমেটিক পজিশন মিরর করবে না। এটি করতে চাইলে, PlacementScope.placeRelative() ব্যবহার করুন। (I873ac, b/162916675)
  • Rect-এর পরিবর্তে PxBounds ব্যবহার করা হয় না। rect সহ PxBounds-এর সব ব্যবহার আপডেট করা হয়েছে এবং মাইগ্রেশনে সহায়তা করার জন্য সঠিক deprecate/replace with অ্যানোটেশন যোগ করা হয়েছে। (I37038, b/162627058)
  • RRect-এর নাম পরিবর্তন করে RoundRect করা হয়েছে যাতে কম্পোজের নামকরণের প্যাটার্নের সাথে আরও ভালোভাবে মানানসই হয় RRect-এর মতো একই ধরনের ফাংশন কনস্ট্রাক্টর তৈরি করা হয়েছে এবং RRect ফাংশন কনস্ট্রাক্টর (I5d325)-এর ব্যবহার বন্ধ করে দেওয়া হয়েছে

ভার্সন 0.1.0-dev16

৫ আগস্ট, ২০২০

androidx.compose.material:material:0.1.0-dev16, androidx.compose.material:material-icons-core:0.1.0-dev16 ও androidx.compose.material:material-icons-extended:0.1.0-dev16 রিলিজ করা হয়েছে। ভার্সন 0.1.0-dev16-এ এইসব কমিট আছে।

API-তে পরিবর্তন

  • Colors এখন ইন্টারফেসের পরিবর্তে একটি ফাইনাল ক্লাস। কাস্টম থিম অবজেক্টের জন্য কাস্টম ইমপ্লিমেন্টেশন প্রদান ও এক্সটেন্ড করার পরিবর্তে, আপনার কাস্টম থিম অবজেক্টের জন্য নতুন অ্যাম্বিয়েন্ট তৈরি করুন এবং আপনার কম্পোনেন্টে নতুন অ্যাম্বিয়েন্টের মাধ্যমে থিম অবজেক্ট অ্যাক্সেস করুন, ঠিক যেভাবে MaterialTheme ইন্টার্নালি কাজ করে। (Ibae84)
  • ColorPalette-এর নাম পরিবর্তন করে Colors করা হয়েছে, যাতে Material কালার সিস্টেমের সাথে আরও ভালোভাবে ম্যাপ করা যায় এবং ColorPalette-কে 'জেনারেটিক' থিমিং অবজেক্ট হিসেবে বিবেচনা করার ফলে বিভ্রান্তি দূর করা যায়, কারণ এটি Material কালার সিস্টেমের নির্দিষ্ট প্রয়োগ। এছাড়াও, lightColorPalette ও darkColorPalette-এর নাম পরিবর্তন করে যথাক্রমে lightColors ও darkColors করা হয়েছে। (I9e976, b/161812111)
  • BottomNavigationItem-এর text প্যারামিটারকে label, onSelected-কে onSelect, activeColor-কে selectedContentColor, inactiveColor-কে unselectedContentColor নামে পরিবর্তন করে এবং নির্দেশিকা অনুযায়ী প্যারামিটার অর্ডারিং আপডেট করে। (Icb605, b/161809324)
  • Modifier.stateDraggable সম্পূর্ণ নতুন করে তৈরি করা হয়েছে এবং এর নাম পরিবর্তন করে Modifier.swipeable রাখা হয়েছে। নতুন SwipeableState ক্লাস চালু করা হয়েছে এবং DrawerState ও BottomDrawerState-কে রিফ্যাক্টর করে এটি থেকে ইনহেরিট করা হয়েছে। [Modal/Bottom]DrawerLayout আর onStateChange প্যারামিটার নেয় না। (I72332, b/148023068)
  • foundation.shape.corner প্যাকেজ foundation.share-এ ফ্ল্যাটেন করা হয়েছে (I46491, b/161887429)
  • ExperimentalMaterialApi অ্যানোটেশন যোগ করা হয়েছে। RippleTheme এক্সপেরিমেন্টাল হিসেবে চিহ্নিত করা হয়েছে (Ic5fa0, b/161784800)
  • সবচেয়ে সহজ ও কাঙ্ক্ষিত API যাতে সহজে খুঁজে পাওয়া ও ব্যবহার করা যায় সেই জন্য Material FilledTextField-এর নাম পরিবর্তন করে TextField এবং foundational TextField-এর নাম পরিবর্তন করে BaseTextField রাখা হয়েছে (Ia6242, b/155482676)

সমস্যার সমাধান

  • OnChildPositioned বন্ধ করে দেওয়া হয়েছে। এর পরিবর্তে চাইল্ডে OnPositioned ব্যবহার করুন। (I87f95, b/162109766)
  • ঠিকানা সংক্রান্ত API-তে হওয়া বড় ধরনের সমস্যা সমাধান (I077bc)
    1. ব্যবহার না করা OffsetBase ইন্টারফেস সরিয়ে দেওয়া
    2. অফসেট ও IntOffset ক্লাসগুলিকে সারিবদ্ধ করে একটি সামঞ্জস্যপূর্ণ API সারফেস তৈরি করুন
    3. Offset API-এর সাথে সামঞ্জস্য বজায় রাখতে IntOffset.Origin-এর নাম পরিবর্তন করে IntOffset.Zero করুন
    4. গ্রাহকদের নিজেদের Canvas ইনস্ট্যান্স তৈরি করতে সাহায্য করার জন্য Canvas ইন্টারফেস থেকে nativeCanvas পদ্ধতি সরানো হয়েছে
    5. refactor DrawScope-এর জন্য EmptyCanvas ক্লাস তৈরি করা হয়েছে যাতে এটি lateinit-এর পরিবর্তে নন-নাল প্যারামিটার হয় এবং ফিল্ডের নন-নাল হওয়ার বিষয়টি নিশ্চিত করা যায়
    6. ClipOp এনুমের নাম পরিবর্তন করে পাস্কেল কেস করা হয়েছে
    7. FilterQuality এনুমের নাম পরিবর্তন করে পাসকেল কেস করা হয়েছে
    8. StrokeJoin এনুমের নাম পরিবর্তন করে পাস্কেল কেস করা হয়েছে
    9. PointMode এনুমের নাম পরিবর্তন করে পাস্কেল কেস করা হয়েছে
    10. রিনেম করা PaintingStyle enum-কে পাস্কেল কেস করা হয়েছে
    11. PathFillType এনুমের নাম পরিবর্তন করে পাস্কেল কেস করা হয়েছে
    12. StrokeCap এনুমের নাম পরিবর্তন করে পাস্কেল কেস করা হয়েছে
    13. DrawCache-এর আপডেট করা প্রয়োগ আর lateinit প্যারামিটার ব্যবহার করে না
    14. fillPaint ও strokePaint ইন্টার্নাল প্যারামিটারের জন্য লেজি ডেলিগেশন আর ব্যবহার না করতে DrawScope আপডেট করা হয়েছে
    15. কম ওভারহেডের জন্য Box ব্যবহার এড়াতে আপডেট করা ইমেজ কম্পোজযোগ্য
    16. @Immutable অ্যানোটেশন সহ আপডেট করা আউটলাইন ক্লাস
    17. প্রতিটি পাথ নির্দেশাবলীর জন্য @Immutable অ্যানোটেশন সহ আপডেট করা PathNode
    18. কম্পোজ যেহেতু ইতিমধ্যেই এগুলি ম্যানেজ করে, তাই সমান কিনা তা চেক করার জন্য অপ্রয়োজনীয় কন্ডিশনাল চেক সরিয়ে দিতে আপডেট করা ভেক্টর সাবকম্পোজিশন
    19. ফাংশন কনস্ট্রাক্টরের পরিবর্তে বন্ধ করে দেওয়া Rect কম্প্যানিয়ন কনস্ট্রাক্টর পদ্ধতি
    20. @Immutable এবং @Stable API সহ আপডেট করা ব্রাশ ক্লাস এবং ফাংশন কনস্ট্রাক্টর
    21. VertexMode enum-কে PascalCase হিসেবে আপডেট করা হয়েছে
    22. পরিবর্তিত হলে, ড্রস্কোপের selectPaint পদ্ধতিটি কন্ডিশনালভাবে পেইন্টের স্ট্রোক প্যারামিটার ওভাররাইট করার জন্য আপডেট করা হয়েছে
    23. ডেস্ট্রাকচারিং API যোগ করতে সাইজ আপডেট করা হয়েছে, নাম পরিবর্তন করে UnspecifiedSize-এর নাম Unspecified করা হয়েছে এবং অব্যবহৃত পদ্ধতি সরিয়ে দেওয়া হয়েছে
  • ডায়ালগকে UI-তে সরান (I47fa6)
  • SemanticsNodeInteraction.performPartialGesture সরানো হয়েছে। এর পরিবর্তে SemanticsNodeInteraction.performGesture ব্যবহার করুন। (Id9b62)
  • SemanticsNodeInteraction.getBoundsInRoot()-এর নাম পরিবর্তন করে SemanticsNodeInteraction.getUnclippedBoundsInRoot() করা হয়েছে (Icafdf, b/161336532)
  • ডান-থেকে-বামে কাজ করার জন্য API আপডেট করা হয়েছে। LayoutDirectionAmbient যোগ করা হয়েছে, যা লেআউটের দিকনির্দেশ পড়তে ও পরিবর্তন করতে ব্যবহার করা যেতে পারে। Modifier.rtl এবং Modifier.ltr সরিয়ে দেওয়া হয়েছে। (I080b3)
  • Modifier.deternimateProgress-এর নাম পরিবর্তন করে Modifier.progressSemantics করা হয়েছে (I9c0b4)
  • Material.io/icons-এ যোগ করা লেটেস্ট আইকন দিয়ে material-icons-extended আপডেট করে (I4b1d3)
  • transitionDefinition-এর জন্য স্পষ্টভাবে উল্লেখ করা প্রয়োজন এমন ধরন হল T. (I1aded)
  • Modifier.plus বন্ধ করা হয়েছে, এর পরিবর্তে Modifier.then ব্যবহার করুন। 'তারপর' শব্দটির মধ্যে ক্রম নির্দেশ করার একটি শক্তিশালী সিগন্যাল আছে, একই সাথে এটি Modifier.padding().background() + anotherModifier টাইপ করাও নিষিদ্ধ করে, যা চেইন ভেঙে দেয় এবং পড়তে অসুবিধা হয় (Iedd58, b/161529964)
  • AndroidComposeTestRule-এর নাম পরিবর্তন করে createAndroidComposeRule করা হয়েছে। (I70aaf)
  • isFocused() এবং isNotFocused() SemanticsMatcher যোগ করুন। (I0b760)
  • পরীক্ষায় ব্যবহার করা উচিত নয় এমন BaseGestureScope.globalBounds সরিয়ে দেওয়া হয়েছে। পরিবর্তে, আপনি যে নোডের সাথে ইন্টার‍্যাক্ট করছেন সেটির স্থানীয় কোঅর্ডিনেট ব্যবহার করুন। (Ie9b08)
  • কাট-আউট ডিসপ্লেতে পপ-আপের পজিশন ঠিক করা হয়েছে। (Idd7dd)
  • Modifier.drawBackground-এর নাম পরিবর্তন করে Modifier.background করা হয়েছে (I13677)

ভার্সন 0.1.0-dev15

২২ জুলাই, ২০২০

androidx.compose.material:material:0.1.0-dev15, androidx.compose.material:material-icons-core:0.1.0-dev15 ও androidx.compose.material:material-icons-extended:0.1.0-dev15 রিলিজ করা হয়েছে। 0.1.0-dev15 ভার্সনে এইসব কমিট আছে।

ডিপেন্ডেন্সি আপডেট

  • Compose-এর 0.1.0-dev15 ভার্সন ব্যবহার করতে, আপনাকে ডিপেন্ডেন্সি ঘোষণা করা বিভাগে উপরে দেখানো নতুন কোড স্নিপেট অনুযায়ী ডিপেন্ডেন্সি আপডেট করতে হবে।

API-তে পরিবর্তন

  • @Model অ্যানোটেশন এখন বন্ধ করে দেওয়া হয়েছে। বিকল্প হিসেবে state ও mutableStateOf ব্যবহার করুন। অনেক আলোচনা ও পর্যালোচনার পরে এই সিদ্ধান্ত নেওয়া হয়েছে।

    যুক্তি

    যুক্তিগুলির মধ্যে এগুলি অন্তর্ভুক্ত থাকলেও তা শুধুমাত্র এগুলির মধ্যেই সীমাবদ্ধ থাকে না:

    • API সারফেস এরিয়া ও আমাদের শেখাতে হবে এমন ধারণা কমায়
    • অন্যান্য তুলনীয় টুলকিটের (Swift UI, React, Flutter) সাথে আরও বেশি সামঞ্জস্যপূর্ণ
    • সিদ্ধান্ত ফিরিয়ে নেওয়া যাবে। আমরা পরে যেকোনও সময় @Model ফিরিয়ে আনতে পারব।
    • @Model কনফিগার করা সংক্রান্ত কঠিন প্রশ্নের উত্তর দেওয়া এবং কোণঠাসা করে ফেলার মতো ব্যবহার সরিয়ে দেয়, কারণ এগুলি আমাদের ম্যানেজ করতে হয়
    • @Model ডেটা ক্লাস, সমান, হ্যাশকোড ইত্যাদি।
    • আমার কিছু প্রপার্টি কীভাবে “পর্যবেক্ষণ করা” হয় এবং অন্যান্য প্রপার্টি হয় না?
    • পর্যবেক্ষণে ব্যবহার করার জন্য আমি কীভাবে স্ট্রাকচারাল বনাম রেফারেন্সিয়াল ইকুয়ালিটি নির্দিষ্ট করব?
    • সিস্টেমে "ম্যাজিক" কমায়। এর ফলে কেউ সিস্টেমকে যতটা বুদ্ধিমান বলে মনে করেন, তার চেয়ে বেশি বুদ্ধিমান বলে মনে করার সম্ভাবনা কমে যাবে (যেমন, এটি কীভাবে তালিকা আলাদা করতে হয় তা জানে)
    • পর্যবেক্ষণের গ্র্যানুলারিটি আরও বেশি ইনটুইটিভ করে তোলে।
    • ক্লাসে ভেরিয়েবল -> প্রপার্টি থেকে রিফ্যাক্টর করার সুবিধা উন্নত করে
    • হাতে-কলমে রাজ্য-নির্দিষ্ট অপ্টিমাইজেশন করার সম্ভাবনা খুলে দেয়
    • ইকোসিস্টেমের বাকি অংশের সাথে আরও বেশি করে অ্যালাইন করে এবং অপরিবর্তনীয় বা আমাদের “পরিবর্তনযোগ্য স্টেট গ্রহণ করা”র ব্যাপারে অস্পষ্টতা কমায়

    মাইগ্রেশন নোট

    @Model-এর প্রায় সবকটি বিদ্যমান ব্যবহারকে দুটি উপায়ের মধ্যে একটিতে মোটামুটি তুচ্ছভাবে ট্রান্সফর্ম করা হয়। নিচের উদাহরণে, শুধুমাত্র উদাহরণের জন্য দুটি প্রপার্টি সহ একটি @Model ক্লাস আছে এবং এটি একটি কম্পোজ করার উপযুক্ত ফাংশনে ব্যবহার করা হচ্ছে।

    @Model class Position(
     var x: Int,
     var y: Int
    )
    
    @Composable fun Example() {
     var p = remember { Position(0, 0) }
     PositionChanger(
       position=p,
       onXChange={ p.x = it }
       onYChange={ p.y = it }
     )
    }
    

    বিকল্প ১: State<OriginalClass> ব্যবহার করে কপি তৈরি করুন।

    Kotlin-এর ডেটা ক্লাসের মাধ্যমে এই পদ্ধতি আরও সহজ করে তোলা হয়েছে। মোটকথা, আগেকার সব var প্রপার্টিকে ডেটা ক্লাসের val প্রপার্টিতে পরিবর্তন করুন, তারপর remember-এর পরিবর্তে state ব্যবহার করুন এবং ডেটা ক্লাসের copy(...) কনভেনিয়েন্স মেথড ব্যবহার করে আসল ডেটার ক্লোন করা কপিকে স্টেট ভ্যালু অ্যাসাইন করুন।

    এটি মনে রাখা গুরুত্বপূর্ণ যে এই পদ্ধতিটি শুধুমাত্র তখনই কাজ করে যখন সেই ক্লাসে একমাত্র মিউটেশনগুলি একই স্কোপে করা হয় যেখানে State ইনস্ট্যান্স তৈরি করা হয়। যদি ক্লাসটি ব্যবহারের স্কোপের বাইরে ইন্টার্নালি মিউটেশন করে এবং আপনি যদি সেই পর্যবেক্ষণের উপর নির্ভর করেন, তাহলে পরবর্তী অ্যাপ্রোচটি হল সেই অ্যাপ্রোচ যা আপনি ব্যবহার করতে চাইবেন।

    data class Position(
     val x: Int,
     val y: Int
    )
    
    @Composable fun Example() {
     var p by state { Position(0, 0) }
     PositionChanger(
       position=p,
       onXChange={ p = p.copy(x=it) }
       onYChange={ p = p.copy(y=it) }
     )
    }
    

    বিকল্প ২: mutableStateOf ও প্রপার্টি ডেলিগেট ব্যবহার করা

    Kotlin-এর প্রপার্টি ডেলিগেট এবং mutableStateOf API-এর সাহায্যে এই পদ্ধতি আরও সহজ করা হয়েছে, যা আপনাকে কম্পোজিশনের বাইরে MutableState ইনস্ট্যান্স তৈরি করতে দেয়। মূলত, mutableStateOf-কে প্রপার্টি ডেলিগেট হিসেবে ব্যবহার করে, মূল ক্লাসের সব var প্রপার্টিকে var প্রপার্টি দিয়ে পরিবর্তন করুন। এর সুবিধা হল, ক্লাসের ব্যবহার মোটেই পরিবর্তন হবে না, শুধুমাত্র এর ইন্টার্নাল প্রয়োগ পরিবর্তন হবে। যদিও আচরণটি মূল উদাহরণের সাথে সম্পূর্ণভাবে অভিন্ন নয়, কারণ প্রতিটি প্রপার্টি এখন আলাদাভাবে পর্যবেক্ষণ/সাবস্ক্রাইব করা হয়, তাই এই রিফ্যাক্টরের পরে আপনি যে রিকম্পোজিশন দেখতে পাবেন তা আরও সীমিত হতে পারে (এটি ভাল)।

    class Position(x: Int, y: Int) {
     var x by mutableStateOf(x)
     var y by mutableStateOf(y)
    }
    
    // source of Example is identical to original
    @Composable fun Example() {
     var p = remember { Position(0, 0) }
     PositionChanger(
       position=p,
       onXChange={ p.x = it }
       onYChange={ p.y = it }
     )
    }
    

    (I409e8, b/152050010, b/146362815, b/146342522, b/143413369, b/135715219, b/143263925, b/139653744)

  • টেক্সট ফিল্ডে onFocusChange কলব্যাক ফাংশনের নাম পরিবর্তন করে onFocusChanged করা হয়েছে (Ida4a1)

  • অ্যাঙ্করগুলির মধ্যে থ্রেশহোল্ড নির্দিষ্ট করতে stateDraggable-এ থ্রেশহোল্ড প্যারামিটার যোগ করা হয়েছে। এটি নিচের ড্রয়ারে ৫৬dp থ্রেশহোল্ড সেট করতে ব্যবহার করা হয়েছে। এছাড়াও, BottomDrawerLayout এখন একটি আলাদা BottomDrawerState enum ব্যবহার করে। (I533fa)

  • আগে বাতিল করা Modifier.ripple সরিয়ে দেয়। Clickable এখন ডিফল্ট ইঙ্গিত হিসেবে রিপেল ব্যবহার করে (আপনার অ্যাপ্লিকেশনে MaterialTheme {} সেট করা থাকলে) তাই বেশিরভাগ ক্ষেত্রে আপনি শুধু clickable ব্যবহার করতে এবং রিপেল ইঙ্গিত ফ্রিতে পেতে পারবেন। রিপেলের জন্য রঙ / সাইজ / বাউন্ডেড প্যারামিটার কাস্টমাইজ করার প্রয়োজন হলে, আপনি ম্যানুয়ালি RippleIndication তৈরি করতে পারেন এবং এটিকে ক্লিক করা যায় এমন আইটেমে indication প্যারামিটার হিসেবে পাস করতে পারেন। (I663b2, b/155375067)

  • FilledTextField কম্পোজ করার উপযুক্ত (I7f8f8) উপাদানের বাতিল করা ওভাররাইড সরিয়ে দেওয়া হয়েছে

  • ButtonConstants-এ (I7c5f7, b/159687878) বোতাম অবজেক্টের (বোতাম ফাংশন দ্বারা ব্যবহৃত ডিফল্ট কন্টেন্ট সহ) নাম পরিবর্তন করুন

  • বোতামের কন্টেন্ট স্লট এখন সারি হিসেবে কাজ করে (টেক্সটের সাথে আইকন যোগ করতে চাইলে এটি কাজে লাগে, বোতামে কীভাবে এটি লিখতে হয় তার নমুনা দেখুন) (I0ff10, b/158677863)

  • RadioGroup ও RadioGroupItem আর ব্যবহার করা হয় না। আপনার ডিজাইন অনুযায়ী রেডিও বোতামের সঠিক সেট তৈরি করতে, Modifier.selectable, Row ও Column-এর সাথে Box ব্যবহার করুন (I7f5cf, b/149528535)

  • Material Outlined Textfield যোগ করা হয়েছে (I1a518)

  • androidx.ui.foundation.TextFieldValue এবং androidx.ui.input.EditorValue বন্ধ করা হয়েছে। TextField, FilledTextField এবং CoreTextField কম্পোজ করার উপযুক্ত আইটেম যা এই ধরনের আইটেম ব্যবহার করে সেগুলিও বাতিল করা হয়েছে। এর পরিবর্তে androidx.ui.input.TextFieldValue ব্যবহার করুন (I4066d, b/155211005)

  • TabRow.TabPosition-এ Dp-তে পজিশন নেই, IntPx-এ আছে (I34a07, b/158577776)

  • IntPx-এর ব্যবহার Int-এর সাথে পরিবর্তন করা হয়েছে। IntPxPosition -এর ব্যবহার IntOffset-এর সাথে পরিবর্তন করা হয়েছে। IntPxSize-এর পরিবর্তে IntSize ব্যবহার করা হয়েছে। (Ib7b44)

  • সাইজিং সংক্রান্ত তথ্য দেখানোর জন্য ব্যবহৃত ক্লাসের সংখ্যাকে একত্রিত করতে, PxSize-এর পরিবর্তে Size ক্লাসের ব্যবহারকে স্ট্যান্ডার্ডাইজ করুন। এটি একটি ইনলাইন ক্লাসের সুবিধা প্রদান করে যা একটি বড় মানকে ব্যবহার করে ২টি ফ্লোট ভ্যালুকে প্যাক করে এবং ফ্লোট হিসেবে প্রস্থ ও উচ্চতাকে দেখায়। (Ic0191)

  • Modifier.ripple-কে বাতিল করে। Clickable এখন ডিফল্ট ইঙ্গিত হিসেবে রিপেল ব্যবহার করে (আপনার অ্যাপ্লিকেশনে MaterialTheme {} সেট করা থাকলে) তাই বেশিরভাগ ক্ষেত্রে আপনি শুধু clickable ব্যবহার করতে এবং রিপেল ইঙ্গিত ফ্রিতে পেতে পারবেন। রিপেলের জন্য রঙ / সাইজ / বাউন্ডেড প্যারামিটার কাস্টমাইজ করার প্রয়োজন হলে, আপনি ম্যানুয়ালি RippleIndication তৈরি করতে পারেন এবং এটিকে ক্লিক করা যায় এমন আইটেমে indication প্যারামিটার হিসেবে পাস করতে পারেন। (I101cd, b/155375067)

  • Scaffold API-তে পরিবর্তন করা হয়েছে: কিছু প্যারামিটারের নাম পরিবর্তন করা হয়েছে, আরও ভাল কাস্টমাইজেশনের জন্য নতুন প্যারামিটার যোগ করা হয়েছে। Fab, TopBar ও BottomBar-এর কোয়েরি সাইজ পাওয়ার জন্য গেটার যোগ করা হয়েছে (I0e7ce)

  • ui-material-এ DropdownMenu কম্পোনেন্ট যোগ করা হয়েছে, এটি হল মেটেরিয়াল ডিজাইন মেনু ইমপ্লিমেন্টেশন। (I9bb3d)

  • SoftwareKeyboardController ব্যবহার করে ম্যানুয়ালি সফ্টওয়্যার কীবোর্ড দেখাতে/লুকোতে দিন (Ifb9d6, b/155427736)

  • Modifier.indication, foundation প্যাকেজে যোগ করা হয়েছে। আপনার কাস্টম ইন্ট্যার‍্যাক্টেবল এলিমেন্টে (I8425f, b/155287131) প্রেস/ড্র্যাগ/অন্যান্য ইঙ্গিত দেখাতে এটি ব্যবহার করুন

  • CanvasScope-এর একত্রিত প্রয়োগ তাই এখন শুধু DrawScope এবং ContentDrawScope আছে CanvasScope-এর নাম পরিবর্তন করে DrawScope করা হয়েছে। Density ইন্টারফেস প্রয়োগ করতে DrawScope আপডেট করা হয়েছে এবং LayoutDirection প্রদান করা হয়েছে ContentDrawScope-এ DrawScope সাবক্লাস মুছে দেওয়া হয়েছে RTL প্রপার্টি আর নিজে থেকে ম্যানেজ না করার জন্য Painter ও PainterModifier আপডেট করা হয়েছে কারণ DrawScope এটি ম্যানুয়ালি প্রদান না করেই আগে থেকেই প্রদান করে (I1798e)

  • Emphasis.emphasize()-এর নাম পরিবর্তন করে Emphasis.applyEmphasis() করা হয়েছে (Iceebe)

  • বন্ধ করা বোতাম এখন দৃশ্যত মেটেরিয়াল ডিজাইন স্পেসিফিকেশন (I47dcb, b/155076924) মেনে চলে

  • FilledTextField-এ IME অ্যাকশন, ভিজ্যুয়াল ট্রান্সফর্মেশন ও কীবোর্ড টাইপ সংক্রান্ত সহায়তা (I1f9cf, b/155075201) থাকে

  • স্ট্রোক সাইজ কাস্টমাইজ করতে CircularProgressIndicator-এ strokeWidth প্যারামিটার যোগ করে। LinearProgressIndicator-এর স্ট্রোক সাইজ (উচ্চতা) পরিবর্তন করতে, আপনি Modifier.preferredHeight() বা অন্য সাইজ মডিফায়ার ব্যবহার করতে পারেন। (Icea16, b/154919081)

  • স্ট্রোক সাইজ কাস্টমাইজ করতে CircularProgressIndicator-এ strokeWidth প্যারামিটার যোগ করে। LinearProgressIndicator-এর স্ট্রোক সাইজ (উচ্চতা) পরিবর্তন করতে, আপনি Modifier.preferredHeight() বা অন্য সাইজ মডিফায়ার ব্যবহার করতে পারেন। (Icea16, b/154919081)

  • FilledTextField-এ ট্রেলিং ও লিডিং আইকনের জন্য স্লট API যোগ করা হয়েছে এবং সমস্যার স্ট্যাটাস (Ic12e0) ম্যানেজ করা হয়েছে

  • FAB ও Extended FAB-এর ডিফল্ট রঙ পরিবর্তন করে MaterialTheme.colors.secondary করা হয়েছে। (I3b9b9, b/154118816)

  • API-তে সবকটি নাল হতে পারে এমন কালার ব্যবহারকে নন-নাল হতে পারে এমন কালার ব্যবহার দিয়ে পরিবর্তন করা হয়েছে এবং null-এর পরিবর্তে Color.Unset ব্যবহার করা হয়েছে (Iabaa7)

  • EdgeInsets-এর নাম পরিবর্তন করে InnerPadding করা হয়েছে। Material Buttons-এর innerPadding প্যারামিটারের নাম পরিবর্তন করে padding করা হয়েছে। (I66165)

  • স্লাইডার এখন স্টেটলেস। অন্যান্য কন্ট্রোলের মতো ব্যবহারকারীকে নিজেই স্টেট পাস ও আপডেট করতে হবে। (Ia00aa)

  • StaticDrawer সরিয়ে দেওয়া হয়েছে। প্রয়োজন হলে, এর পরিবর্তে মেটেরিয়াল-স্পেক প্রস্থ সহ Box ব্যবহার করুন (I244a7)

  • Filled Text Field-এর (Ic75cd) Material Design প্রয়োগ যোগ করা হয়েছে

  • ListItem-এ মডিফায়ার প্যারামিটার যোগ করা হয়েছে এবং ট্রেলিং ল্যাম্বডা বডিকে প্রোমোট করার জন্য প্যারামিটার আবার সাজানো হয়েছে (I66e21)

  • Typography-তে defaultFontFamily কনস্ট্রাক্টর প্যারামিটার যোগ করে, এর ফলে এমন যেকোনও TextStyles-এর জন্য ডিফল্ট ফন্ট ফ্যামিলি নির্দিষ্ট করা যায় যেগুলিতে কোনও ফ্যামিলি সেট করা নেই। (I89d07)

  • API সারফেস থেকে সাময়িকভাবে মেটেরিয়াল ডেটা টেবিল সরিয়ে দেওয়া হয়েছে। (Iaea61)

  • Divider composable-এ প্যারামিটারের নাম পরিবর্তন করা হয়েছে (Ic4373)

  • বাচ্চা (Ia6d19)

  • MaterialTheme.emphasisLevels সরিয়ে দেয়, পরিবর্তে EmphasisAmbient.current ব্যবহার করে এমফাসিস লেভেল (Ib5e40) রিট্রিভ করুন

  • মেটেরিয়াল ডিজাইন স্পেসিফিকেশন অনুযায়ী শেপ থিমিং সিস্টেম আপডেট করা হয়েছে। এখন আপনি বেশিরভাগ কম্পোনেন্ট (Ifb4d1) ব্যবহার করার জন্য ছোট, মাঝারি ও বড় আকারের শেপ প্রদান করতে পারবেন

  • MaterialTheme API পরিবর্তন করা হয়েছে, যেমন MaterialTheme.colors(), MaterialTheme.typography() ফাংশনের পরিবর্তে প্রপার্টি হিসেবে ব্যবহার করা হবে। আগেকার কল থেকে প্যারেন্থেসিস সরিয়ে দিন, আচরণে কোনও পরিবর্তন হবে না বলেই আশা করা যায়। (I3565a)

  • প্রিমিটিভের পরিবর্তে কম্পোজ করা যায় এমন ল্যাম্বডা গ্রহণ করার জন্য FloatingActionButton API রিফ্যাক্টর করা হয়েছে। ব্যবহার সংক্রান্ত তথ্যের জন্য আপডেট করা নমুনা দেখুন। (I00622)

  • Checkbox, Switch ও Toggleable-এ enabled param যোগ করুন (I41c16)

  • Ripple এখন একটি মডিফায়ার। 'ক্লিক করা যায়' ফিচার এখনও কনভার্ট করা না হলেও, সাজেস্ট করা ব্যবহার হল Clickable(onClick = { ... }, modifier = ripple()) (Ie5200, b/151331852, b/150060763)

  • Surface ও Card-কে androidx.ui.material.surface থেকে androidx.ui.material-এ সরানো হয়েছে (I88a6d, b/150863888)

  • Button, FloatingActionButton এবং Clickable-এ এখন আলাদা enabled param আছে। বোতামের কিছু প্যারামিটার নতুন নাম দেওয়া হয়েছে বা নতুন ক্রমে সাজানো হয়েছে। (I54b5a)

  • Image ডেটা এবং লেআউটে অংশগ্রহণ ও কন্টেন্ট ড্র করার জন্য ব্যবহৃত আসন্ন Image কম্পোজ করার উপযুক্ত আইটেমের মধ্যে পার্থক্য আরও ভালোভাবে আলাদা করতে Image-এর নাম পরিবর্তন করে ImageAsset করা হয়েছে। _বডি:android.graphics.Bitmap-এ এক্সটেনশন পদ্ধতি তৈরি করা হয়েছে, Bitmap.asImageAsset(), যাতে ImageAsset-এর একটি ইনস্ট্যান্স তৈরি করা যায়। এটি কম্পোজ ফ্রেমওয়ার্কের (Id5bbd) সাথে ঐতিহ্যবাহী Android অ্যাপ্লিকেশন ডেভেলপমেন্টকে একত্রিত করার জন্য সহায়ক

  • কম্পোজ করা যায় এমন ল্যাম্বডা গ্রহণ করে এমন ওভারলোড ব্যবহার করার জন্য স্ট্রিং প্যারামিটার সহ Snackbar API সরিয়ে দেওয়া হয়েছে। ব্যবহার সংক্রান্ত তথ্যের জন্য আপডেট করা নমুনা দেখুন (I55f80)

  • text ও icon ল্যাম্বডা গ্রহণ করার জন্য Tab API রিফ্যাক্টর করা হয়েছে, (Ia057e)

  • BottomNavigation কম্পোনেন্ট যোগ করা হয়েছে, ব্যবহার সংক্রান্ত তথ্যের জন্য ডকুমেন্ট ও নমুনা দেখুন (I731a0)

  • AppBarIcon সরিয়ে Icon, IconButton ও IconToggleButton যোগ করা হয়েছে। আপনি সরাসরি AppBarIcon-এর আগে থেকে থাকা ব্যবহার IconButton-এর সাথে পরিবর্তন করতে পারবেন, এবং এখন সেগুলিতে সঠিক টাচ টার্গেট থাকবে। ব্যবহার সংক্রান্ত তথ্যের স্যাম্পল দেখুন এবং এইসব কম্পোনেন্টের সাথে সরাসরি ব্যবহার করার জন্য প্রদত্ত Material Icons-এর আইকন দেখুন। (I96849)

  • আলাদা আলাদা ফাংশন সহ ButtonStyle পরিবর্তন করা হয়েছে এবং টেক্সট (স্ট্রিং) ওভারলোড সরিয়ে দেওয়া হয়েছে। ব্যবহার সংক্রান্ত তথ্যের জন্য আপডেট করা নমুনা দেখুন। (If63ab, b/146478620, b/146482131)

  • Border মডিফায়ারকে DrawBorder (I8ffcc) নামে পরিবর্তন করো

  • LayoutCoordinates-এ আর কোনও পজিশন প্রপার্টি নেই। LayoutModifiers, rotation বা স্কেলিংয়ের কথা বিবেচনা করলে position প্রপার্টি অর্থপূর্ণ হয় না। পরিবর্তে, ডেভেলপারদের উচিত একটি LayoutCoordinate থেকে অন্যটিতে ট্রান্সফর্ম গণনা করার জন্য parentCoordinates এবং childToLocal() ব্যবহার করা।

    LayoutCoordinates, সাইজ প্রপার্টির জন্য PxSize-এর পরিবর্তে IntPxSize ব্যবহার করে। লেআউটের জন্য লেআউট ইন্টিজার পিক্সেল সাইজ ব্যবহার করে, তাই সব লেআউট সাইজ ইন্টিজার ব্যবহার করা উচিত এবং ফ্লোটিং পয়েন্ট ভ্যালু ব্যবহার করা উচিত নয়। (I9367b)

  • অ্যাম্বিয়েন্ট API-তে ব্রেকিং পরিবর্তন। বিস্তারিত জানতে লগ ও Ambient<T> ডকুমেন্টেশন দেখুন (I4c7ee, b/143769776)

  • স্ক্যাফোল্ড মেটেরিয়াল কম্পোনেন্ট যোগ করা হয়েছে। স্ক্যাফোল্ড ইমপ্লিমেন্ট (I7731b)

  • Border Modifier (Id335a)-এর জন্য DrawBorder পরিবর্তন করা হয়েছে

সমস্যার সমাধান

  • FocusModifier-এর পরিবর্তে Modifier.focus, Modifier.focusRequester, Modifier.focusObserver ব্যবহার করা হয়। FocusState2 (I46919, b/160822875, b/160922136)-এর পরিবর্তে FocusState ও FocusDetailedState আর ব্যবহার করা হয় না
  • VerticalScroller এবং HoriziontalScroller বন্ধ করে দেওয়া হয়েছে। বিল্ট-ইন অভিজ্ঞতার জন্য Column/Row আচরণ ও প্যারামিটার সহ ScrollableColumn ও ScrollableRow ব্যবহার করুন অথবা আপনার নিজস্ব এলিমেন্টে Modifier.verticalScroll ও Modifier.horizontalScroll ব্যবহার করুন। একইভাবে, ScrollerPosition-এর পরিবর্তে ScrollState' (I400ce, b/157225838, b/149460415, b/154105299) ব্যবহার করা হবে
  • Modifier.draggable এবং Modifier.scrollable API-তে নতুন করে কাজ করা হয়েছে। Orientation-এর জন্য DragDirection সরিয়ে দেওয়া হয়েছে। স্ক্রল করা যায় এমন কন্টেন্টের জন্য প্রয়োজনীয় রাজ্যের নামকে আরও সহজ করা হয়েছে। ScrollableState-এর নাম পরিবর্তন করে ScrollableController করা হয়েছে (Iab63c, b/149460415)
  • runOnIdleCompose-এর নাম পরিবর্তন করে runOnIdle করা হয়েছে (I83607)
  • সিঙ্গেল-ভ্যালু সিম্যান্টিক প্রপার্টি এখন কলিং স্টাইল ব্যবহার করে। যেমন, 'semantics { hidden = true }' এখন এইভাবে লেখা হয়: 'semantics { hidden() }'। (Ic1afd, b/145951226, b/145955412)
  • আরও বেশি স্বজ্ঞাত করার জন্য বেশ কিছু টেস্টিং API-এর নাম পরিবর্তন করা হয়েছে। findXYZ API-এর নাম পরিবর্তন করে onNodeXYZ করা হয়েছে। doXYZ নামের সব API-এর নাম পরিবর্তন করে performXYZ করা হয়েছে। (I7f164)
  • Transition API পরিবর্তন করে চিলড্রেনকে TransitionState পাস করার পরিবর্তে TransitionState রিটার্ন করা হয়েছে। এটি API-কে animate() API-এর সাথে আরও সামঞ্জস্যপূর্ণ করে তোলে। (I24e38)
  • IntBounds ইউনিট ক্লাস যোগ করা হয়েছে, যা লেআউট থেকে পূর্ণসংখ্যা পিক্সেল বাউন্ড দেখায়। এটি ব্যবহার করার জন্য PopupPositionProvider-এর API আপডেট করা হয়েছে। (I0d8d0, b/159596546)
  • টেস্ট ফাইন্ডারে একটি নতুন ঐচ্ছিক ফ্ল্যাগ useUnmergedTree যোগ করা হয়েছে। (I2ce48)
  • পুরনো হয়ে যাওয়া সাইজ টেস্টিং API সরিয়ে দেওয়া হয়েছে। (Iba0a0)
  • Shader ইনলাইন ক্লাস সরানো হয়েছে যা NativeShader এক্সপেক্ট ক্লাসকে র‍্যাপ করে NativeShader-এর নাম পরিবর্তন করে Shader করা হয়েছে। র‍্যাপ করা Shader ইনলাইন ক্লাসটি API সারফেসে কোনও গুরুত্বপূর্ণ কিছু যোগ করেনি এবং এটি একটি ইনলাইন ক্লাস, তাই NativeShader ক্লাসটি সরাসরি ব্যবহার করুন। (I25e4d)
  • পপ-আপ, ডায়ালগ ও মেনু এখন প্রাসঙ্গিক MaterialTheme (Ia3665, b/156527485) থেকে ইনহেরিট করছে
  • Material DropdownMenu এখন স্ক্রল করা যায়। (Ide699)
  • Layout() ফাংশনের মেজার ব্লক থেকে লেআউট ডিরেকশন প্যারামিটার সরানো হয়েছে। তবে, লেআউট ডিরেকশন, মেজার স্কোপ অবজেক্টের (Ic7d9d) মাধ্যমে কলব্যাকের মধ্যে উপলভ্য
  • টপ লেভেল API-তে AnimationBuilder-এর পরিবর্তে AnimationSpec ব্যবহার করুন যাতে স্ট্যাটিক অ্যানিমেশন স্পেসিফিকেশন সম্পর্কে ধারণা স্পষ্ট করা যায় -tween, spring-এর মতো AnimationSpec তৈরি করার জন্য ল্যাম্বডা সংক্রান্ত প্রয়োজনীয়তা সরিয়ে দিয়ে ট্রানজিশন DSL উন্নত করুন। এর পরিবর্তে, এগুলি সরাসরি কনস্ট্রাক্টর প্যারামিটার নেয়। -বিল্ডারের উপর নির্ভর না করে কনস্ট্রাক্টর খুলে AnimationSpec-এর সামগ্রিক ব্যবহারযোগ্যতা উন্নত করা -KeyFrames ও Tween-এর সময়সীমা ও বিলম্ব Int-এ পরিবর্তন করা। এটি অপ্রয়োজনীয় টাইপ কাস্ট ও মেথড ওভারলোডিং (Long ও Int, দুটি ফর্ম্যাটেই কাজ করার জন্য) সরিয়ে দেয়। (Ica0b4)
  • enabled false হিসেবে সেট করা থাকলে, এখন 'পাল্টান' বিকল্পটি ডিজেবল করা অবস্থায় দেখা যায় (If4624, b/155941869, b/159331694)
  • Modifier.testTag-এর সাথে বিভ্রান্তি এড়াতে Modifier.tag-এর নাম পরিবর্তন করে Modifier.layoutId করা হয়েছে। (I995f0)
  • Placeable#get(AlignmentLine) থেকে রিটার্ন করা অ্যালাইনমেন্ট লাইন Int পজিশন এখন নন-নাল। কোয়েরি করা অ্যালাইনমেন্ট লাইন না থাকলে, AlignmentLine.Unspecified রিটার্ন করা হবে। (I896c5, b/158134875)
  • Radius ক্লাসকে রিফ্যাক্টর করে ইনলাইন ক্লাস করা হয়েছে। বাধ্যতামূলক x-অক্ষ ব্যাসার্ধ প্যারামিটারের সাথে y-অক্ষ বরাবর ব্যাসার্ধ ম্যাচ করার জন্য ডিফল্ট প্যারামিটার সহ ফাংশন কনস্ট্রাক্টরের পক্ষে কম্প্যানিয়ন ক্রিয়েশন পদ্ধতি সরানো হয়েছে।

    x ও y অক্ষ বরাবর রেডিয়াসের জন্য ২টি আলাদা ফ্লোট ভ্যালুর পরিবর্তে একটি রেডিয়াস প্যারামিটার ব্যবহার করতে DrawScope.drawRoundRect আপডেট করা হয়েছে (I46d1b)

  • পজিশনিং সংক্রান্ত তথ্য দেখানোর জন্য ব্যবহৃত ক্লাসের সংখ্যাকে একত্রিত করতে, PxPosition-এর পরিবর্তে Offset ক্লাসের ব্যবহারকে স্ট্যান্ডার্ডাইজ করুন। এটি ইনলাইন ক্লাসের সুবিধা প্রদান করে যা x এবং y অফসেটকে ফ্লোট হিসেবে দেখানোর জন্য ২টি ফ্লোট ভ্যালুকে প্যাক করতে একটি লং ভ্যালুকে লিভারেজ করে। (I3ad98)

  • পিক্সেল প্যারামিটারের জন্য শুধুমাত্র Dp ও আদিম ধরনের উপর নির্ভর করার জন্য বিভিন্ন কম্পোজ ক্লাসে Px ক্লাসের ব্যবহার বড় রিফ্যাক্টরিং এফর্টের অংশ হিসেবে পরিবর্তন করা হয়েছে। সম্পূর্ণ Px ক্লাস মুছে দেওয়া হয়েছে (I3ff33)

  • Toggleable কম্পোনেন্ট বন্ধ করে দেওয়া হয়েছে। এর পরিবর্তে Modifier.toggleable ব্যবহার করুন (I35220, b/157642842)

  • পিক্সেল প্যারামিটারের জন্য শুধুমাত্র Dp ও আদিম ধরনের উপর নির্ভর করার জন্য বিভিন্ন কম্পোজ ক্লাসে Px ক্লাসের ব্যবহার পরিবর্তন করা হয়েছে। এটি একটি বড় রিফ্যাক্টরিং প্রচেষ্টার অংশ (I086f4)

  • বিভিন্ন কম্পোজ ক্লাসে Px ক্লাসের ব্যবহার পরিবর্তন করা হয়েছে। এর ফলে পিক্সেল প্যারামিটারের জন্য Dp ও আদিম ধরনের উপর নির্ভর করা যাবে। এটি একটি বড় রিফ্যাক্টরিং এফর্টের অংশ (Id3434)

  • পিক্সেল প্যারামিটারের জন্য (I97a5a) শুধুমাত্র Dp ও আদিম ধরনের উপর নির্ভর করার জন্য বিভিন্ন কম্পোজ ক্লাসে Px ক্লাসের পরিবর্তিত ব্যবহার করা হয়েছে। এটি একটি বড় রিফ্যাক্টরিং এফোর্ট।

  • DropdonMenuItems-এর জন্য onClick ইনভোক করা হচ্ছে না, এই সমস্যার সমাধান করা হয়েছে। (I3998b, b/157673259)

  • MutuallyExclusiveSetItem বন্ধ করা হয়েছে। এর পরিবর্তে Modifier.selectable ব্যবহার করুন। (I02b47, b/157642842)

  • TestTag এখন আর ব্যবহার করা যাবে না। এর পরিবর্তে Modifier.testTag ব্যবহার করুন। (If5110, b/157173105)

  • TextField-এর কার্সরে ব্লিঙ্ক করার অ্যানিমেশন আছে (Id10a7)

  • পিক্সেল প্যারামিটারের জন্য শুধুমাত্র Dp ও আদিম ধরনের উপর নির্ভর করার জন্য বড় রিফ্যাক্টরিং প্রচেষ্টার অংশ হিসেবে বিভিন্ন কম্পোজ ক্লাসে Px ক্লাসের পরিবর্তে অন্য কিছু ব্যবহার করা হয়েছে (I19d02)

  • VerticalScroller এখন বক্সের বাইরে কলাম প্রদান করে। HorizontalScroller এখন বক্সের বাইরে Row প্রদান করে। (Ieca5d, b/157020670)

  • বড় রিফ্যাক্টরিংয়ের অংশ হিসেবে বিভিন্ন কম্পোজ ক্লাসে Px ক্লাসের ব্যবহার পরিবর্তন করা হয়েছে, যাতে পিক্সেল প্যারামিটারের জন্য শুধুমাত্র Dp ও আদিম ডেটা টাইপের উপর নির্ভর করা যায় (Iede0b)

  • উচ্চ-স্তরের কম্পোনেন্ট ব্যবহারের অনুমতি দিতে Modifier.semantics-কে আনডিপ্রিকেট করা হয়েছে। (I4cfdc)

  • DrawLayer মডিফায়ার API পরিবর্তন করা হয়েছে: outlineShape-এর নাম পরিবর্তন করে shape করা হয়েছে এবং এর ডিফল্ট ভ্যালু RectangleShape এবং এখন এটি নন-নাল; clipToOutline-এর নাম পরিবর্তন করে clip করা হয়েছে; clipToBounds সরিয়ে দেওয়া হয়েছে কারণ এটি RectangleShape-এর সাথে clip == true-এর মতো (I7ef11, b/155075735)

  • আপডেট করা উন্নত লেভেলের কম্পোজ API যা Canvas-কে এক্সপোজ করে পরিবর্তে CanvasScope-কে এক্সপোজ করে। এর ফলে গ্রাহকদের নিজস্ব Paint অবজেক্ট ম্যানেজ করার প্রয়োজন হয় না। যেসব গ্রাহকের এখনও Canvas অ্যাক্সেস করার প্রয়োজন তারা drawCanvas এক্সটেনশন মেথড ব্যবহার করতে পারেন, যা অন্তর্নিহিত Canvas-এর সাথে ড্রয়িং কমান্ড ইস্যু করার জন্য কলব্যাক প্রদান করে। (I80afd)

  • AlignmentLineOffset composable বন্ধ করা হয়েছে, এর পরিবর্তে relativePaddingFrom() মডিফায়ার ব্যবহার করুন। CenterAlignmentLine কম্পোজ করার উপযুক্ত আইটেম সরিয়ে দেওয়া হয়েছে। (I60107)

  • WithConstraints ট্রেলিং ল্যাম্বডা API পরিবর্তন করা হয়েছে। এখন দুটি প্যারামিটারের পরিবর্তে এতে একটি রিসিভার স্কোপ আছে যা সীমাবদ্ধতা এবং layoutDirection ছাড়াও Dp-তে (I91b9a, b/149979702) minWidth, maxWidth, minHeight এবং maxHeight প্রপার্টি প্রদান করে

  • defaultMinSizeConstraints লেআউট মডিফায়ার যোগ করা হয়েছে, যা ইনকামিং সংশ্লিষ্ট সীমাবদ্ধতা নির্দিষ্ট না করা থাকলে (ন্যূনতম সীমাবদ্ধতার জন্য ০ এবং সর্বাধিক সীমাবদ্ধতার জন্য অসীম) শুধুমাত্র র‍্যাপ করা লেআউটের জন্য সাইজ সীমাবদ্ধতা সেট করে। (I311ea, b/150460257)

  • FocusManagerAmbient সরিয়ে দেওয়া হয়েছে। ফোকাস পেতে FocusModifier.requestFocus ব্যবহার করুন। (Ic4826)

  • CanvasScope API তৈরি করা হয়েছে যা Canvas অবজেক্টকে র‍্যাপ করে যাতে স্টেটলেস, ডিক্ল্যারেটিভ ড্রয়িং API সারফেস এক্সপোজ করা যায়। ট্রান্সফর্মেশনগুলি নিজস্ব রিসিভার স্কোপের মধ্যে থাকে এবং সাইজিং সংক্রান্ত তথ্যও অনুরূপ ইনসেট বাউন্ডের মধ্যে স্কোপ করা হয়। ড্রয়িং অপারেশন কনফিগার করার জন্য গ্রাহককে নিজস্ব Paint state object বজায় রাখতে হয় না।

    CanvasScopeSample যোগ করা হয়েছে এবং ঘোষণামূলক গ্রাফিক্স ডেমো (Ifd86d) যোগ করতে ডেমো অ্যাপ আপডেট করা হয়েছে

  • TextField-এ (I6e33f) কার্সরের রঙ কাস্টমাইজ করার সুবিধা যোগ করুন

  • TextFieldValue এখন TextField-এর সাথে ব্যবহার করা যায় এবং এইভাবে ব্যবহার করলে অ্যাক্টিভিটি আবার তৈরি হওয়ার পরেও এটি টিকে থাকতে পারে: var text by savedInstanceState(saver = TextFieldValue.Saver) { TextFieldValue() } (I5c3ce, b/155075724)

  • LayoutModifier2-এর নাম পরিবর্তন করে LayoutModifier করা হয়েছে। (Id29f3)

  • পুরনো হয়ে যাওয়া LayoutModifier ইন্টারফেস সরিয়ে দেওয়া হয়েছে। (I2a9d6)

  • ফোকাস সাবসিস্টেমের সাথে ইন্টিগ্রেট করার জন্য CoreTextField/TextField focusIdentifier প্যারামিটারকে FocusNode-এর সাথে পরিবর্তন করা হয়েছে। (I7ea48)

  • Layout এবং LayoutModifier2-এর ইন্ট্রিনসিক পরিমাপ ফাংশনে এখন একটি IntrinsicMeasureScope রিসিভার আছে যা অন্তর্নিহিতভাবে প্রচারিত লেআউট ডিরেকশন সহ ইন্ট্রিনসিক কোয়েরি API প্রদান করে। (Id9945)

  • একই প্যারেন্ট লেআউটের মধ্যে চিলড্রেনদের ড্র করার ক্রম নিয়ন্ত্রণ করতে, New Modifier.zIndex() যোগ করা হয়েছে। DrawLayerModifier-এর elevation প্রপার্টির নাম পরিবর্তন করে shadowElevation করা হয়েছে এবং এটি আর ড্র করার ক্রম নিয়ন্ত্রণ করে না। DrawShadow-এর প্যারামিটার অর্ডার পরিবর্তন করা হয়েছে: এখন এলিভেশন প্রথম এবং শেপ দ্বিতীয়, যার ডিফল্ট মান হল RectangleShape। (I20150, b/152417501)

  • RectangleShape androidx.ui.foundation.shape.* থেকে androidx.ui.graphics.*-এ সরানো হয়েছে (Ia74d5, b/154507984)

  • TextField API আপডেট - onFocus এবং onBlur কলব্যাককে প্যারামিটার(I66cd3) সহ একটি onFocusChange (Boolean) কলব্যাকে মার্জ করা হয়েছে

  • সারি ও কলামে যথাক্রমে verticalGravity ও horizontalGravity প্যারামিটার যোগ করা হয়েছে। (I7dc5a)

  • যেকোনও অ্যালাইনমেন্টের পরিবর্তে উল্লম্ব বা অনুভূমিক অ্যালাইনমেন্টের প্রত্যাশা করতে wrapContentWidth ও wrapContentHeight আপডেট করা হয়েছে। উল্লম্ব বা অনুভূমিক অ্যালাইনমেন্ট গ্রহণ করার জন্য গ্র্যাভিটি মডিফায়ার আপডেট করা হয়েছে। কাস্টম কন্টিনিউয়াস অ্যালাইনমেন্ট কাজ করার জন্য সারি, কলাম ও স্ট্যাক আপডেট করা হয়েছে। (Ib0728)

  • ImageAsset থেকে পিক্সেল সংক্রান্ত তথ্য কোয়েরি করার জন্য PixelMap API তৈরি করা হয়েছে। (I69ad6)

  • ProvideContentColor সরিয়ে দেয়, পরিবর্তে সরাসরি Providers (Iee942) সহ ContentColorAmbient ব্যবহার করে

  • ui-text-compose মডিউলের নাম পরিবর্তন করে ui-text করা হয়েছে। ui-text এখন CoreText ও CoreTextField কম্পোজ করার উপযুক্ত আইটেম (Ib7d47) কন্টেন করে

  • ui-text মডিউলের নাম পরিবর্তন করে ui-text-core রাখা হয়েছে (I57dec)

  • ui-framework/CoreText, CoreTextField composables-কে ui-text-compose-এর অধীনে সরানো হয়েছে। আপনার প্রোজেক্টে ui-text-compose অন্তর্ভুক্ত করতে পারেন। (I32042)

  • DrawModifier API-তে উন্নতি করা হয়েছে:

    • draw() ContentDrawScope-এর জন্য রিসিভার স্কোপ তৈরি করা হয়েছে
    • draw()-এ সব প্যারামিটার সরিয়ে দেওয়া হয়েছে
    • DrawScope-এর ইন্টারফেস আগের CanvasScope-এর মতোই
    • ContentDrawScope-এ drawContent() মেথড আছে (Ibaced, b/152919067)
  • runOnIdleCompose ও runOnUiThread এখন ComposeTestRule-এর মেথড না হয়ে গ্লোবাল ফাংশন হয়ে গেছে। (Icbe8f)

  • [পরিবর্তনযোগ্য]Kotlin 1.4 প্রপার্টি ডেলিগেট অপ্টিমাইজেশনের জন্য স্টেট প্রপার্টি ডেলিগেট অপারেটর এক্সটেনশনে সরানো হয়েছে। by state { ... } বা by mutableStateOf(...) ব্যবহার করা চালিয়ে যেতে, কলারদের অবশ্যই ইমপোর্ট যোগ করতে হবে। (I5312c)

  • LayoutCoordinates-এর জন্য positionInParent ও boundsInParent যোগ করা হয়েছে। (Icacdd, b/152735784)

  • ColoredRect আর ব্যবহার করা যাবে না। এর পরিবর্তে Box(Modifier.preferredSize(width, height).drawBackground(color)) ব্যবহার করুন। (I499fa, b/152753731)

  • LayoutResult-এর নাম পরিবর্তন করে MeasureResult করা হয়েছে। (Id8c68)

  • লেআউট মডিফায়ারকে সংজ্ঞায়িত করার জন্য নতুন API, LayoutModifier2 যোগ করা হয়েছে; LayoutModifier (If32ac) আর ব্যবহার করা যাবে না

  • ফ্যাক্টরি এক্সটেনশন ফাংশন (I225e4) দিয়ে মডিফায়ার প্লাস অপারেটর পরিবর্তন করা হয়েছে

  • Draggable-কে মডিফায়ারে সরানো হয়েছে (Id9b16, b/151959544)

  • ParentData কম্পোজ করার উপযুক্ত নয়। আপনাকে হয় ParentDataModifier ইন্টারফেস প্রয়োগ করে এমন একটি মডিফায়ার তৈরি করতে হবে, অথবা আপনি যদি শুধু লেআউট চিলড্রেনকে ট্যাগ করতে চান, যাতে সেগুলিকে মেজার ব্লকের মধ্যে শনাক্ত করা যায়, তাহলে LayoutTag মডিফায়ার ব্যবহার করুন। (I51368, b/150953183)

  • অননুমোদিত Center composable. এটি LayoutSize.Fill + LayoutAlign.Center মডিফায়ার অথবা উপযুক্ত মডিফায়ার প্রয়োগ করা Box বা Stack কম্পোজেবলগুলির মধ্যে কোনও একটি দিয়ে পরিবর্তন করতে হবে (Idf5e0)

  • ভেক্টর গ্রাফিক্সের জন্য আগে থেকে থাকা সাবকম্পোজিশন API-এর পরিবর্তে VectorPainter API যোগ করা হয়েছে। সাবকম্পোজিশনের ফলাফল হল একটি VectorPainter অবজেক্ট, কোনও DrawModifier নয়। VectorPainter-এর জন্য আগের DrawVector কম্পোজ করার উপযুক্ত আইটেম বাতিল করা হয়েছে।

    Image(Painter) API-এর নাম পরিবর্তন করে PaintBox(Painter) করা হয়েছে একটি ভেক্টর কম্পোজ করার মতো করে ভেক্টর কম্পোজ করার মতো করে তৈরি করা হয়েছে Image কম্পোজ করার মতো করে তৈরি করা হয়েছে, তবে ImageAsset-এর পরিবর্তে VectorAsset (I9af9a, b/149030271)

  • LayoutFlexible-এর নাম পরিবর্তন করে LayoutWeight করা হয়েছে। টাইট প্যারামিটারের নাম পরিবর্তন করে ফিল করা হয়েছে। (If4738)

  • DrawLayerModifier-এর (I00aa4) জন্য RepaintBoundary সরানো হয়েছে

  • DrawVector-কে সাধারণ কম্পোজ করার উপযুক্ত ফাংশন থেকে পরিবর্তন করে একটি Modifier drawVector() রিটার্ন করা হয়েছে যা লেআউটের ব্যাকগ্রাউন্ড হিসেবে ভেক্টর ড্র করবে। (I7b8e0)

  • Opacity কম্পোজ করার উপযুক্ত ফাংশনটি পরিবর্তন করে drawOpacity মডিফায়ার করা হয়েছে। (I5fb62)

  • কম্পোজ করা যায় এমন ফাংশন Clip-এর পরিবর্তে মডিফায়ার drawClip() ব্যবহার করুন। DrawClipToBounds হল একটি সুবিধাজনক মডিফায়ার যা আপনি তখনই ব্যবহার করতে পারেন যখন আপনাকে শুধুমাত্র আয়তাকার শেপের মাধ্যমে লেয়ার বাউন্ডে ক্লিপ করতে হয়। (If28eb)

  • DrawShadow কম্পোজেবল ফাংশন পরিবর্তন করে drawShadow() মডিফায়ার করা হয়েছে। ছায়া এখন LayerModifier-এর অংশ হিসেবে আঁকা হয়। (I0317a)

  • LayerModifier যোগ করা হয়েছে, এটি এমন একটি মডিফায়ার যা লেআউটের জন্য RenderNode যোগ করতে দেয়। এটি ক্লিপিং, অস্বচ্ছতা, রোটেশন, স্কেলিং ও ছায়া সেট করার অনুমতি দেয়। এটি RepaintBoundary-এর পরিবর্তে ব্যবহার করা হবে। (I7100d, b/150774014)

  • androidx.compose.ViewComposer-কে androidx.ui.node.UiComposer-এ সরানো হয়েছে androidx.compose.Emittable সরিয়ে দেওয়া হয়েছে। এটি ComponentNode-এর সাথে অপ্রয়োজনীয় ছিল। androidx.compose.ViewAdapters সরিয়ে দেওয়া হয়েছে। এগুলি আর কাজ করে না। Compose.composeInto বন্ধ করে দেওয়া হয়েছে। এর পরিবর্তে setContent বা setViewContent ব্যবহার করুন। Compose.disposeComposition বন্ধ করা হয়েছে। এর পরিবর্তে setContent-এর মাধ্যমে রিটার্ন করা Composition-এ dispose পদ্ধতি ব্যবহার করুন। androidx.compose.Compose.subcomposeInto androidx.ui.core.subcomposeInto-এ সরানো হয়েছে ComponentNode#emitInsertAt-এর নাম পরিবর্তন করে ComponentNode#insertAt করা হয়েছে ComponentNode#emitRemoveAt-এর নাম পরিবর্তন করে ComponentNode#removeAt করা হয়েছে ComponentNode#emitMode-এর নাম পরিবর্তন করে ComponentNode#move করা হয়েছে (Idef00)

  • স্ক্রিনে প্রদত্ত ImageAsset আঁকার পাশাপাশি সাইজিং/লেআউট ম্যানেজ করার জন্য তৈরি করা ইমেজ কম্পোজ করা যায়। এই কম্পোজ করার উপযুক্ত ফিচারটি যেকোনও ইচ্ছামতো Painter ইনস্ট্যান্সের ইন্ট্রিনসিক সাইজ মেনে চলার পাশাপাশি একটি নির্দিষ্ট ফিক্সড সাইজ বা ন্যূনতম সাইজ (Ibcc8f) মেনে চলার ক্ষেত্রেও কাজ করে

  • পুরনো হয়ে যাওয়া Wrap কম্পোজেবল। এটি LayoutAlign মডিফায়ার বা Stack composable (Ib237f) দিয়ে পরিবর্তন করা যেতে পারে

  • WithConstraints-এ LayoutDirection প্যারামিটার আছে (I6d6f7)

  • লেআউট ডিরেকশনকে প্যারেন্ট লেআউট নোড থেকে চাইল্ড নোডে প্রোপাগেট করা হয়েছে। লেআউট ডিরেকশন মডিফায়ার যোগ করা হয়েছে। (I3d955)

  • স্ট্যাক কম্পোনেন্ট ডান-থেকে-বাম দিকনির্দেশ (Ic9e00) মেনে চলে

  • DrawShape কম্পোজ করার উপযুক্ত আইটেম সরিয়ে দেওয়া হয়েছে। এর পরিবর্তে DrawBackground মডিফায়ার ব্যবহার করুন। (I7ceb2)

  • LayoutPadding মডিফায়ারে ডান-থেকে-বামে দিকনির্দেশ কাজ করে (I9e8da)

  • AdapterList যোগ করা হয়েছে, এটি একটি স্ক্রল করা যায় এমন তালিকা কম্পোনেন্ট যা শুধুমাত্র দৃশ্যমান আইটেম কম্পোজ ও লেআউট করে। বর্তমানে পরিচিত সমস্যাগুলির মধ্যে রয়েছে যে এটি শুধুমাত্র উল্লম্বভাবে কাজ করে এবং এর চাইল্ডে হওয়া পরিবর্তনের সব কেস সম্পূর্ণভাবে ম্যানেজ করতে পারে না। (Ib351b)

  • ComposeFlags.COMPOSER_PARAM ফ্ল্যাগ আপডেট করে true করা হয়েছে, এর ফলে কম্পোজ প্লাগ-ইনের কোড জেনারেশন স্ট্র্যাটেজি পরিবর্তিত হবে। মোটামুটিভাবে, এর ফলে @Composable ফাংশন অতিরিক্ত সিন্থেটিক প্যারামিটার সহ জেনারেট হয়, যা রানটাইমকে সঠিকভাবে এক্সিকিউশন ম্যানেজ করার জন্য পরবর্তী @Composable কলে পাস করা হয়। এটি একটি গুরুত্বপূর্ণ বাইনারি ব্রেকিং পরিবর্তন, তবে কম্পোজের অনুমোদিত সমস্ত ব্যবহারে সোর্স-লেভেল কম্প্যাটিবিলিটি বজায় রাখা উচিত। (I7971c)

  • Canvas কম্পোনেন্ট যোগ করা হয়েছে। এই কম্পোজেবল কিছু সাইজ (ব্যবহারকারীর দেওয়া) নেয় এবং আপনাকে CanvasScope (I0d622) ব্যবহার করে আঁকতে দেয়

  • Density ও DensityScope একটি ইন্টারফেসে মার্জ করা হয়েছে। ambientDensity()-এর পরিবর্তে আপনি এখন DensityAmbient.current ব্যবহার করতে পারবেন। withDensity(density)-এর পরিবর্তে শুধু with(density) (I11cb1)

  • প্রদত্ত অ্যালাইনমেন্ট লাইনকে ম্যাপের পরিবর্তে সেট করতে LayoutCoordinates পরিবর্তন করা হয়েছে এবং ভ্যালু রিট্রিভ করার জন্য LayoutCoordinates-এ get() অপারেটর প্রয়োগ করা হয়েছে। এর ফলে, প্রতিটি মডিফায়ারের জন্য নতুন কালেকশন তৈরি না করেই মডিফায়ারদের পক্ষে সেটের এক বা একাধিক ভ্যালু পরিবর্তন করা সহজ হয়ে যায়। (I0245a)

  • স্ক্রলার এখন নেটিভ Android ফ্লিং মোশন আচরণ দেখায়। (I922af, b/147493715)

  • Constraints-এর API সারফেসে উন্নতি (I0fd15)