सार्वजनिक जानकारी से बना चयन मार्गदर्शन। केवल संदर्भ हेतु।
एक फ्लटर प्लगइन जो मैकओएस के लिए है, जो AppKit के बिल्ट-इन UI तत्व रंगों तक पहुंच प्रदान करता है, जिससे फ्लटर ऐप्स में मैकओएस पर सुसंगत नेटिव दिखावट सुनिश्चित होती है। यह एप्पल के AppKit फ्रेमवर्क से सिस्टम रंग स्थिरांकों को मैप करता है, जैसे विंडो बैकग्राउंड, कंट्रोल टिंट और टेक्स्ट रंग, जिससे मैकओएस डिज़ाइन गाइडलाइन्स के साथ संगतता सुनिश्चित होती है। इस पैकेज ने थीमिंग को सरल बनाया है जो प्लेटफॉर्म-विशिष्ट रंग मानों तक सीधे पहुंच प्रदान करता है बिना हाथ से कॉन्फ़िगरेशन के।
उपयोग
मैचिंग macOS सिस्टम UI एस्थेटिक्स
macOS पर मूल दिखने वाले Flutter ऐप बनाना
macOS के थीम कार्यान्वयन को सरल बनाना
प्रणाली रंग योजना के साथ सुसंगतता सुनिश्चित करना
macOS-विशेष स्टाइलिंग के साथ क्रॉस-प्लेटफॉर्म एप्लिकेशन विकसित करना
मुख्य विशेषताएँ
AppKit के मूल उपयोगकर्ता इंटरफेस तत्व रंगों तक पहुँच
macOS Flutter ऐप्स के साथ निरंतर एकीकरण
प्रणाली थीम के साथ स्वचालित सिंक्रनाइज़ेशन
आवश्यक सेटअप न्यूनतम
डायनामिक रंग अपडेट समर्थित
इनके लिए उपयुक्त
मैकओएस के लिए फ्लटर विकासकर्मी
मैकOS विजुअल संगति की आवश्यकता वाले ऐप्स
डिजाइनर्स ने प्लेटफॉर्म-विशिष्ट UI वफादारी पर ध्यान केंद्रित किया
macOS-विशिष्ट थीम का उपयोग करने वाले प्रोजेक्ट
विचार योग्य बातें
केवल macOS प्लेटफॉर्म तक सीमित
नीचे दिए गए AppKit उपलब्धता पर निर्भर करता है
डार्क मोड संक्रमण के लिए अतिरिक्त हैंडलिंग की आवश्यकता हो सकती है
गैर-macOS प्लेटफ़ॉर्म के लिए अनुपयुक्त
मूल README
संबंधित सोर्स रिपॉज़िटरी के मूल README का स्नैपशॉट। नवीनतम सामग्री के लिए रिपॉज़िटरी देखें।
appkit_ui_element_colors
A Flutter plugin that exposes AppKit’s “UI Element Colors” to facilitate the
retrieval of standard color objects for use with windows, controls, labels, text,
selections and other content in your app.
Each color can be retrieved as a Color object using the AppkitUiElementColors.getColor method:
final darkWindowBackgroundColor = awaitAppkitUiElementColors.getColor(
uiElementColor: UiElementColor.windowBackgroundColor,
appearance: NSAppearanceName.darkAqua,
);
Alternatively, it can also be converted to any available NSColorSpace and retrieved as a map of requested NSColorComponents using AppkitUiElementColors.getColorComponents:
Certain events, such as the user changing their preferred accent color, can trigger system color changes. Such changes can be observed using the SystemColorObserver class. The AppkitUiElementColors class provides a global shared instance of SystemColorObserver that can be accessed as follows:
By default, UiElementColorBuilder uses a
SharedUiElementColorContainerInstanceProvider to provide a global
shared instance of UiElementColorContainer.
SharedUiElementColorContainerInstanceProvider uses an instance of
MediaQueryData derived from the current BuildContext and assumes it to
be the same across all UiElementBuilders which use it.
If your app contains surfaces with different MediaQueryData overrides,
use OwnedUiElementColorContainerInstanceProvider instead:
// A dark cupertino theme.CupertinoTheme(
data: constCupertinoThemeData(
brightness: Brightness.dark,
),
// Override the MediaQueryData so that platformBrightness is dark.
child: MediaQuery(
data: MediaQuery.of(context).copyWith(
platformBrightness: Brightness.dark,
),
child: UiElementColorBuilder(
// Since there may be surfaces within the app that do not override the// brightness, use an OwnedUiElementColorContainerInstanceProvider.
uiElementColorContainerInstanceProvider:
OwnedUiElementColorContainerInstanceProvider(),
builder: (context, colorContainer) => Container(
color: colorContainer.windowBackgroundColor,
),
),
),
);
Incorrect usage of SharedUiElementColorContainerInstanceProvider throws the following assertion error:
“Found conflicting MediaQueryData in SharedUiElementColorContainerInstanceProvider. If you are using UiElementColorBuilder within widget subtrees with differing MediaQueryData (such as different theme brightness or accessibility settings), please use OwnedUiElementColorContainerInstanceProvider instead.”