Date Filled Text Field
Bir gün için dolu bir metin alanı: gün rakamlarla yazılır ya da kutunun sonundaki bir düğmenin açtığı takvimden seçilir. Dolu bir kutudaki PantrixDateTextField'tır.
import com.pantrixui.components.date.datefilledtextfield.PantrixDateFilledTextField
- Aynı alan. Rakamlar, biçim, kendi hataları, takvim ve üç biçimi (
value,state,field)PantrixDateTextField'ınkilerin aynısıdır; yalnız kutusuPantrixFilledTextFieldgibi çizilir. - Stil ve renkler.
style(FilledTextFieldStyle) vecolors(FilledTextFieldColors) kutunun,pickerStylevepickerColorstakvimindir.
Örnekler
Doğum günü
Bir doğum günü, dolu kutuda: bugünden sonrası alınmaz. Etiket odaklanınca yukarı çıkar, düzen görünür.
var birthday by remember { mutableStateOf<PantrixDate?>(null) }
PantrixDateFilledTextField(
value = birthday,
onValueChange = { birthday = it },
label = "Doğum günü",
maxDate = rememberToday(),
showClearButton = true,
tagKey = "birthday"
)
Takvim bir dialog'da
Hafta içi bir teslim günü; takvim pencerenin ortasında bir dialog'da açılır.
var delivery by remember { mutableStateOf<PantrixDate?>(null) }
val today = rememberToday()
PantrixDateFilledTextField(
value = delivery,
onValueChange = { delivery = it },
label = "Teslim günü",
minDate = today.plusDays(1),
maxDate = today.plusMonths(1),
isDateEnabled = { it.dayOfWeek <= FRIDAY },
presentation = DatePickerPresentation.Dialog,
tagKey = "delivery"
)
private const val FRIDAY = 5
Uygulamanın hatası ve devre dışı
Uygulamanın hatası ve devre dışı bir alan, dolu kutuda.
var meeting by remember { mutableStateOf<PantrixDate?>(PantrixDate(2026, 11, 2)) }
val taken = meeting == PantrixDate(2026, 11, 2)
PantrixDateFilledTextField(
value = meeting,
onValueChange = { meeting = it },
label = "Toplantı günü",
supportingText = if (taken) "Bu gün dolu, başka bir gün seçin" else "Ofisin açık olduğu bir gün",
error = taken,
tagKey = "meeting"
)
PantrixDateFilledTextField(
value = PantrixDate(2026, 10, 1),
onValueChange = {},
enabled = false,
label = "Sözleşme başlangıcı",
tagKey = "contract"
)
Forma bağlı
Bir formun alanına bağlı, dolu kutuda: gün boşken "Kaydet" hatayı gösterir.
val form = rememberFormState()
val scope = rememberCoroutineScope()
val report = LocalExampleEvents.current
val start = form.field<PantrixDate?>("start", initial = null, Rules.required("İşe başlama gününü yazın"))
PantrixDateFilledTextField(
field = start,
modifier = Modifier.fillMaxWidth(),
form = form,
label = "İşe başlama günü",
minDate = rememberToday()
)
PantrixButton(
text = "Kaydet",
onClick = { scope.launch { form.submit { report("Kaydedildi") } } },
form = form,
tagKey = "save_start"
)
Bir durumla
Bir durumla: state.date alanın günü, state.text yazılan rakamlar. İkisi birlikte boş alanı yarım yazılmış alandan ayırır. Düğme durumun gününü değiştirir; alan onu kendisi yazar.
val state = rememberDateTextFieldState()
val today = rememberToday()
Column(verticalArrangement = Arrangement.spacedBy(PantrixTheme.spacing.sm)) {
PantrixDateFilledTextField(
state = state,
label = "Rapor günü",
tagKey = "report_day"
)
PantrixText(
text = when {
state.date != null -> "Gün: ${state.date}"
state.text.isEmpty() -> "Alan boş"
else -> "Yarım: ${state.text}"
},
style = PantrixTheme.typography.body
)
PantrixButton(
text = "Bugünü yaz",
onClick = { state.date = today },
variant = ButtonVariant.Outline,
tagKey = "write_today"
)
}
API
value
Bir gün için dolu bir metin alanı: gün rakamlarla yazılır ya da kutunun sonundaki bir düğmenin açtığı takvimden seçilir. Dolu bir kutudaki PantrixDateTextField'tır.
| Parametre | Tür | Varsayılan | Ne olduğu |
|---|---|---|---|
value | PantrixDate? | alanın gösterdiği gün, ya da null. | |
onValueChange | (PantrixDate?) -> Unit | kullanıcı her değiştirdiğinde alanın günü söylenir: bir gün, ya da yoksa null. | |
modifier | Modifier | Modifier | bütün alanın modifier'ı: etiketi, kutusu ve altındakiler. |
enabled | Boolean | true | alanın kullanılıp kullanılamayacağı. Kullanılamayan alan odak almaz ve takvim açmaz. |
readOnly | Boolean | false | günün yalnız takvimden seçilip yazılamayacağı. |
label | String? | null | alanın ne için olduğu, kutunun içinde: alanın ve takviminin ekran okuyucudaki adı. |
placeholder | String? | null | kutu boşken, alanın kendisinin gösterdiği düzenin yerinde gösterilir. |
supportingText | String? | null | kutunun altındaki yardım. error ile neyin düzeltileceğini söyleyen mesajdır; onsuz, alanın kendi hatası varken onun yerini alır. |
error | Boolean | false | çağıranın günü yanlış bulup bulmadığı, dolu bir gün gibi: alan hatalı çizilir ve mesaj supportingText'tir. |
leadingIcon | (@Composable () -> Unit)? | null | metnin önünde duran. Bir yuva içine konanı boyutlandırmaz. |
showClearButton | Boolean | false | alan yazılabilirken ve boş değilken onu boşaltan bir düğme gösterir. |
minDate | PantrixDate? | null | alanın aldığı ilk gün, ya da ilki yoksa null. maxDate'ten sonra değil. |
maxDate | PantrixDate? | null | alanın aldığı son gün, ya da sonu yoksa null. |
isDateEnabled | ((PantrixDate) -> Boolean)? | null | alanın ikisi arasındaki bir günü alıp almadığı, ya da her gün için null: hafta içi bir gün, henüz dolmamış bir gün. |
firstDayOfWeek | Int? | null | takvimin haftalarının başladığı gün, ISO 8601'in numaraladığı gibi Pazartesi 1'den Pazar 7'ye, ya da dilinki için null. |
today | PantrixDate | rememberToday() | takvimin bugün diye işaretlediği gün: varsayılan, ekranın saatinin gösterdiği gün (rememberToday), gece yarısı döner. |
format | DateFieldFormat | DateFieldFormat.of(PantrixTheme.locale) | parçaların yazıldığı sıra ve aralarındaki ayraç: varsayılan temanın dilininki ve bölgesininki. of: Bu tonun çizildiği temanın rolü. |
presentation | DatePickerPresentation | DatePickerPresentation.Adaptive | takvimin neyde açıldığı: varsayılan dar bir pencerede bir sheet, daha geniş pencerede kutunun altında bir popover, açılırken seçilir; ya da her zaman bir popover, bir sheet ya da bir dialog. |
style | FilledTextFieldStyle? | null | bu çağrının alanın kendi stili: çevreleyen her birinin üstünde ve yoğunluğun altında. |
colors | FilledTextFieldColors? | null | bu çağrının alanın kendi renkleri, temanın rollerinin yerine. |
pickerStyle | DatePickerStyle? | null | bu çağrının takvimin kendi stili. |
pickerColors | DatePickerColors? | null | bu çağrının takvimin kendi renkleri. |
contentDescription | String? | null | label'ı olmayan alan için ekran okuyucunun söylediği. |
tagKey | String? | null | alanın otomasyon anahtarı: alan DateFilledTextField_<tagKey>, düğmesi DateFilledTextFieldCalendar_<tagKey>, temizleme düğmesi DateFilledTextFieldClear_<tagKey> ve takvimi DatePicker_<tagKey>'tir. Alan takvimin açıldığını ve içinde bir gün seçildiğini bildirir, günü asla. |
interactionSource | MutableInteractionSource? | null | alanın etkileşimleri, dışarı taşınmış: odağı, üstündeki işaretçi ve basışları. |
state
Çağıranın tuttuğu bir state üstünde bir tarih alanı, başka her yönden bir değerin PantrixDateFilledTextField'ı gibi: durumun date'i alanın günüdür, ona yazmak günü alana koyar, text'i yarım yazılmış alanı boş alandan ayırır.
| Parametre | Tür | Varsayılan | Ne olduğu |
|---|---|---|---|
state | DateTextFieldState | yazılan rakamlar ve yaptıkları gün. rememberDateTextFieldState() ile kurulur. | |
modifier | Modifier | Modifier | bütün alanın modifier'ı: etiketi, kutusu ve altındakiler. |
enabled | Boolean | true | alanın kullanılıp kullanılamayacağı. Kullanılamayan alan odak almaz ve takvim açmaz. |
readOnly | Boolean | false | günün yalnız takvimden seçilip yazılamayacağı. |
label | String? | null | alanın ne için olduğu, kutunun içinde: alanın ve takviminin ekran okuyucudaki adı. |
placeholder | String? | null | kutu boşken, alanın kendisinin gösterdiği düzenin yerinde gösterilir. |
supportingText | String? | null | kutunun altındaki yardım. error ile mesajdır; onsuz, alanın kendi hatası varken onun yerini alır. |
error | Boolean | false | çağıranın günü yanlış bulup bulmadığı: alan hatalı çizilir ve mesaj supportingText'tir. |
leadingIcon | (@Composable () -> Unit)? | null | metnin önünde duran. |
showClearButton | Boolean | false | alan yazılabilirken ve boş değilken onu boşaltan bir düğme gösterir. |
minDate | PantrixDate? | null | alanın aldığı ilk gün, ya da ilki yoksa null. maxDate'ten sonra değil. |
maxDate | PantrixDate? | null | alanın aldığı son gün, ya da sonu yoksa null. |
isDateEnabled | ((PantrixDate) -> Boolean)? | null | alanın ikisi arasındaki bir günü alıp almadığı, ya da her gün için null. |
firstDayOfWeek | Int? | null | takvimin haftalarının başladığı gün, Pazartesi 1'den Pazar 7'ye, ya da dilinki için null. |
today | PantrixDate | rememberToday() | takvimin bugün diye işaretlediği gün: varsayılan, ekranın saatinin gösterdiği gün (rememberToday). |
format | DateFieldFormat | DateFieldFormat.of(PantrixTheme.locale) | parçaların yazıldığı sıra ve aralarındaki ayraç: varsayılan temanın yerelininki. of: Bu tonun çizildiği temanın rolü. |
presentation | DatePickerPresentation | DatePickerPresentation.Adaptive | takvimin neyde açıldığı: varsayılan dar bir pencerede bir sheet, daha geniş pencerede kutunun altında bir popover, açılırken seçilir; ya da her zaman bir popover, bir sheet ya da bir dialog. |
style | FilledTextFieldStyle? | null | bu çağrının alanın kendi stili. |
colors | FilledTextFieldColors? | null | bu çağrının alanın kendi renkleri. |
pickerStyle | DatePickerStyle? | null | bu çağrının takvimin kendi stili. |
pickerColors | DatePickerColors? | null | bu çağrının takvimin kendi renkleri. |
contentDescription | String? | null | label'ı olmayan alan için ekran okuyucunun söylediği. |
tagKey | String? | null | alanın otomasyon anahtarı, bir değerin PantrixDateFilledTextField'ının aldığı gibi. |
interactionSource | MutableInteractionSource? | null | alanın etkileşimleri, dışarı taşınmış. |
field
Bir formun alanına bağlı bir tarih alanı: günü, hatası ve adı field'dan gelir.
| Parametre | Tür | Varsayılan | Ne olduğu |
|---|---|---|---|
field | FormField<PantrixDate?> | tarih alanının gösterdiği ve değiştirdiği, formun alanı. | |
modifier | Modifier | Modifier | bütün alanın modifier'ı. |
form | FormState? | null | verilirse klavyenin eylem tuşu formu ona kayıtlı düğme üzerinden gönderir. |
enabled | Boolean | true | alanın kullanılıp kullanılamayacağı. |
readOnly | Boolean | false | günün yalnız takvimden seçilip seçilemeyeceği. |
label | String? | null | alanın ne için olduğu, kutunun içinde. |
placeholder | String? | null | kutu boşken, düzenin yerinde gösterilir. |
supportingText | String? | null | kutunun altındaki yardım, alanın orada gösterecek bir hatası yokken. |
leadingIcon | (@Composable () -> Unit)? | null | metnin önünde duran. |
showClearButton | Boolean | false | alan yazılabilirken ve boş değilken onu boşaltan bir düğme gösterir. |
minDate | PantrixDate? | null | alanın aldığı ilk gün, ya da ilki yoksa null. maxDate'ten sonra değil. |
maxDate | PantrixDate? | null | alanın aldığı son gün, ya da sonu yoksa null. |
isDateEnabled | ((PantrixDate) -> Boolean)? | null | alanın ikisi arasındaki bir günü alıp almadığı, ya da her gün için null. |
firstDayOfWeek | Int? | null | takvimin haftalarının başladığı gün, Pazartesi 1'den Pazar 7'ye, ya da dilinki için null. |
today | PantrixDate | rememberToday() | takvimin bugün diye işaretlediği gün: varsayılan, ekranın saatinin gösterdiği gün (rememberToday). |
format | DateFieldFormat | DateFieldFormat.of(PantrixTheme.locale) | parçaların yazıldığı sıra ve aralarındaki ayraç: varsayılan temanın yerelininki. of: Bu tonun çizildiği temanın rolü. |
presentation | DatePickerPresentation | DatePickerPresentation.Adaptive | takvimin neyde açıldığı: varsayılan dar bir pencerede bir sheet, daha geniş pencerede kutunun altında bir popover, açılırken seçilir; ya da her zaman bir popover, bir sheet ya da bir dialog. |
style | FilledTextFieldStyle? | null | bu çağrının alanın kendi stili. |
colors | FilledTextFieldColors? | null | bu çağrının alanın kendi renkleri. |
pickerStyle | DatePickerStyle? | null | bu çağrının takvimin kendi stili. |
pickerColors | DatePickerColors? | null | bu çağrının takvimin kendi renkleri. |
contentDescription | String? | null | label'ı olmayan alan için ekran okuyucunun söylediği. |
interactionSource | MutableInteractionSource? | null | alanın etkileşimleri, dışarı taşınmış. |
FilledTextFieldStyle
PantrixFilledTextField'ın kutusu: şekli, en az yüksekliği ve genişliği, içindekilerin çevresindeki boşluk, ikonları ve çerçevesi.
| Parametre | Tür | Varsayılan | Ne olduğu |
|---|---|---|---|
shape | ShapeSpec | ShapeSpec.Unspecified | Kutunun şekli. Tam yuvarlak bir şekil, ShapeRole.Full, yalnızca alan tek satır tutarken bir haptır: birkaç satırlı bir alan onun yerine ShapeRole.Large alır, çünkü bir kapsülün eğrisi metninin ilk satırına girer. |
height | Dp | Dp.Unspecified | Kutunun en az yüksekliği. |
minWidth | Dp | Dp.Unspecified | Kutunun en az genişliği: boş bir alanın, kullanıcı içine yazdıkça genişlemesini önler. |
horizontalPadding | Dp | Dp.Unspecified | İkon olmayan yerde, kutunun kenarı ile etiketi ve metni arasındaki boşluk. |
verticalPadding | Dp | Dp.Unspecified | Etiketin satırının üstündeki ve metnin son satırının altındaki boşluk. |
iconPadding | Dp | Dp.Unspecified | Yuvasındaki bir ikonun çevresindeki boşluk. |
iconSize | Dp | Dp.Unspecified | Yuvadaki bir ikonun alması gereken boyut. Yuva, içine konanı boyutlandırmaz. |
borderWidth | Dp | Dp.Unspecified | Kutunun odakta, hatada ve fare üstündeyken aldığı çerçevenin kalınlığı. Dinlenirken çerçevesi yoktur. |
textRole | TypeRole? | null | Metnin yazıldığı, etiketin dinlendiği ve yer tutucunun yazıldığı yazı ölçeği rolü: Android'de ve iOS'ta body, 16sp, Material 3'ün bir alana yazdığı gibi; masaüstünde ve web'de label, 14sp, işaretçiyle kullanılan bir sayfadaki gibi. |
FilledTextFieldColors
Temanın renklerini almayan bir alan için PantrixFilledTextField'ın boyandığı renkler: verilen renk kullanılır, verilmeyen temadaki rolünde kalır. Bir ürün yalnızca değiştirdiği renkleri verir, başkasını vermez:
| Parametre | Tür | Varsayılan | Ne olduğu |
|---|---|---|---|
container | Color | Color.Unspecified | Dinlenirken kutunun dolgusu. Temanın neutral rolünün container'ı. |
focusedContainer | Color | Color.Unspecified | Çerçeveliyken kutunun dolgusu: odakta ve hatada. Temanın surface rengi. |
hoveredOutline | Color | Color.Unspecified | Fare üstündeyken çerçeve. Temanın borderHover rengi. |
focusedOutline | Color | Color.Unspecified | Alan odaktayken çerçeve. Temanın primary rengi. |
error | Color | Color.Unspecified | Metnin yanlış olduğunu söyleyenler: çerçeve, kutunun altındaki mesaj, imleç ve sınırını aştığında sayaç. Temanın danger rengi. |
text | Color | Color.Unspecified | Yazılan metin. Temanın textPrimary rengi. |
label | Color | Color.Unspecified | Etiket: hem dinlenirken yazının yerinde, hem yazının üstündeki kendi satırında. Temanın textSecondary rengi. |
placeholder | Color | Color.Unspecified | Yer tutucu. Temanın textSecondary rengi. |
supportingText | Color | Color.Unspecified | Kutunun altındaki yardım metni ve sayaç. Temanın textSecondary rengi. |
icon | Color | Color.Unspecified | Yuvadaki bir ikonun, kendi rengini vermedikçe çizildiği renk ve temizleme düğmesinin çarpısı. Temanın textSecondary rengi. |
cursor | Color | Color.Unspecified | İmleç ve onunla birlikte bir seçimin tutamaçları ile zemini. Temanın primary rengi. |
scrollBar | Color | Color.Unspecified | Birkaç satırlı bir kutunun metninin ne kadar kaydığını gösteren çubuk. Temanın borderStrong rengi: çubuk, kutunun dolgusunun üstünde bir işarettir ve bir kutunun yumuşak kenarı orada görünmezdi. |