התכונה 'בקצרה' מספקת 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), // ... ) }
כדי להתאים אישית את העיצוב, אפשר להעביר את colors
אל GlanceTheme
. בקצרה
מספקת את ספריית יכולת הפעולה ההדדית androidx.glance:glance-material
חומר 2 ו-androidx.glance:glance-material3
ל'חומר לימוד' 3 צבעים
תמיכה.
לדוגמה, עליך לספק את צבעי החומר הקיימים באפליקציה 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 ממשק API של 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) )