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_DROPsimgesini 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_GRABsimgesini 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_INsimgesiyle 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.
Ek
Ek kaynaklar
- GitHub Pointer Sample (GitHub İşaretçi Örneği)
- PointerIcon Android Sınıfı Dokümanları
- ChromeOS için uygulamaları optimize etme : Özel imleçler
Sistem Varsayılanı İmleçleri
Android sisteminde varsayılan olarak kullanılabilen imleçler şunlardır:
| İmleç Adı | Simge |
|---|---|
| TYPE_ALIAS | ![]() |
| TYPE_ALL_SCROLL | ![]() |
| TYPE_ARROW | ![]() |
| TYPE_CELL | Hücre imleci |
| TYPE_CONTEXT_MENU | ![]() |
| TYPE_COPY | ![]() |
| TYPE_CROSSHAIR | ![]() |
| TYPE_DEFAULT | ![]() |
| TYPE_GRAB | ![]() |
| TYPE_GRABBING | ![]() |
| TYPE_HAND | ![]() |
| TYPE_HELP | ![]() |
| TYPE_HORIZONTAL_DOUBLE_ARROW | ![]() |
| TYPE_NO_DROP | ![]() |
| TYPE_NULL | İmleç Gösterilmiyor |
| TYPE_TEXT | ![]() |
| TYPE_TOP_LEFT_DIAGONAL_DOUBLE_ARROW | ![]() |
| TYPE_TOP_RIGHT_DIAGONAL_DOUBLE_ARROW | ![]() |
| TYPE_VERTICAL_DOUBLE_ARROW | ![]() |
| TYPE_VERTICAL_TEXT | ![]() |
| TYPE_WAIT | ![]() |
| TYPE_ZOOM_IN | ![]() |
| TYPE_ZOOM_OUT | ![]() |




















