TimePicker और DatePicker दो advanced UI widgets हैं, जिनका use user से time और date input लेने के लिए किया जाता है।
DatePicker से user calendar format में तारीख (Date) चुन सकता है।
TimePicker से user घड़ी (Clock) format में समय (Time) चुन सकता है।
>इन दोनों components को dialog के रूप में भी दिखाया जा सकता है, जिससे एक popup open होता है।
DatePickerDialog और TimePickerDialog दो main classes हैं, जिन्हें हम date/time चुनने के लिए इस्तेमाल करते हैं।
TimePicker में हम 12-hour या 24-hour format सेट कर सकते हैं।
DatePicker और TimePicker को XML layout में भी इस्तेमाल किया जा सकता है लेकिन dialog ज़्यादा user-friendly होता है।
इन components की मदद से form filling, alarm set, reminders आदि में easy input possible होता है।
DatePickerDialog का basic code example:
DatePickerDialog datePickerDialog = new DatePickerDialog(this,
(view, year, month, dayOfMonth) -> {
// यहाँ date मिलने के बाद क्या करना है वो लिखते हैं
}, 2025, 4, 6);
datePickerDialog.show();
TimePickerDialog का basic code example:
TimePickerDialog timePickerDialog = new TimePickerDialog(this,
(view, hourOfDay, minute) -> {
// यहाँ time मिलने के बाद क्या करना है वो लिखते हैं
}, 12, 30, true);
timePickerDialog.show();
ListView
ListView एक UI component है, जिसका इस्तेमाल कई items को एक scrollable list में दिखाने के लिए किया जाता है।
यह vertical list format में items को display करता है, जैसे नामों की लिस्ट, messages, contacts आदि।
ListView को data से जोड़ने के लिए Adapter का use किया जाता है।
Adapter list को data देता है और हर item का layout तय करता है।
ListView में हर item एक row की तरह दिखाई देता है, जिसे हम XML layout से design कर सकते हैं।
अगर list बहुत बड़ी हो तो ListView efficient तरीके से सिर्फ visible items को ही load करता है (memory बचती है)।
आजकल ListView की जगह RecyclerView ज़्यादा use होती है, क्योंकि वो ज़्यादा flexible और powerful होती है।
GridView
GridView एक advanced UI component है, जिसका use items को rows और columns की grid (जालीनुमा रूप) में दिखाने के लिए किया जाता है।
यह images, texts या दोनों को grid format में दिखाने के लिए बहुत useful होता है।
GridView में हर item एक समान size का होता है, और यह scrolling को भी support करता है।
इसमें items को dynamically load करने के लिए Adapter (जैसे ArrayAdapter या BaseAdapter) का use किया जाता है।
GridView का use photo gallery, product display, emoji selection आदि जैसी जगहों पर किया जाता है।
GridView में हम custom layout भी use कर सकते हैं, जिससे हर grid item में image + text भी दिखा सकते हैं।
GridView पर item click event को handle करने के लिए setOnItemClickListener() method use होता है।
GridView flexible और visually appealing layout देता है, खासकर जब हमें समान type के multiple items एक साथ दिखाने होते हैं।
CardView
CardView एक UI component है, जो content को एक card जैसे दिखने वाले container में display करता है।
CardView का use clean और attractive layout बनाने के लिए किया जाता है, जैसे कि social media posts, product cards आदि।
CardView को Material Design में introduce किया गया था, जिससे UI modern और responsive लगे।
CardView में shadow (elevation), corner radius और padding set कर सकते हैं, जिससे यह उभरा हुआ (3D effect) दिखता है।
CardView के अंदर हम कोई भी layout रख सकते हैं, जैसे TextView, ImageView, Button आदि।
CardView को हम RecyclerView में बार-बार repeat कर सकते हैं, जिससे list अच्छी और organized दिखती है।
CardView lightweight होता है और performance friendly होता है, इसलिए ज्यादा बार use किया जाता है।
CardView का look professional होता है, इसलिए apps में इसे profile card, product item, info box आदि के लिए use किया जाता है।
RecycleView
RecyclerView एक advanced और flexible UI component है, जिसका इस्तेमाल बड़ी list या data को efficiently दिखाने के लिए किया जाता है।
यह ListView का upgraded version है, जो ज़्यादा fast, customizable और memory-efficient होता है।
RecyclerView पुराने views को reuse करता है, जिससे performance बेहतर होती है – इसी वजह से इसका नाम "Recycler" है।
RecyclerView में 3 main parts होते हैं:
Adapter – जो data को bind करता है।
ViewHolder – जो UI elements को hold करता है।
LayoutManager – जो बताता है कि list कैसे दिखेगी (vertical, horizontal, grid etc.)
ViewHolder pattern के कारण RecyclerView smooth scrolling देता है, क्योंकि बार-बार views create नहीं होते।
Custom layouts और animations add करना RecyclerView में आसान होता है।
Adapter में हम onCreateViewHolder(), onBindViewHolder(), और getItemCount() override करते हैं।
RecyclerView का use chat apps, shopping apps, contact lists, news feed आदि में किया जाता है।