PixelDroid-App-Android/app/src/main/java/com/h/pixeldroid/MainActivity.kt

72 lines
2.3 KiB
Kotlin
Raw Normal View History

2020-02-28 17:08:54 +01:00
package com.h.pixeldroid
import android.content.Intent
2020-02-28 17:08:54 +01:00
import android.os.Bundle
import android.view.MenuItem
import android.view.View
import android.widget.Button
import androidx.annotation.NonNull
import androidx.appcompat.app.AppCompatActivity
import androidx.core.view.GravityCompat
import androidx.drawerlayout.widget.DrawerLayout
import com.google.android.material.navigation.NavigationView
2020-02-28 17:08:54 +01:00
class MainActivity : AppCompatActivity(), NavigationView.OnNavigationItemSelectedListener {
private lateinit var drawerLayout: DrawerLayout
2020-02-28 17:08:54 +01:00
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
// Setup the drawer
drawerLayout = findViewById(R.id.drawer_layout)
val navigationView: NavigationView = findViewById(R.id.nav_view)
navigationView.setNavigationItemSelectedListener(this)
val buttonLogin = findViewById<Button>(R.id.button_start_login)
buttonLogin.setOnClickListener((View.OnClickListener {
val intent = Intent(this, LoginActivity::class.java)
startActivity(intent) }))
val button = findViewById<Button>(R.id.button)
button.setOnClickListener((View.OnClickListener {
val intent = Intent(this, ProfileActivity::class.java)
startActivity(intent) }))
}
/*
When clicking in the drawer menu, go to the corresponding activity
*/
override fun onNavigationItemSelected(@NonNull item: MenuItem): Boolean {
when (item.itemId){
R.id.nav_settings -> launchActivity(SettingsActivity())
R.id.nav_account -> launchActivity(ProfileActivity())
}
drawerLayout.closeDrawer(GravityCompat.START)
return true
}
/*
2020-03-08 20:41:01 +01:00
Launches the given activity and put it as the current one
*/
private fun launchActivity(activity: AppCompatActivity) {
val intent = Intent(this, activity::class.java)
startActivity(intent)
}
/*
2020-03-08 20:41:01 +01:00
Closes the drawer if we are clicking behind it
*/
override fun onBackPressed() {
if(drawerLayout.isDrawerOpen(GravityCompat.START)){
drawerLayout.closeDrawer(GravityCompat.START)
} else {
super.onBackPressed()
}
2020-02-28 17:08:54 +01:00
}
2020-02-28 17:08:54 +01:00
}