-
Notifications
You must be signed in to change notification settings - Fork 0
Erstellen eines weiteren Screens
Dennis Natusch edited this page Jun 16, 2020
·
1 revision
Um einen weiteren Screen in die App einzufügen, sind folgende Schritte notwendig:
- Unser Screen soll durch einen Menüeintrag geöffnet werden. Dafür haben wir in der Datei
menu_main.xmlein weiteres Item mit der ID@+id/test_screenangelegt.
- Damit haben wir nur ein Menüitem angelegt, jetzt müssen wir dafür sorgen, das beim Klick darauf auch etwas passiert. Da das Menü aus dem Main Fragment aufrufbar ist, müssen wir in die Klasse
MainFragmentin der FunktionshowPopupeinen weiteren Fall hinzufügen. Dafür haben wir direkt vor dem else folgendes geschrieben:
R.id.test_screen -> { findNavController().doNavigate(MainFragmentDirections.actionMainFragmentToTestFragment())true}
actionMainFragmentToTestFragmentist dabei die ID einer Aktion, die wir jetzt erstellen. - In der Datei
nav_graph.xmlmüssen wir jetzt diese Aktion hinzufügen und ein Zielfragment angeben. Dafür fügen wir folgendes an das Ende des Main-Fragments, das in Zeile 8 beginnt.
<action android:id="@+id/action_mainFragment_to_testFragment" app:destination="@id/testFragment" />Das Ziel mit der Id testFragment müssen wir jetzt erstellen. - Dafür fügen wir in die selbe Datei ein weiteres Fragment ein:
<fragment android:id="@+id/testFragment" android:name="de.rki.coronawarnapp.ui.test.TestFragment" android:label="fragment_test"tools:layout="@layout/fragment_test" />
Sowohlde.rki.coronawarnapp.ui.test.TestFragmentwie auch@layout/fragment_testmüssen noch erstellt werden. - Im Ordner
res/layoutfügen wir die Layout Datei namesfragment_test.xmlhinzu. Diese enthält den Aufbau des Screens. Für unser Beispiel haben wir einfach den Inhalt ausfragment_information_about.xmlkopiert. - Jetzt fehlt nur noch die Klasse
TestFragment. Dafür haben wir einen Ordnertestim Ordnerde/rki/coronawarnapp/uierstellt und darin die DateiTestFragment.kt. Für diese Datei haben wir wieder den Code vonInformationAboutFragmentkopiert und nur den Klassennamen geändert zuTestFragment
- Home
- Development tools
- Standup template
- Fragebogen
- Kanban boards
- Protokoll
- Technik
- Vergleich der Ansätze
- Data Privacy
- Website