Android gombra ()

általános információk

Gomb - az egyik leggyakoribb ellenőrzések programozás. Örököl TextView és az alap osztály SompoundButton osztályban. Tól CompoundButton osztály, viszont öröklött elemek, mint például négyzetet. ToggleButton és RadioButton. Androidon a gomb használható android.widget.Button osztályban. Szöveg a gombra a jobb oldalon található gomb megnyomásával a kap az eredményt. Egy alternatív tud szolgálni ImageButton (android.widget.ImageButton) összetevő, amely helyett egy szöveg vagy kép.

A stúdió által képviselt gombjára alkatrész Widgets listájában. Irányítsd a betűméretet, a szöveg színét és egyéb tulajdonságait keresztül lehetséges textAppearance attribútumot. használó rendszer stílusokat. A legördülő listában tulajdonságok tartalmaz egy hatalmas lehetőségek listáját. Manuálisan is beállítani az egyes konkrét beállításait az egyes tulajdonságok.

Ha nyúlik a gomb teljes szélességében a képernyő (android: layout_width = „match_parent”), akkor is ajánlott, hogy az attribútum android: layout_margin (vagy hasonló layout_marginRight és layout_marginLeft) a francia a képernyő szélein (webmesterek ismeri ezeket a kifejezéseket).

A gomb az utódja a TextView. használ sok ismerős tulajdonságok: szövegszín. textSize et al.

Három esemény-kezelő eljárás egy gomb megnyomásával

Ha fel a képernyőn gombra, és kattintson rá, nem történik semmi. Meg kell írni a kódot, hogy futni fog, ha megnyomja. Számos módon történő kezelése a gombnyomást.

Az első út - az attribútum onClick

Egy viszonylag új módszer speciálisan kifejlesztett Android - használja a onClick attribútum (jelenik On Kattintson a Tulajdonságok területen):

Az esemény nevét lehet önkényesen választottuk, de jobb, ha nem mutatják ki. Ezután regisztrálnia kell az osztályban tevékenység akkor fantázianév a módszer, amely kezelni a sajtót. A módszer nyitottnak kell lennie az (állami) és egy paraméter, a View objektumot. Meg kell tanulni öt szót egy olyan eljárás, és az eljárás kerül egy osztályba (ha még mindig zavaros a Java-kód szerkezetét, helyezze eljárás utolsó előtti zárójel):

Amikor a felhasználó rákattint a gombra, majd az úgynevezett onMyButtonClick () metódust. ami viszont generál egy pop-up üzenetben.

Felhívjuk figyelmét, hogy ez a megközelítés nem is kell, hogy állapítsa meg egy gombot a tervezés (gomb) findViewById (R.id.button1). így például az Android maga fogja érteni, mi az ábra. Ez a módszer alkalmazható nemcsak a gombot, hanem más elemek, és csökkenti a sorok száma kódot.

Ez a módszer nem fog működni a töredékek. Gomb része kell hogy legyen a tevékenység, és nem töredék.

A második út - setOnClickListener () módszer

A hagyományos módszer Java - keresztül setOnClickListener () metódust. hogy figyel a gomb megnyomásával. Mivel a kód bonyolultnak tűnhet egy kezdő programozó, javasoljuk, hogy használja a stúdióban tippeket. Itt van, hogyan fog kinézni. Tegyük fel, hogy már a képernyőn gomb gomb. A kódot, akkor nyilvánítja a szokásos módon:

Most van a munkadarab, és amint zárójelei a módszer onClick (), akkor írj a kódot. Azt javasoljuk, hogy a gyakorlat és kap kéz a létrehozását a munkadarabot. Ez nem olyan nehéz, és gyakorolni a készség rögzíthető automatikusan.

Azt is megteheti, hogy egy kódot OnClickListener egy elkülönített helyen, célszerű, ha egy pár gomb a képernyőn, és ez a megközelítés egyszerűsíteni fogja a kódot. Távolítsuk el az előző példában, és írjuk be a kódot a semmiből. Az elv ugyanaz, kissé más sorrendben. Az előző példában, azonnal regisztrált a módszer a hallgató setOnClickListener új OnClickListener. A módszer onClick (). Akkor először nyilvánítja önálló változó külön myButtonClickListener:

Van egy kész változó, és most, hogy akkor kapnak button.setOnClickListener kódot. helyett adja meg az új OnClickListener kész változó.

Egy kezdő leírás tűnhet kaotikus és nem világos, de jobb, ha nem ezeket a lépéseket a saját, és megérteni a mechanizmust.

A harmadik út - a felület OnClickListener

A harmadik módszer kapcsolódik a második módszer, valamint a hagyományos Java. Gomb appropriates felvezető módszerével setOnClickListener (View.OnClickListener l). azaz bármilyen tárgyat View.OnClickListener interfész. Tudjuk meg, hogy a tevékenységi osztály fogja használni View.OnClickListener felületen.

