ui clean up from template
This commit is contained in:
@@ -2,21 +2,23 @@ package sh.sar.gridflow
|
|||||||
|
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.view.Menu
|
import android.view.Menu
|
||||||
import com.google.android.material.snackbar.Snackbar
|
import android.widget.TextView
|
||||||
import com.google.android.material.navigation.NavigationView
|
import androidx.appcompat.app.AppCompatActivity
|
||||||
|
import androidx.drawerlayout.widget.DrawerLayout
|
||||||
import androidx.navigation.findNavController
|
import androidx.navigation.findNavController
|
||||||
import androidx.navigation.ui.AppBarConfiguration
|
import androidx.navigation.ui.AppBarConfiguration
|
||||||
import androidx.navigation.ui.navigateUp
|
import androidx.navigation.ui.navigateUp
|
||||||
import androidx.navigation.ui.setupActionBarWithNavController
|
import androidx.navigation.ui.setupActionBarWithNavController
|
||||||
import androidx.navigation.ui.setupWithNavController
|
import androidx.navigation.ui.setupWithNavController
|
||||||
import androidx.drawerlayout.widget.DrawerLayout
|
import com.google.android.material.navigation.NavigationView
|
||||||
import androidx.appcompat.app.AppCompatActivity
|
|
||||||
import sh.sar.gridflow.databinding.ActivityMainBinding
|
import sh.sar.gridflow.databinding.ActivityMainBinding
|
||||||
|
import sh.sar.gridflow.utils.SecureStorage
|
||||||
|
|
||||||
class MainActivity : AppCompatActivity() {
|
class MainActivity : AppCompatActivity() {
|
||||||
|
|
||||||
private lateinit var appBarConfiguration: AppBarConfiguration
|
private lateinit var appBarConfiguration: AppBarConfiguration
|
||||||
private lateinit var binding: ActivityMainBinding
|
private lateinit var binding: ActivityMainBinding
|
||||||
|
private lateinit var secureStorage: SecureStorage
|
||||||
|
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
@@ -24,27 +26,37 @@ class MainActivity : AppCompatActivity() {
|
|||||||
binding = ActivityMainBinding.inflate(layoutInflater)
|
binding = ActivityMainBinding.inflate(layoutInflater)
|
||||||
setContentView(binding.root)
|
setContentView(binding.root)
|
||||||
|
|
||||||
|
secureStorage = SecureStorage(this)
|
||||||
|
|
||||||
setSupportActionBar(binding.appBarMain.toolbar)
|
setSupportActionBar(binding.appBarMain.toolbar)
|
||||||
|
|
||||||
binding.appBarMain.fab.setOnClickListener { view ->
|
|
||||||
Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
|
|
||||||
.setAction("Action", null)
|
|
||||||
.setAnchorView(R.id.fab).show()
|
|
||||||
}
|
|
||||||
val drawerLayout: DrawerLayout = binding.drawerLayout
|
val drawerLayout: DrawerLayout = binding.drawerLayout
|
||||||
val navView: NavigationView = binding.navView
|
val navView: NavigationView = binding.navView
|
||||||
val navController = findNavController(R.id.nav_host_fragment_content_main)
|
val navController = findNavController(R.id.nav_host_fragment_content_main)
|
||||||
// Passing each menu ID as a set of Ids because each
|
|
||||||
// menu should be considered as top level destinations.
|
// Update navigation header with user info
|
||||||
|
updateNavHeader(navView)
|
||||||
|
|
||||||
|
// Only Home in the navigation
|
||||||
appBarConfiguration = AppBarConfiguration(
|
appBarConfiguration = AppBarConfiguration(
|
||||||
setOf(
|
setOf(R.id.nav_home), drawerLayout
|
||||||
R.id.nav_home, R.id.nav_gallery, R.id.nav_slideshow
|
|
||||||
), drawerLayout
|
|
||||||
)
|
)
|
||||||
setupActionBarWithNavController(navController, appBarConfiguration)
|
setupActionBarWithNavController(navController, appBarConfiguration)
|
||||||
navView.setupWithNavController(navController)
|
navView.setupWithNavController(navController)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun updateNavHeader(navView: NavigationView) {
|
||||||
|
val headerView = navView.getHeaderView(0)
|
||||||
|
val nameTextView = headerView.findViewById<TextView>(R.id.nav_header_name)
|
||||||
|
val mobileTextView = headerView.findViewById<TextView>(R.id.nav_header_mobile)
|
||||||
|
val emailTextView = headerView.findViewById<TextView>(R.id.nav_header_email)
|
||||||
|
|
||||||
|
// Load user info from secure storage
|
||||||
|
nameTextView.text = secureStorage.getUserName() ?: "User"
|
||||||
|
mobileTextView.text = secureStorage.getMobile() ?: ""
|
||||||
|
emailTextView.text = secureStorage.getUserEmail() ?: ""
|
||||||
|
}
|
||||||
|
|
||||||
override fun onCreateOptionsMenu(menu: Menu): Boolean {
|
override fun onCreateOptionsMenu(menu: Menu): Boolean {
|
||||||
// Inflate the menu; this adds items to the action bar if it is present.
|
// Inflate the menu; this adds items to the action bar if it is present.
|
||||||
menuInflater.inflate(R.menu.main, menu)
|
menuInflater.inflate(R.menu.main, menu)
|
||||||
|
|||||||
@@ -22,13 +22,4 @@
|
|||||||
|
|
||||||
<include layout="@layout/content_main" />
|
<include layout="@layout/content_main" />
|
||||||
|
|
||||||
<com.google.android.material.floatingactionbutton.FloatingActionButton
|
|
||||||
android:id="@+id/fab"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_gravity="bottom|end"
|
|
||||||
android:layout_marginEnd="@dimen/fab_margin"
|
|
||||||
android:layout_marginBottom="16dp"
|
|
||||||
app:srcCompat="@android:drawable/ic_dialog_email" />
|
|
||||||
|
|
||||||
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
||||||
@@ -21,15 +21,23 @@
|
|||||||
app:srcCompat="@mipmap/ic_launcher_round" />
|
app:srcCompat="@mipmap/ic_launcher_round" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
|
android:id="@+id/nav_header_name"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:paddingTop="@dimen/nav_header_vertical_spacing"
|
android:paddingTop="@dimen/nav_header_vertical_spacing"
|
||||||
android:text="@string/nav_header_title"
|
android:text="Shihaam Abdul Rahman"
|
||||||
android:textAppearance="@style/TextAppearance.AppCompat.Body1" />
|
android:textAppearance="@style/TextAppearance.AppCompat.Body1" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/textView"
|
android:id="@+id/nav_header_mobile"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="@string/nav_header_subtitle" />
|
android:text="9198026" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/nav_header_email"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="shihaam_ab_r@outlook.com" />
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
@@ -8,13 +8,5 @@
|
|||||||
android:id="@+id/nav_home"
|
android:id="@+id/nav_home"
|
||||||
android:icon="@drawable/ic_menu_camera"
|
android:icon="@drawable/ic_menu_camera"
|
||||||
android:title="@string/menu_home" />
|
android:title="@string/menu_home" />
|
||||||
<item
|
|
||||||
android:id="@+id/nav_gallery"
|
|
||||||
android:icon="@drawable/ic_menu_gallery"
|
|
||||||
android:title="@string/menu_gallery" />
|
|
||||||
<item
|
|
||||||
android:id="@+id/nav_slideshow"
|
|
||||||
android:icon="@drawable/ic_menu_slideshow"
|
|
||||||
android:title="@string/menu_slideshow" />
|
|
||||||
</group>
|
</group>
|
||||||
</menu>
|
</menu>
|
||||||
@@ -1,9 +1,5 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<menu xmlns:android="http://schemas.android.com/apk/res/android"
|
<menu xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||||
<item
|
<!-- Empty menu - no 3-dot menu items -->
|
||||||
android:id="@+id/action_settings"
|
|
||||||
android:orderInCategory="100"
|
|
||||||
android:title="@string/action_settings"
|
|
||||||
app:showAsAction="never" />
|
|
||||||
</menu>
|
</menu>
|
||||||
@@ -11,15 +11,4 @@
|
|||||||
android:label="@string/menu_home"
|
android:label="@string/menu_home"
|
||||||
tools:layout="@layout/fragment_home" />
|
tools:layout="@layout/fragment_home" />
|
||||||
|
|
||||||
<fragment
|
|
||||||
android:id="@+id/nav_gallery"
|
|
||||||
android:name="sh.sar.gridflow.ui.gallery.GalleryFragment"
|
|
||||||
android:label="@string/menu_gallery"
|
|
||||||
tools:layout="@layout/fragment_gallery" />
|
|
||||||
|
|
||||||
<fragment
|
|
||||||
android:id="@+id/nav_slideshow"
|
|
||||||
android:name="sh.sar.gridflow.ui.slideshow.SlideshowFragment"
|
|
||||||
android:label="@string/menu_slideshow"
|
|
||||||
tools:layout="@layout/fragment_slideshow" />
|
|
||||||
</navigation>
|
</navigation>
|
||||||
Reference in New Issue
Block a user