CodeBlanks Logo Icon CodeBlanks

TouchableOpacity

TouchableOpacity ile dokunma geri bildirimi öğrenirsin.

TouchableOpacity

TouchableOpacity dokunulduğunda saydamlığı azalan esnek bir düğme kabuğudur. Button'dan farkı: içerisine herhangi bir bileşen koyabilirsin; Text, Image ya da View gibi. onPress yine dokunma işlevidir.

Örnek: <TouchableOpacity onPress={handlePress}><Text style={{ color: 'blue' }}>Devam</Text></TouchableOpacity>. Dokunulduğunda kabuk yarım saydam olur; kullanıcı görsel geri bildirim alır. Bu bileşen yıllardır yaygın olsa da yeni kodlarda Pressable tercih edilir.

Özel çocuklar

TouchableOpacity bir düğme davranışı verir ama görünümü sen belirlersin. İçine bir View koyup arka plan, kenarlık ve boşluk verebilirsin. Bu, kart biçimli düğmeler, ikonlu düğmeler ve özel stilli düğmeler için idealdir.

Örnek: <TouchableOpacity onPress={handlePress}><View style={{ padding: 12, backgroundColor: 'tomato' }}><Text style={{ color: 'white' }}>Sil</Text></View></TouchableOpacity>. Bileşenin style prop'u da vardır; ancak çocuğa verilen stil daha esnek olduğundan genelde iç View stillendirilir.

Uygulama Özel düğme yaz

Boş bileşeni tamamla. handlePress işlevini tanımla. Dönüşte <TouchableOpacity onPress={handlePress}> içinde <View style={styles.btn}><Text style={styles.label}>Devam</Text></View> bulunsun. btn: padding: 12, backgroundColor: 'tomato'. label: color: 'white'.

Başlangıç kodu

App.js
import React from 'react';
import { TouchableOpacity, View, Text, StyleSheet } from 'react-native';

export default function ContinueButton() {
  // handlePress işlevini ekle ve TouchableOpacity döndür
  return null;
}

const styles = StyleSheet.create({
  // btn ve label stillerini buraya ekle
});

Örnek çözüm

App.js
import React from 'react';
import { TouchableOpacity, View, Text, StyleSheet } from 'react-native';

export default function ContinueButton() {
  const handlePress = () => {};
  return (
    <TouchableOpacity onPress={handlePress}>
      <View style={styles.btn}>
        <Text style={styles.label}>Devam</Text>
      </View>
    </TouchableOpacity>
  );
}

const styles = StyleSheet.create({
  btn: { padding: 12, backgroundColor: 'tomato' },
  label: { color: 'white' }
});

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 TouchableOpacity bileşenini yaz

Soru
<____ onPress={handlePress}>
  <Text>Devam</Text>
</TouchableOpacity>
Cevap
<TouchableOpacity onPress={handlePress}>
  <Text>Devam</Text>
</TouchableOpacity>

Açıklama: TouchableOpacity dokunulan kabuğu saydamlıkla geri bildirim verir.

2 TouchableOpacity ne yapar?

App.js
<TouchableOpacity onPress={press}>
  <Text>Dokun</Text>
</TouchableOpacity>
  • Yalnızca metin gösterir
  • Dokunulduğunda saydamlığı azalır Doğru cevap
  • Dokunulduğunda rengi değişmez
  • İçine bileşen almaz

Açıklama: Dokunulduğunda saydamlığı azalır ve geri bildirim verir.

3 Bileşeni özelliğine eşle

Kavram Anlamı
Button Yalnızca düz metin etiketi
TouchableOpacity Saydamlıkla geri bildirim
title Düğme etiketi
onPress Dokunma işlevi

Başlangıç bölümündeki tüm dersler