Fare işaretçisi simgeleri

Android kullanıcıları uygulamanıza telefon, tablet, katlanabilir cihaz ve Chromebook gibi farklı form faktörlerinden gelir. Kullanıcılar, uygulamanızla etkileşimde bulunurken, özellikle daha büyük ekranlarda üç düğmeli fare gibi bir işaretleme cihazı da kullanabilir. Android uygulamaları, fare işaretçisine farklı stiller uygulayarak kullanıcıların bir nesneyle etkileşimde bulunabileceğine dair görsel bir gösterge almasına yardımcı olur.

Sistemin varsayılan imleçlerini kullanma

Kullanıcılar, büyük ekranlı cihazlarda farklı türdeki nesnelerle etkileşim kurmak için farklı kurallara alışkındır. Android, geliştiricilere kullanıcıların aşina olduğu en yaygın imleç simgelerinden bazılarını sunar. Bu varsayılan sistem imleç simgelerini birkaç satır kodla ekleyebilirsiniz. Aşağıdaki Kotlin snippet'ine göz atalım:

myView.setOnHoverListener { view, _ ->
      view.pointerIcon =
         PointerIcon.getSystemIcon(applicationContext, PointerIcon.TYPE_HAND)
      false // Listener did not consume the event.
}

Bu örnekte, myView belirli koşullar altında işaretçi simgesi olarak ayarlanacak görünümü ifade eder. Burada gösterilen koşul, fare işaretçisi bir görünümün üzerindeyken oluşan bir fareyle üzerine gelme durumudur. Diğer senaryolarda, işleme sırasında bir bekleme simgesi veya oyunda bir artı işareti isteyebilirsiniz.

setOnHoverListener, işaretçi fareyle üzerine gelme durumuna girdiğinde bunu dinler ve ardından bu etkinliğe göre hareket eder. Etkinlik işleyicinin içinde, ilgili görünüm için işaretçi simgesini ayarlamak üzere view.pointerIcon çağrılır. İşaretçinin simgesini ayarlamak için mevcut bir sistem simgesi kullanılır.

Android'de yerleşik olarak bulunan çeşitli sistem simgeleri vardır. Tam liste bu sayfanın alt kısmında yer alır. İşaret parmağı açık, kapalı bir eli gösteren TYPE_HAND simgesi kullanıldı.

Kendi özel imlecinizi kullanma

// Loading a bitmap to use as a pointer icon
    BitmapFactory.decodeResource(
        this.resources,
        R.drawable.dollar_sign
    ), CURSOR_WIDTH, CURSOR_HEIGHT, false
)

// Creating the pointer icon and sending clicks from the center of the mouse icon
PointerIcon.create(dollarBitmap, (CURSOR_WIDTH/2).toFloat(), (CURSOR_HEIGHT/2).toFloat())

Not: Hotspot'un konumu, kullanım alanınıza bağlıdır. Örneğin, bir çizim uygulaması, hotspot'u kalemin veya fırçanın ucu olarak ayarlar.

Örnekler

Uygulamanıza işaretçi simgeleri eklemek, kullanıcılarınızın kullandıkları farklı cihaz form faktörlerinde daha sezgisel deneyimler yaşamasını sağlamanın harika bir yoludur. Kullanabileceğiniz birçok harika varsayılan sistem simgesi vardır. Bunlar ihtiyaçlarınıza uygun değilse kendi simgelerinizi yükleyebilir veya oluşturabilirsiniz.

  • Sürükle ve Bırak: Uygulamanız başka bir uygulamadan sürüklemeyi ve uygulamanıza bırakmayı destekliyorsa TYPE_NO_DROP simgesini uygulayabilirsiniz. Bu, uygulamanıza bırakılmaya çalışılan MIME türünün uygulamanız tarafından desteklenmediğini görsel olarak gösterir.
  • Harita - Bir harita uygulamanız varsa ve kullanıcılara haritayı kaydırabileceklerini göstermek istiyorsanız haritanın üzerine gelindiğinde TYPE_GRAB simgesini gösterme seçeneği sunabilirsiniz. Kullanıcı tıkladığında, haritayı kaydırdığını göstermek için simgeyi tutan bir ele dönüştürebilirsiniz.
  • Fotoğraf Düzenleme: Fotoğraf düzenleme kullanıcıları, yakınlaştırmak için büyüteç seçmelerine olanak tanıyan kontrolleri tercih eder. Yakınlaştırma modu seçildiğinde TYPE_ZOOM_IN simgesiyle imleci büyütece dönüştürebilirsiniz.
  • Ve daha birçok fırsat

Not: Farklı işaretçi değişikliklerini görmek için GitHub İşaretçi Örneği'ne göz atın.

Android uygulamasındaki özel işaretçi simgeleri.

Ek

Ek kaynaklar

Sistem Varsayılanı İmleçleri

Android sisteminde varsayılan olarak kullanılabilen imleçler şunlardır:

İmleç Adı Simge
TYPE_ALIAS Diğer ad imleci: Yanında küçük, eğri bir ok bulunan ok.
TYPE_ALL_SCROLL Dört dışa dönük ok içeren bir daire olan tümüyle kaydırma imleci.
TYPE_ARROW Standart ok imleci.
TYPE_CELL Hücre imleci
TYPE_CONTEXT_MENU İçerik menüsü imleci, yanında küçük bir menü simgesi olan ok.
TYPE_COPY Kopyalama imleci, yanında artı işareti bulunan bir ok.
TYPE_CROSSHAIR Artı işareti imleci: Ortasında nokta bulunan bir artı işareti.
TYPE_DEFAULT Varsayılan ok imleci.
TYPE_GRAB Tutma imleci, açık bir el.
TYPE_GRABBING Kapma imleci, kapalı bir el.
TYPE_HAND İşaret parmağıyla işaret eden bir el olan el imleci.
TYPE_HELP Yardım imleci, yanında soru işareti olan bir ok.
TYPE_HORIZONTAL_DOUBLE_ARROW Yeniden boyutlandırma için kullanılan yatay çift ok imleci.
TYPE_NO_DROP Bırakma yok imleci (üzerinde çizgi olan bir daire).
TYPE_NULL İmleç Gösterilmiyor
TYPE_TEXT Metin imleci, I-kirişi.
TYPE_TOP_LEFT_DIAGONAL_DOUBLE_ARROW Yeniden boyutlandırma için sol üstten sağ alta doğru çapraz çift ok imleci.
TYPE_TOP_RIGHT_DIAGONAL_DOUBLE_ARROW Yeniden boyutlandırma için sağ üstten sol alta doğru çapraz çift ok imleci.
TYPE_VERTICAL_DOUBLE_ARROW Yeniden boyutlandırma için kullanılan dikey çift ok imleci.
TYPE_VERTICAL_TEXT Dikey metin imleci, yatay I-kirişi.
TYPE_WAIT Bekleme imleci, kum saati veya dönen daire.
TYPE_ZOOM_IN Yakınlaştırma imleci, artı işaretli bir büyüteç.
TYPE_ZOOM_OUT Uzaklaştırma imleci, eksi işaretli bir büyüteç.