top of page
  • Yazarın fotoğrafıSefa Kerem

Kotlin'de Pinview kullanımı

PinView, Android uygulamalarında kullanılan bir PIN görünümü bileşenidir. Bu bileşen, kullanıcının PIN'i girerken görsel olarak daha güzel ve kullanıcı dostu bir deneyim sağlar.

Bu makalede, ChaosLeung/PinView bileşenini kullanarak nasıl bir PIN görünümü oluşturulacağı adım adım açıklanacaktır.

Adım 1: Projenizi hazırlayın ChaosLeung/PinView kullanmak için ilk olarak projenize eklemeniz gereken bağımlılıklar vardır. Projeyi build.gradle dosyanızın dependencies bölümüne şu şekilde ekleyin:

dependencies {
    implementation 'com.chaos.view:pinview:1.4.3'
}

Adım 2: Layout dosyanızı hazırlayın PIN görünümünüzü tasarlamak için öncelikle bir layout dosyası oluşturmanız gerekir. Bu dosyaya PIN görünümünüzü yerleştireceksiniz. Aşağıdaki örnek layout dosyası, PIN görünümünüzü içerecek şekilde hazırlanmıştır.

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <com.chaos.view.PinView
        android:id="@+id/pinview"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        app:pinBackground="@drawable/pin_background"
        app:pinTextColor="@color/pin_text_color"
        app:pinTextSize="@dimen/pin_text_size"
        app:pinLength="4" />

</RelativeLayout>

Yukarıdaki örnekte, PIN görünümü, RelativeLayout ile sarılmıştır. PinView öğesi, PIN görünümünüzün kendisidir. Ayrıca, PIN görünümünün özellikleri için app: prefix kullanarak çeşitli özellikler tanımlanmıştır.

Adım 3: Bileşenin özelliklerini ayarlayın PinView öğesinin özellikleri, XML'de app: prefix kullanılarak tanımlanır. Örneğin, app:pinLength özelliği, PIN uzunluğunu belirler. Bu özellikleri ayarlamak, kullanıcının PIN görünümünü nasıl deneyimleyeceğini belirleyecektir. Aşağıdaki özellikler sıkça kullanılır:

  • app:pinLength: PIN uzunluğunu belirler.

  • app:pinTextSize: PIN metninin boyutunu belirler.

  • app:pinTextColor: PIN metni rengini belirler.

  • app:pinBackground: PIN arka planını belirler.

Adım 4: Java kodunuzu yazın PIN görünümünüzün özelliklerini ayarladıktan sonra, Java kodunuzda PIN görünümünü kullanmak için önce XML dosyasında belirtilen ID'yi kullanarak bir referans almanız gerekiyor. Bunun için onCreate() yönteminizde aşağıdaki kodu ekleyin:

PinView pinView = findViewById(R.id.pinview);

Daha sonra, PIN'in doğru girilip girilmediğini kontrol etmek için bir dinleyici eklemelisiniz. Aşağıdaki kod, PIN'in doğru girilip girilmediğini kontrol edecek bir örnek dinleyicidir:


pinView.setPinViewEventListener(new PinViewEventListener() {
    @Override
    public void onDataEntered(PinView pinview, boolean fromUser) {
        // Do something
        String pin = pinview.getValue();
        if (pin.equals("1234")) {
            Toast.makeText(MainActivity.this, "PIN doğru", Toast.LENGTH_SHORT).show();
        } else {
            Toast.makeText(MainActivity.this, "PIN yanlış", Toast.LENGTH_SHORT).show();
        }
    }
});

Yukarıdaki kodda, setPinViewEventListener() yöntemi kullanılarak bir PinViewEventListener oluşturulur ve onDataEntered() yöntemi PIN doğru bir şekilde girildiğinde çalıştırılır. Kod örneğinde, PIN'in "1234" olması gerektiği kontrol ediliyor ve bir Toast mesajı gösteriliyor.

Adım 5: Son adımlar PIN görünümünüz artık hazır! Ancak, bazı ek özellikler eklemek isteyebilirsiniz. Örneğin, kullanıcının PIN'i girdiği sırada klavye görüntülemek isteyebilirsiniz. Bunun için, AndroidManifest.xml dosyanıza aşağıdaki izni ekleyin:


<uses-permission android:name="android.permission.VIBRATE"/>

Daha sonra, klavyenin açılması için aşağıdaki kodu onCreate() yönteminize ekleyin:


InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(pinView, InputMethodManager.SHOW_IMPLICIT);

Bununla birlikte, PIN'in doğru girilip girilmediğini kontrol etmek için farklı bir yöntem kullanmak isteyebilirsiniz. Örneğin, "onDataEntered" yerine "onSubmit" yöntemini kullanabilirsiniz. Aşağıdaki kod örneği, onSubmit yöntemi kullanılarak PIN'in doğru bir şekilde girilip girilmediğini kontrol ediyor:


pinView.setPinViewEventListener(new PinViewEventListener() {
    @Override
    public void onSubmit(PinView pinview, String pin) {
        // Do something
        if (pin.equals("1234")) {
            Toast.makeText(MainActivity.this, "PIN doğru", Toast.LENGTH_SHORT).show();
        } else {
            Toast.makeText(MainActivity.this, "PIN yanlış", Toast.LENGTH_SHORT).show();
        }
    }
});

Son olarak, istediğiniz herhangi bir özellik veya tasarım değişikliğini yapabilirsiniz. Örneğin, PIN girildikten sonra ekranı temizlemek isteyebilirsiniz. Bunu yapmak için, PIN doğru girildiğinde, PinView'in temizlenmesi gerekiyor. Bunun için, aşağıdaki kodu kullanabilirsiniz:


pinView.setPinViewEventListener(new PinViewEventListener() {
    @Override
    public void onSubmit(PinView pinview, String pin) {
        // Do something
        if (pin.equals("1234")) {
            Toast.makeText(MainActivity.this, "PIN doğru", Toast.LENGTH_SHORT).show();
            pinview.clearValue();
        } else {
            Toast.makeText(MainActivity.this, "PIN yanlış", Toast.LENGTH_SHORT).show();
        }
    }
});

Bu kod örneğinde, onSubmit() yöntemi kullanılarak PIN'in doğru girilip girilmediği kontrol ediliyor. Eğer PIN doğruysa, bir Toast mesajı gösterilir ve PinView temizlenir.

Sonuç olarak, yukarıdaki adımları takip ederek, ChaosLeung/PinView kütüphanesi kullanarak Android'de bir PIN görünümü oluşturabilirsiniz. Bu görünümü istediğiniz gibi özelleştirebilir ve PIN'in doğru bir şekilde girilip girilmediğini kontrol edebilirsiniz.






48 görüntüleme0 yorum

Son Yazılar

Hepsini Gör
bottom of page