Android Kotlin Fundamentals 03.2: Define navigation paths

14. Homework. Add buttons
This commit is contained in:
skysamara 2020-03-11 17:55:20 +03:00
parent 9e27afc707
commit 326d549cec
3 changed files with 57 additions and 18 deletions

View File

@ -22,6 +22,7 @@ import android.view.*
import androidx.fragment.app.Fragment import androidx.fragment.app.Fragment
import androidx.databinding.DataBindingUtil import androidx.databinding.DataBindingUtil
import androidx.navigation.findNavController import androidx.navigation.findNavController
import androidx.navigation.fragment.findNavController
import androidx.navigation.ui.NavigationUI import androidx.navigation.ui.NavigationUI
import com.example.android.navigation.databinding.FragmentTitleBinding import com.example.android.navigation.databinding.FragmentTitleBinding
@ -45,6 +46,14 @@ class TitleFragment : Fragment() {
binding.playButton.setOnClickListener { view: View -> binding.playButton.setOnClickListener { view: View ->
view.findNavController().navigate(R.id.action_titleFragment_to_gameFragment) view.findNavController().navigate(R.id.action_titleFragment_to_gameFragment)
} }
binding.rulesButton.setOnClickListener { view ->
view.findNavController().navigate(R.id.action_titleFragment_to_rulesFragment)
}
binding.aboutButton.setOnClickListener {
findNavController().navigate(R.id.action_titleFragment_to_aboutFragment)
}
setHasOptionsMenu(true) setHasOptionsMenu(true)
return binding.root return binding.root
} }

View File

@ -26,36 +26,60 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent"> android:layout_height="match_parent">
<ImageView
android:id="@+id/titleImage"
android:layout_width="395dp"
android:layout_height="@dimen/image_header_height"
android:scaleType="fitCenter"
app:layout_constraintBottom_toTopOf="@+id/playButton"
app:layout_constraintTop_toTopOf="parent"
app:srcCompat="@drawable/android_trivia"
tools:layout_editor_absoluteX="8dp" />
<Button <Button
android:id="@+id/playButton" android:id="@+id/playButton"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="@dimen/horizontal_margin"
android:layout_marginEnd="@dimen/horizontal_margin"
android:paddingStart="@dimen/button_padding" android:paddingStart="@dimen/button_padding"
android:paddingEnd="@dimen/button_padding" android:paddingEnd="@dimen/button_padding"
android:text="Play" android:text="Play"
android:textColor="@color/colorAccent" android:textColor="@color/colorAccent"
android:textSize="@dimen/button_text_size" android:textSize="@dimen/button_text_size"
android:textStyle="bold" android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toTopOf="@+id/rulesButton"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="@+id/titleImage"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="@+id/titleImage"
app:layout_constraintTop_toBottomOf="@+id/titleImage" /> app:layout_constraintTop_toBottomOf="@+id/titleImage" />
<ImageView <Button
android:id="@+id/titleImage" android:id="@+id/rulesButton"
android:layout_width="0dp" android:layout_width="wrap_content"
android:layout_height="@dimen/image_header_height" android:layout_height="wrap_content"
android:layout_marginStart="@dimen/horizontal_margin" android:paddingStart="@dimen/button_padding"
android:layout_marginEnd="@dimen/horizontal_margin" android:paddingEnd="@dimen/button_padding"
android:scaleType="fitCenter" android:text="Rules"
app:layout_constraintBottom_toTopOf="@+id/playButton" android:textColor="@color/colorAccent"
app:layout_constraintEnd_toEndOf="parent" android:textSize="@dimen/button_text_size"
app:layout_constraintHorizontal_bias="1.0" android:textStyle="bold"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintBottom_toTopOf="@+id/aboutButton"
app:layout_constraintTop_toTopOf="parent" app:layout_constraintEnd_toEndOf="@+id/playButton"
app:srcCompat="@drawable/android_trivia" /> app:layout_constraintStart_toStartOf="@+id/playButton"
app:layout_constraintTop_toBottomOf="@+id/playButton" />
<Button
android:id="@+id/aboutButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingStart="@dimen/button_padding"
android:paddingEnd="@dimen/button_padding"
android:text="About"
android:textColor="@color/colorAccent"
android:textSize="@dimen/button_text_size"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="@+id/rulesButton"
app:layout_constraintStart_toStartOf="@+id/rulesButton"
app:layout_constraintTop_toBottomOf="@+id/rulesButton" />
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>
</layout> </layout>

View File

@ -13,6 +13,12 @@
<action <action
android:id="@+id/action_titleFragment_to_gameFragment" android:id="@+id/action_titleFragment_to_gameFragment"
app:destination="@id/gameFragment" /> app:destination="@id/gameFragment" />
<action
android:id="@+id/action_titleFragment_to_rulesFragment"
app:destination="@id/rulesFragment" />
<action
android:id="@+id/action_titleFragment_to_aboutFragment"
app:destination="@id/aboutFragment" />
</fragment> </fragment>
<fragment <fragment
android:id="@+id/gameFragment" android:id="@+id/gameFragment"