यह पृष्ठ पुर्तगाली से मशीन-अनुवादित है और इसमें त्रुटियाँ हो सकती हैं। पुर्तगाली संस्करण प्रामाणिक है।
Hint
Hint CrossFly की क्षणिक गैर-मोडल सूचना है: यह आमतौर पर स्क्रीन के निचले हिस्से के पास दिखाई देती है, एक छोटा संदेश दिखाती है और कुछ समय बाद स्वयं गायब हो जाती है (fade के साथ)। यह बाकी UI के साथ इंटरैक्शन को अवरुद्ध नहीं करती। यह पुराने Toast का आधुनिकीकृत विकल्प है — वही API — और पुराने ToolTip के मामले को भी कवर करती है (दोनों को फ्रेमवर्क से हटा दिया गया)।
Hint Window को विस्तारित नहीं करती: यह एक उपयोगिता क्लास है जिसमें स्थैतिक API है जो आंतरिक रूप से एक ToastWindow बनाती है।
🟢 · पैकेज:
dev.crossfly.ui· विस्तारित करता है: — (स्थैतिक उपयोगिता) · कॉन्फ़िग: स्थैतिक फ़ील्ड
कब उपयोग करें
- निष्क्रिय और संक्षिप्त फ़ीडबैक: “Salvo!”, “Falha ao conectar”, “Copiado”।
- क्षणिक स्थिति जिसके लिए उपयोगकर्ता की कार्रवाई की आवश्यकता नहीं।
कब उपयोग न करें
- कुछ ऐसा जिसके लिए निर्णय/पुष्टि की आवश्यकता हो →
AlertयाActionSheetका उपयोग करें।
दिखावट
गहरे रंग का गोल कैप्सूल (डिफ़ॉल्ट 0xFF303030, सफेद पाठ) क्षैतिज रूप से केंद्रित, स्क्रीन की ऊंचाई के ~85% पर स्थित। सौम्य fade के साथ उभरता और गायब होता है।
पूर्ण उदाहरण (कॉपी, पेस्ट और रन करें)
package com.exemplo;
import dev.crossfly.ui.*;
import dev.crossfly.ui.layout.*;
/** चलाने योग्य मुख्य स्क्रीन। launcher (classname) की ओर संकेत करें और चलाएँ: gradlew :lwjgl3:run */
public class MainWindow extends Window
{
@Override
public void onShow() throws Exception
{
super.onShow();
setLayout(new VerticalLayout());
Label titulo = new Label("Toque para ver um Hint");
add(LAY_AUTO, titulo);
// Hint स्थिर है: एक Button onAction में क्षणिक सूचना ट्रिगर करता है
Button salvar = new Button("Salvar")
.onAction(c -> Hint.show("Salvo com sucesso!", 2000));
add(LAY_AUTO, salvar);
Button falhar = new Button("Simular erro")
.onAction(c -> Hint.show("Falha ao conectar", 2500));
add(LAY_AUTO, falhar);
}
}
नीचे दिए गए अंश केवल मुख्य भाग दिखाते हैं (जो
onShow()के अंदर जाता है)। रन करने के लिए, इन्हें ऊपर दिएMainWindowढांचे में रखें।
बुनियादी उपयोग
// संदेश 2 सेकंड तक दिखता है, फिर अपने आप गायब हो जाता है
Hint.show("Salvo com sucesso!", 2000);
प्रदर्शन API (स्थैतिक)
| ओवरलोड | विवरण |
|---|---|
Hint.show(String message, int delay) |
डिफ़ॉल्ट स्थिति/padding। |
Hint.show(String message, int delay, Window parentWindow) |
पैरेंट विंडो परिभाषित करता है। |
Hint.show(String message, int delay, Window parentWindow, Relative at, Gap innerGap) |
पूर्ण रूप: ऊर्ध्वाधर स्थिति (at) और आंतरिक padding (innerGap)। |
पहले दो अनुपस्थित फ़ील्ड में null के साथ तीसरे को सौंपते हैं।
| पैरामीटर | प्रकार | अर्थ |
|---|---|---|
message |
String |
पाठ। null छुपाता है वर्तमान hint को। |
delay |
int |
दृश्यमान मिलीसेकंड। INFINITE/INFINITE_NOANIM स्क्रीन पर बनाए रखते हैं। |
parentWindow |
Window |
वैकल्पिक पैरेंट; डिफ़ॉल्ट = शीर्ष विंडो। |
at |
Relative |
START(ऊपर) / CENTER / END(नीचे) या सापेक्ष मान। null position का उपयोग करता है। |
innerGap |
Gap |
आंतरिक padding। null स्थैतिक ingap का उपयोग करता है। |
वैश्विक कॉन्फ़िगरेशन (स्थैतिक फ़ील्ड)
पूरी दिखावट साझा स्थैतिक द्वारा नियंत्रित होती है — इन्हें बदलना बाद के सभी hints को प्रभावित करता है।
| फ़ील्ड | प्रकार | डिफ़ॉल्ट | क्या करता है |
|---|---|---|---|
Hint.backColor |
int |
0xFF303030 |
पृष्ठभूमि रंग। |
Hint.foreColor |
int |
WHITE |
पाठ का रंग। |
Hint.position |
Relative |
Relative.ofScreen(0.85f) |
डिफ़ॉल्ट ऊर्ध्वाधर स्थिति। |
Hint.ingap |
Gap |
Gap.ofFont(0.7f, 0.35f, 0.7f, 0.35f) |
डिफ़ॉल्ट आंतरिक padding। |
Hint.font |
Font |
Font.get().bold() |
पाठ का फ़ॉन्ट। |
Hint.fade |
int |
200 |
एनिमेटेड मोड में alpha का लक्ष्य। |
Hint.INFINITE |
int |
Integer.MAX_VALUE |
एनिमेशन के साथ अनंत अवधि। |
Hint.INFINITE_NOANIM |
int |
Integer.MIN_VALUE |
एनिमेशन के बिना अनंत अवधि। |
अवस्थाएं
- जब
delayपरिमित हो तो समय के अनुसार स्वतः-बंद। INFINITE/INFINITE_NOANIMके साथ स्थायी — इसेHint.show(null, 0)से मैन्युअल रूप से बंद करना पड़ता है।- Hints एक-दूसरे पर नहीं जुड़ते: एक नया वर्तमान को बदल देता है।
शीर्ष पर त्रुटि, लाल रंग में, स्थैतिक को पुनर्स्थापित करते हुए
Hint.backColor = 0xFFB00020;
Hint.show("Falha ao salvar", 2500, null, Relative.START, null);
Hint.backColor = 0xFF303030; // अगले hints के लिए default को पुनर्स्थापित करता है
स्थायी Hint और मैन्युअल हटाना
Hint.show("Conectando...", Hint.INFINITE);
// ... जब समाप्त हो:
Hint.show(null, 0); // message == null वर्तमान hint को छिपा देता है
Gap के माध्यम से कस्टम padding
Hint.show("Detalhes copiados", 1800, null, Relative.CENTER, Gap.ofFont(1f, 0.5f, 1f, 0.5f));
सर्वोत्तम प्रथाएं
- निष्क्रिय और संक्षिप्त फ़ीडबैक के लिए उपयोग करें; निर्णयों के लिए कभी नहीं।
- बिंदुवत समायोजन के लिए, स्थैतिक को म्यूटेट करने के बजाय कॉल में
at/innerGapपास करना प्राथमिकता दें। - किसी स्थैतिक को वैश्विक रूप से म्यूटेट करते समय (जैसे
backColor), स्थिति को लीक न करने के लिए बाद में पुनर्स्थापित करें।
सामान्य गलतियां
INFINITEबिना बंद किए — स्क्रीन पर हमेशा बना रहता है;Hint.show(null, ...)से बंद करें।- शीर्ष पर कोई विंडो नहीं (खाली स्टैक) — hint बस दिखाई नहीं देता।
- hints के जमा होने की अपेक्षा करना — नहीं; नया पिछले को बदल देता है।
माइग्रेशन (Toast/ToolTip हटाए गए)
Toast.show(...) 1:1 Hint.show(...) में माइग्रेट होता है (वही सिग्नेचर और स्थैतिक)। ToolTip का कोई सीधा विकल्प नहीं है (अब press-and-hold नहीं है) — यदि आपको क्षणिक संकेत चाहिए तो at/position के साथ स्थित Hint का उपयोग करें।
यह भी देखें
- क्षेत्र गाइड:
ui/· रेसिपीज़:cookbook/ - संबंधित कॉम्पोनेंट:
Alert·ActionSheet