Mobile - játékfejlesztés használat dialogfragment
Ez az üzenet a fordítási útmutatót az Android fejlesztői blog
Kezdve Android Méhsejt a megjelent fragmensek (fragmensek), amely lehetővé tette, hogy újra használható a mellékletben része a felhasználói felület és a logika. showDialog módszerek és tevékenységi osztály dismissDialog volna nyilvánítani elavult. Helyükre DialogFragments.
Ebben a bejegyzésben azt használja prodemostriruyu DialogFragments kompatibilitás a könyvtár v4 (a visszafelé kompatibilitás eszközök, amelyek korábbi verzióit futtató Android) a példa egy egyszerű párbeszédablak, amely lehetővé teszi, hogy írja be a szöveget, és visszatér az eredmény okozta aktivitás a felületen keresztül. Itt láthatjuk irányítani a design párbeszéd.
Elrendezés (Elrendezés)
Az alábbiakban az elrendezés párbeszédablak, amely fragment_edit_name.xml fájlt.
android: layout_width = "wrap_content" android: layout_height = "wrap_content"
android: layout_gravity = "center" android: orientáció = "függőleges">
android: id = "+ id / lbl_your_name" android: text = "Az Ön neve"
android: layout_width = "wrap_content" android: layout_height = "wrap_content" >
Toast. makeText (ezt. "Szia," + inputText, Toast. LENGTH_SHORT). show ();
Kell figyelni, hogy egy pár dolgot. Először is, a tevékenység kiterjed FragmentActivity. mivel mi használ a támogató könyvtárat a visszafelé kompatibilitás a Fragment API. Emiatt hívjuk getSupportFragmentManager () metódus helyett getFragmentManager ().
Betöltés után típusú aktivitás azonnal mutatja EditNameDialog okozva annak módszer Show (). Ez lehetővé teszi, DialogFragment tárgyalni annak az állapotnak a hívó fragmense. Nyomja meg a „vissza” bezárja a párbeszédablakot anélkül, hogy további kódot.
Használata párbeszéd
A következő lépés, nézzük javítása EditNameDialog. kiegészíti azt a képességét, hogy át felhasználói bevitelt a mi tevékenységi sort.
public class EditNameDialog kiterjed DialogFragment végrehajtja OnEditorActionListener
A felhasználók kényelmét, hívjuk a program fókuszában a EditText segítségével mEditText.requestFocus (). Alternatív tudtuk használni a címkét
A szoftveres billentyűzet automatikusan megjelenik, miután a felhasználó teszi a hangsúlyt a EditText. Annak érdekében, hogy ez az esemény kiváltó szoftver hívjuk getDialog (). GetWindow (.) SetSoftInputMode (). Megjegyezzük, hogy sok a műveletek az ablak osztály, amit tett volna a Dialog osztályban lehet használni DialogFragment. de most kell felidézni getDialog (). getWindow () helyett getWindow (). Így fog kinézni a kapott párbeszéd smatrfone tablettát, és láthatjuk az alábbi:

onEditorAction () metódus akkor aktiválódik, ha a felhasználó megnyomja a „Kész” gombra. Ezt az okozza, mert már megadott OnEditorActionListener EditText. Ő viszont azt eredményezi, tevékenységünk eljárás küldeni a szöveg a felhasználó által megadott. Erre EditNameDialog bejelenti EditNameDialogListener felület. ami viszont végrehajtja a tevékenység. Ez lehetővé teszi a használatát a párbeszéd sok tevékenység. Tudjuk, hogy a tevékenység. amely miatt a párbeszédablak getActivity () metódust. Most már tudjuk nevezni onFinishEditDialog () metódust. Activity pre zakastiv a EditNameDialogListener felület. A MVC architektúra mintázata általában kölcsönhatás a vezérlő típusát.
Mi lehet a párbeszédablak bezárásához kétféle módon. Ebben a példában hívjuk a módszer utasítsa () a párbeszéd. Azt is lehet nevezni a tevékenység, valamint a módszer show ().
Remélem, hogy ez a post némi fényt a darabokat, mert kapcsolatban állnak a párbeszéd. Megtalálható a forráskód teljes bejegyzést a Google Code.