Set up with Fragments, DrawerLayout and Adaptive Icons

This commit is contained in:
Arty Bishop committed 2019-10-16 20:13:20 +01:00
1 parent 33698b8b8a
commit bff8e44d28
53 files changed
+966 -7

No files matched your search

@@ -0,0 +1,51 @@
package com.rtbishop.lookingsat
import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
import androidx.appcompat.widget.Toolbar
import androidx.drawerlayout.widget.DrawerLayout
import androidx.lifecycle.ViewModelProviders
import androidx.navigation.findNavController
import androidx.navigation.ui.AppBarConfiguration
import androidx.navigation.ui.navigateUp
import androidx.navigation.ui.setupActionBarWithNavController
import androidx.navigation.ui.setupWithNavController
import com.google.android.material.floatingactionbutton.FloatingActionButton
import com.google.android.material.navigation.NavigationView
import com.google.android.material.snackbar.Snackbar
class MainActivity : AppCompatActivity() {
private lateinit var appBarConfig: AppBarConfiguration
private lateinit var mainViewModel: MainViewModel
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
mainViewModel = ViewModelProviders.of(this).get(MainViewModel::class.java)
val toolbar: Toolbar = findViewById(R.id.toolbar)
setSupportActionBar(toolbar)
val fab: FloatingActionButton = findViewById(R.id.fab)
fab.setOnClickListener { view ->
Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
.setAction("Action", null).show()
}
val drawerLayout: DrawerLayout = findViewById(R.id.drawer_layout)
val navView: NavigationView = findViewById(R.id.nav_view)
val navController = findNavController(R.id.nav_host)
appBarConfig =
AppBarConfiguration(setOf(R.id.nav_sky, R.id.nav_radar, R.id.nav_map), drawerLayout)
setupActionBarWithNavController(navController, appBarConfig)
navView.setupWithNavController(navController)
}
override fun onSupportNavigateUp(): Boolean {
val navController = findNavController(R.id.nav_host)
return navController.navigateUp(appBarConfig) || super.onSupportNavigateUp()
}
}
@@ -0,0 +1,6 @@
package com.rtbishop.lookingsat
import android.app.Application
import androidx.lifecycle.AndroidViewModel
class MainViewModel(application: Application) : AndroidViewModel(application)
@@ -0,0 +1,18 @@
package com.rtbishop.lookingsat.ui
import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.fragment.app.Fragment
import com.rtbishop.lookingsat.R
class CreditsFragment : Fragment() {
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
return inflater.inflate(R.layout.fragment_credits, container, false)
}
}
@@ -0,0 +1,24 @@
package com.rtbishop.lookingsat.ui
import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.fragment.app.Fragment
import androidx.lifecycle.ViewModelProviders
import com.rtbishop.lookingsat.MainViewModel
import com.rtbishop.lookingsat.R
class RadarFragment : Fragment() {
private lateinit var viewModel: MainViewModel
override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
viewModel = ViewModelProviders.of(this).get(MainViewModel::class.java)
return inflater.inflate(R.layout.fragment_radar, container, false)
}
}
@@ -0,0 +1,24 @@
package com.rtbishop.lookingsat.ui
import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.fragment.app.Fragment
import androidx.lifecycle.ViewModelProviders
import com.rtbishop.lookingsat.MainViewModel
import com.rtbishop.lookingsat.R
class SettingsFragment : Fragment() {
private lateinit var viewModel: MainViewModel
override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
viewModel = ViewModelProviders.of(this).get(MainViewModel::class.java)
return inflater.inflate(R.layout.fragment_sky, container, false)
}
}
@@ -0,0 +1,24 @@
package com.rtbishop.lookingsat.ui
import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.fragment.app.Fragment
import androidx.lifecycle.ViewModelProviders
import com.rtbishop.lookingsat.MainViewModel
import com.rtbishop.lookingsat.R
class SkyFragment : Fragment() {
private lateinit var viewModel: MainViewModel
override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
viewModel = ViewModelProviders.of(this).get(MainViewModel::class.java)
return inflater.inflate(R.layout.fragment_sky, container, false)
}
}
@@ -0,0 +1,24 @@
package com.rtbishop.lookingsat.ui
import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.fragment.app.Fragment
import androidx.lifecycle.ViewModelProviders
import com.rtbishop.lookingsat.MainViewModel
import com.rtbishop.lookingsat.R
class WorldMapFragment : Fragment() {
private lateinit var viewModel: MainViewModel
override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
viewModel = ViewModelProviders.of(this).get(MainViewModel::class.java)
return inflater.inflate(R.layout.fragment_worldmap, container, false)
}
}