build.gradl activity_main personalFragment.kt nav_anim_graph.xml +
Android - Java Apache Config Windows Batch Linux Bash CSS Gradle HTML ini File iOS - Swift Java JavaScript JSON Format Kotlin LESS Markdown MySQL PHP Plain Text Properties File Rust Go Lang SCSS Swift XML
//Navigation
implementation 'android.arch.navigation:navigation-fragment-ktx:1.0.0-alpha06'
implementation 'android.arch.navigation:navigation-ui-ktx:1.0.0-alpha06'
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".activity.MainActivity">
<fragment
android:id="@+id/nav_host_frag"
android:name="androidx.navigation.fragment.NavHostFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:defaultNavHost="true"
app:navGraph="@navigation/nav_anim_graph"/>
</FrameLayout>
package sanaebadi.info.allinonenavigationjetpack.fragment
import android.os.Bundle
import androidx.fragment.app.Fragment
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.navigation.findNavController
import kotlinx.android.synthetic.main.main_fragment.*
import sanaebadi.info.allinonenavigationjetpack.R
class PersonalFragment : Fragment() {
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?): View? {
// Inflate the layout for this fragment
return inflater.inflate(R.layout.fragment_personal, container, false)
}
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
btn_next.setOnClickListener {
view.findNavController().navigate(R.id.to_pumped)
}
btn_skip.setOnClickListener {
view.findNavController().navigate(R.id.person_to_skip)
}
}
}
<?xml version="1.0" encoding="utf-8"?>
<navigation xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/nav_anim_graph"
app:startDestination="@id/mainFragment">
<fragment
android:id="@+id/personalFragment"
android:name="sanaebadi.info.allinonenavigationjetpack.fragment.PersonalFragment"
android:label="fragment_personal"
tools:layout="@layout/fragment_personal">
<action
android:id="@+id/to_pumped"
app:destination="@id/pumpedUpFragment"/>
<action
android:id="@+id/person_to_skip"
app:destination="@id/skipFragment"/>
</fragment>
<fragment
android:id="@+id/mainFragment"
android:name="sanaebadi.info.allinonenavigationjetpack.fragment.MainFragment"
android:label="main_fragment"
tools:layout="@layout/main_fragment">
<action
android:id="@+id/to_personal"
app:destination="@id/personalFragment"/>
<action
android:id="@+id/main_to_skip"
app:destination="@id/skipFragment"/>
</fragment>
<fragment
android:id="@+id/pumpedUpFragment"
android:name="sanaebadi.info.allinonenavigationjetpack.fragment.PumpedUpFragment"
android:label="fragment_pumped_up"
tools:layout="@layout/fragment_pumped_up">
<action
android:id="@+id/pumped_to_skip"
app:destination="@id/skipFragment"/>
</fragment>
<fragment
android:id="@+id/skipFragment"
android:name="sanaebadi.info.allinonenavigationjetpack.fragment.SkipFragment"
android:label="fragment_like"
tools:layout="@layout/fragment_skip">
<action
android:id="@+id/skip_to_main"
app:destination="@id/mainFragment"
app:enterAnim="@anim/nav_default_enter_anim"
app:exitAnim="@anim/nav_default_exit_anim"
app:popEnterAnim="@anim/nav_default_enter_anim"
app:popExitAnim="@anim/nav_default_pop_exit_anim"/>
<argument
android:name="name_app"
android:defaultValue="''"
app:argType="string"/>
</fragment>
</navigation>