Ismét törli a kódot az előző példában. Ezt követően, miután a szavak kiterjed Activity fűzi a szavakat végrehajtja OnClickListener. Amikor a rendszer kéri, nem tévedés. Általában van egy első interfészt a párbeszéd, és a második szeretne minket View.OnClickListener.

A nevét az osztály kiemelendő hullámos piros vonal, kattintson a szó köz- és várja meg a piros lámpánál, válassza munkagép módszerekkel. Egy párbeszédablak jelenik meg a kiválasztott módszer onClick. Válassza ki, és a munkadarab megnyomása jelennek meg a kódot.

Az eljárás nem kerül bevezetésre egy külön objektum kezelő, és a tevékenység. ami jár, mint a felvezető. A onCreate () metódus hozzárendelése gombra felvezető. Ez lesz a tárgy ez. azaz Az objektumhoz tevékenységünk.

Eleinte ez a módszer is, úgy tűnik bonyolult és zavaros az Ön számára. Az idő és a tapasztalat jön a megértés szükséges.

Személy szerint azt javasoljuk, hogy az első módszer a legegyszerűbb és leginkább intuitív. A második és a harmadik módszer kapsz egy ötlet, hogyan kell írni rakodók egyéb rendezvények, valamint egy gomb lehet más eseményeket. Például a megszokott, nyomja ott egy hosszú nyomja meg a gombot (hosszú click). Az egyik ilyen eljárás például az érintés adtam végén ezt a cikket.

Ahhoz, hogy megtanulják, hogyan kell kezelni a egy gombnyomással írtam egy külön cikket Click gomb / Counter varjak. Gombot is gyakran megtalálható számos példát az oldalon. Mintegy kezelése hosszan nyomva megtalálható egy cikket a ImageButton.

Szaporodjatok és sokasodjatok - ez a macska, de nem a gombok

Ha van egy gomb, egy ablakot, akkor meg az egyik módszer, két gomb - a két módszer, és így tovább. Ha több gombok, nem szükséges minden felírni a módszer, akkor tegye, és az eljárás elkülönítése az azonosító kód a gombra. Ha megnézzük a kódot az előző példákban, akkor láthatjuk, hogy az eljárás paramétere van jelen View. amely lehetővé teszi, hogy meghatározza, a gomb egy darab kód:

Tegyük fel, hogy van három gomb található:

Mint látható, már csökkentette a kódot. Most van egy felvezető onClick (). amely meghatározza a fellépés három gomb.

Tedd gomb nem érhető el

Néha meg kell, hogy a gomb áll rendelkezésre, és aktiválja azt bizonyos körülmények között. XML lehet véghezvinni a gomb nem elérhető (nincs megfelelő attribútum). Ezt meg lehet tenni programozottan keresztül setEnabled () metódus:

Alternatívaként akkor úgy az attribútum android: kattintható. amely lehetővé teszi a gomb nem reagál az érintésre, de továbbra is normális az ilyen jellegű gombra.

Tedd gomb lapos

Normál gombot a képernyőn látszik domború. De bizonyos esetekben kívánatos, hogy egy sima felületen. Korábban erre a célra lehet használni TextView kezelésével kattintással. De most javasolja a különleges stílusban borderlessButtonStyle:

A gomb megtartja szokásos viselkedését, megváltoztatja a színét, ha megnyomja, stb

Újabb stílus az Advent a Material Design, például style = "@ style / Widget.AppCompat.Button.Borderless". amely az előnyös kiviteli alak. Próbálja még style = "@ style / Widget.AppCompat.Button.Borderless.Colored"

Érints meg gyengéden

Ha alaposan megfigyelni a viselkedését a gombot, akkor láthatjuk, hogy a kód váltja abban a pillanatban, amikor elengedte a mancsát, bocs, az ujját a gombról. A normál alkalmazásoknak ez teljesen normális, és ez a megközelítés lehet, hogy túl lassú a sebesség játék. Ilyen esetekben jobb a helyzet kezelésére nincs egyetlen gombnyomással, és az érintése. A Android, van egy megfelelő OnTouchListener () hallgató:

A onTouch () módszer egy paraméterének MotionEvent. így finomabban meghatározzák az érintőképernyőn. Ha egy esemény bekövetkezik, amikor a felhasználó megérinti a képernyőt, akkor illik ACTION_DOWN állandó. Ennek megfelelően, ha a felhasználó eltávolítja az ujját, akkor érdemes használni a folyamatos ACTION_UP. Ezért, ha lehet tekinteni, mint egy gombnyomással kombinációja két esemény - az érintés és felszabadulását.

Sajnos, nincs módszer az Android Pat ma. A macskák elégedetlen.

Szerezd meg a szöveget a gombot

Ihlette a kérdést a fórumon. A feladat -, hogy a gomb szövegét az eljárás onClick (). A módszer egy paraméterének típusú View. amely nem rendelkezik az eljárás gettext (). Ehhez írja vezet gomb típusát.

Ha több gomb kapcsolódik a módszer onClick (). majd a gombot lenyomva megjeleníti a szöveget.

további irodalom