एक नज़र में जानकारी देखने की सुविधा, कलर थीम को मैनेज करने के लिए एक एपीआई उपलब्ध कराती है. अन्य स्टाइल एट्रिब्यूट के लिए,
जैसे कि 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), // ... ) }
पसंद के मुताबिक थीम बनाने के लिए, GlanceTheme
को colors
पास करें. एक नज़र में
इसके लिए androidx.glance:glance-material
इंटरऑपरेबिलिटी लाइब्रेरी उपलब्ध कराता है
मटीरियल 3 के रंगों के लिए मटीरियल 2 और androidx.glance:glance-material3
सहायता.
उदाहरण के लिए, ColorProviders
पर अपने ऐप्लिकेशन के मौजूदा मटीरियल रंग की जानकारी दें
एक नज़र में जानकारी देने वाली कलर स्कीम बनाने के लिए एपीआई, जैसा कि इस स्निपेट में दिखाया गया है:
// 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 एपीआई.
उदाहरण के लिए, नीचे दिए गए स्निपेट में ड्रॉ करने लायक (आकार) बनाने का तरीका बताया गया है:
<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) )