এক নজর থিম প্রয়োগ করুন

গ্ল্যান্স রঙের থিম পরিচালনা করার জন্য একটি API প্রদান করে। অন্যান্য শৈলী বৈশিষ্ট্যের জন্য, যেমন TextStyle , শীর্ষ-স্তরের ভেরিয়েবল ঘোষণা করুন।

রং যোগ করুন

গ্ল্যান্স বাক্সের বাইরে উপাদান রঙের একটি বাস্তবায়ন প্রদান করে। অন্তর্নির্মিত থিম ব্যবহার করতে, আপনার শীর্ষ স্তরের কম্পোজযোগ্য GlanceTheme দিয়ে মোড়ানো, যেমনটি নিম্নলিখিত উদাহরণে দেখানো হয়েছে।

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

override suspend fun provideGlance(context: Context, id: GlanceId) {

    provideContent {
        GlanceTheme {
            MyContent()
        }
    }
}

@Composable
private fun MyContent() {

    Image(
        colorFilter = ColorFilter.tint(GlanceTheme.colors.secondary),
        // ...

    )
}

থিম কাস্টমাইজ করতে, আপনি GlanceThemecolors পাস করতে পারেন। Glance Material 2-এর জন্য androidx.glance:glance-material ইন্টারঅপারেবিলিটি লাইব্রেরি এবং Material 3 কালার সাপোর্টের জন্য androidx.glance:glance-material3 প্রদান করে।

উদাহরণস্বরূপ, নিচের স্নিপেটে দেখানো হিসাবে, একটি গ্ল্যান্স রঙের স্কিম তৈরি করতে ColorProviders API-কে আপনার অ্যাপের বিদ্যমান উপাদানের রঙগুলি প্রদান করুন:

// Remember, use the Glance imports
// import androidx.glance.material3.ColorProviders

// Example Imports from your own app
// import com.example.myapp.ui.theme.DarkColors
// import com.example.myapp.ui.theme.LightColors

object MyAppWidgetGlanceColorScheme {

    val colors = ColorProviders(
        light = LightColors,
        dark = DarkColors
    )
}

স্কিম থেকে GlanceTheme তে রঙগুলি প্রদান করুন যা আপনার সমস্ত কম্পোজেবলকে মোড়ানো হয়, যেমনটি নিম্নলিখিত উদাহরণে দেখানো হয়েছে:

override suspend fun provideGlance(context: Context, id: GlanceId) {
    // ...

    provideContent {
        GlanceTheme(colors = MyAppWidgetGlanceColorScheme.colors) {
            MyContent()
        }
    }
}

@Composable
private fun MyContent() {

    Image(
        colorFilter = ColorFilter.tint(GlanceTheme.colors.secondary),
        // ...
    )
}

আপনি যদি সমর্থিত হলে ওয়ালপেপার থেকে গতিশীল রং এবং অন্যথায় আপনার অ্যাপের রঙের স্কিম ব্যবহার করতে পছন্দ করেন, আপনি শর্তসাপেক্ষে GlanceTheme এ আপনার অ্যাপের রঙের স্কিম পাস করতে পারেন। এটি নিম্নলিখিত স্নিপেটে দেখানো হয়েছে:

override suspend fun provideGlance(context: Context, id: GlanceId) {

    provideContent {
        GlanceTheme(
            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S)
                GlanceTheme.colors
            else
                MyAppWidgetGlanceColorScheme.colors
        ) {
            MyContent()
        }
    }
}

@Composable
private fun MyContent() {
    // ...
    Image(
        colorFilter = ColorFilter.tint(GlanceTheme.colors.secondary),
        // ...
    )
}

আকার যোগ করুন

আপনার অ্যাপ উইজেটে বিশেষ আকার বা ছায়া প্রদান করতে, Android Drawables API ব্যবহার করুন।

উদাহরণ স্বরূপ, নিচের স্নিপেটটি দেখায় কিভাবে একটি আঁকাযোগ্য (একটি আকৃতি) তৈরি করতে হয়:

<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <corners android:radius="16dp"/>
    <stroke android:color="@color/outline_color" android:width="1dp"/>
</shape>

কম্পোজযোগ্য লক্ষ্যে এটি সরবরাহ করুন:

GlanceModifier.background(
    imageProvider = ImageProvider(R.drawable.button_outline)
)