Sobes.tech
Junior

Чӣ гуна шумо тағирёбандаҳоро дар коди худ истифода мебаред?

sobes.tech AI

Ҷавоб аз AI

Модификаторҳо дар таҳияи Android, махсусан дар истифодаи Jetpack Compose, нақши калидӣ дар танзими намуди зоҳирӣ ва рафтори функсияҳои Composable мебозанд.

Роҳҳои асосии истифода:

  1. Андоза ва ҳошияҳо:

    • Таҳрири паҳнӣ ва баландӣ: Modifier.width(...), Modifier.height(...), Modifier.size(...).
    • Илова кардани ҳошияҳои дохилӣ: Modifier.padding(...).
    • Илова кардани ҳошияҳои хориҷӣ: Modifier.offset(...).
    // Намунаи истифодаи модификаторҳои андоза ва ҳошия
    Box(
        modifier = Modifier
            .size(100.dp) // Таҳрир кардани андоза
            .padding(16.dp) // Илова кардани ҳошияҳои дохилӣ
    ) {
        // Мазмуни Box
    }
    
  2. Замина ва доира:

    • Таҳрири ранг ё шитоб барои замина: Modifier.background(...).
    • Илова кардани доира: Modifier.border(...).
    // Намунаи истифодаи модификаторҳои замина ва доира
    Text(
        "Салом!",
        modifier = Modifier
            .background(Color.Blue) // Заминаи кабуд
            .border(2.dp, Color.Red) // Доираи сурх бо ғафсӣ 2dp
    )
    
  3. Взаимод ва коркарди ҳодисаҳо:

    • Реаксия ба клик: Modifier.clickable(...).
    • Реаксия ба фишори дароз: Modifier.pointerInput(...) ё Modifier.combinedClickable(...).
    • Идоракунии ҳаракат: Modifier.verticalScroll(...), Modifier.horizontalScroll(...).
    // Намунаи истифодаи модификатор барои клик
    Button(
        onClick = { /* Иҷрои амал дар клик */ },
        modifier = Modifier.padding(8.dp) // Ҳошияҳо барои тугма
    ) {
        Text("Маро клик кун")
    }
    
  4. Ҷойгиркунӣ ва ҳамоҳангсозӣ:

    • Пур кардани фазои дастрас: Modifier.fillMaxSize(), Modifier.fillMaxWidth(), Modifier.fillMaxHeight().
    • Ҳамоҳангсозии мазмун: Modifier.align(...).
    // Намунаи истифодаи модификатор барои пур кардани фазо
    Column(
        modifier = Modifier.fillMaxSize() // Пурра кардани тамоми фазо
    ) {
        // Элементҳои кӯдакона
    }
    
  5. Ҳолат ва таъсирҳо:

    • Таҳрири шаффофият: Modifier.alpha(...).
    • Тавр ва андоза: Modifier.rotate(...), Modifier.scale(...).
    • Истифодаи сояҳо: Modifier.shadow(...).
    // Намунаи истифодаи модификатор барои шаффофият
    Image(
        painter = painterResource(id = R.drawable.my_image),
        contentDescription = "Расмам",
        modifier = Modifier.alpha(0.5f) // Нимшаффоф мекунад
    )
    
  6. Модификаторҳои махсуси UI-компонентҳо: Баъзе компонентҳо дорои модификаторҳои худ барои танзими махсус мебошанд, масалан:

    • Modifier.weight(...) барои Column ва Row.
    • Modifier.constrainAs(...) барои ConstraintLayout.

Модификаторҳо пайваст мешаванд ва тартиби онҳо аҳамият дорад. Онҳо ба таври пайдарпай аз чап ба рост татбиқ мешаванд.

// Намунаи пайваст кардани модификаторҳо
Text(
    "Камбуди",
    modifier = Modifier
        .padding(16.dp) // Аввал ҳошияҳо
        .background(Color.Yellow) // Баъд замина
        .clickable { /* Амал */ } // Ва дар охир, кликбардорӣ
)

Истифодаи самараноки модификаторҳо имкон медиҳад, ки UI-ҳои чандир, мутобиқшаванда ва интерактивӣ дар услуби декларативии Jetpack Compose эҷод карда шаванд.