Ajout d’une toolbar.
This commit is contained in:
parent
e81f70f045
commit
652b46f4c5
3 changed files with 76 additions and 21 deletions
|
@ -3,8 +3,14 @@ package com.example.palto
|
|||
import android.nfc.NfcAdapter
|
||||
import android.os.Bundle
|
||||
import android.util.Log
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
import android.view.Menu
|
||||
import android.view.MenuInflater
|
||||
import androidx.activity.viewModels
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
import androidx.navigation.fragment.NavHostFragment
|
||||
import androidx.navigation.ui.AppBarConfiguration
|
||||
import androidx.navigation.ui.setupWithNavController
|
||||
import com.example.palto.databinding.ActivityPaltoBinding
|
||||
import com.example.palto.ui.NfcViewModel
|
||||
import com.example.palto.ui.UserViewModel
|
||||
|
||||
|
@ -14,31 +20,65 @@ class PaltoActivity : AppCompatActivity() {
|
|||
private var nfcAdapter: NfcAdapter? = null
|
||||
|
||||
private val nfcViewModel: NfcViewModel by viewModels()
|
||||
private val userViewModel: UserViewModel by viewModels()
|
||||
|
||||
private val userViewModel: UserViewModel by viewModels() { UserViewModel.Factory }
|
||||
|
||||
private lateinit var binding: ActivityPaltoBinding
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
|
||||
// get the NFC Adapter
|
||||
nfcAdapter = NfcAdapter.getDefaultAdapter(this)
|
||||
binding = ActivityPaltoBinding.inflate(layoutInflater)
|
||||
setContentView(binding.root)
|
||||
|
||||
// check if NFC is supported
|
||||
//
|
||||
// Toolbar
|
||||
//
|
||||
|
||||
// Set the toolbar as the app bar for the activity.
|
||||
setSupportActionBar(binding.paltoToolbar)
|
||||
|
||||
// Configure the app bar
|
||||
val navHostFragment =
|
||||
supportFragmentManager.findFragmentById(R.id.palto_nav_host_fragment) as NavHostFragment
|
||||
val navController = navHostFragment.navController
|
||||
val appBarConfiguration = AppBarConfiguration(
|
||||
setOf(
|
||||
R.id.menuFragment, R.id.loginFragment
|
||||
)
|
||||
)
|
||||
binding.paltoToolbar.setupWithNavController(navController, appBarConfiguration)
|
||||
|
||||
//
|
||||
// NFC Adapter
|
||||
//
|
||||
|
||||
nfcAdapter = NfcAdapter.getDefaultAdapter(this)
|
||||
// Check if NFC is supported (already checked in the app manifest).
|
||||
if (nfcAdapter == null) {
|
||||
Log.e("NFC", "NFC is not supported")
|
||||
return
|
||||
}
|
||||
|
||||
// check if NFC is disabled
|
||||
if (nfcAdapter?.isEnabled == false) {
|
||||
Log.w("NFC", "NFC is not enabled")
|
||||
}
|
||||
|
||||
setContentView(R.layout.activity_palto)
|
||||
}
|
||||
|
||||
/**
|
||||
* Specify the options menu for the Activity.
|
||||
*/
|
||||
override fun onCreateOptionsMenu(menu: Menu?): Boolean {
|
||||
val inflater: MenuInflater = menuInflater
|
||||
inflater.inflate(R.menu.palto_menu, menu)
|
||||
return true
|
||||
}
|
||||
|
||||
/**
|
||||
* Just before the application is displayed.
|
||||
*/
|
||||
override fun onResume() {
|
||||
super.onResume()
|
||||
|
||||
// Begin to read NFC Cards.
|
||||
nfcAdapter?.enableReaderMode(
|
||||
this,
|
||||
nfcViewModel.tag::postValue,
|
||||
|
@ -47,17 +87,13 @@ class PaltoActivity : AppCompatActivity() {
|
|||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* Just after the application has been quit.
|
||||
*/
|
||||
override fun onPause() {
|
||||
super.onPause()
|
||||
|
||||
// disable the NFC discovery
|
||||
// Disable the NFC discovery.
|
||||
nfcAdapter?.disableReaderMode(this)
|
||||
}
|
||||
|
||||
/*
|
||||
@OptIn(ExperimentalStdlibApi::class)
|
||||
fun processTag(tag: Tag) {
|
||||
Log.d("NFC", "Tag ID : " + tag.id.toHexString())
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
|
|
@ -1,12 +1,22 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout 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:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<androidx.appcompat.widget.Toolbar
|
||||
android:id="@+id/palto_toolbar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="?attr/colorPrimary"
|
||||
android:minHeight="?attr/actionBarSize"
|
||||
android:theme="?attr/actionBarTheme"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<androidx.fragment.app.FragmentContainerView
|
||||
android:id="@+id/fragmentContainerView"
|
||||
android:id="@+id/palto_nav_host_fragment"
|
||||
android:name="androidx.navigation.fragment.NavHostFragment"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
|
@ -14,6 +24,7 @@
|
|||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/palto_toolbar"
|
||||
app:navGraph="@navigation/nav_graph" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
8
app/src/main/res/menu/palto_menu.xml
Normal file
8
app/src/main/res/menu/palto_menu.xml
Normal file
|
@ -0,0 +1,8 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<menu xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
|
||||
<item
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:title="@string/menu_item_logout" />
|
||||
</menu>
|
Loading…
Reference in a new issue