From a4940481fa53eaab0dab6c463b58bf1b88ca758e Mon Sep 17 00:00:00 2001 From: Caesar2011 Date: Fri, 13 Jul 2018 15:47:50 +0200 Subject: [PATCH] Activity header name customizing --- .../java/de/sebse/fuplanner/MainActivity.java | 20 +++++++++++++++---- app/src/main/res/layout/nav_header_main.xml | 2 +- .../res/menu/activity_main_drawer_login.xml | 2 +- app/src/main/res/values-de/strings.xml | 2 +- app/src/main/res/values/strings.xml | 2 +- 5 files changed, 20 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/de/sebse/fuplanner/MainActivity.java b/app/src/main/java/de/sebse/fuplanner/MainActivity.java index 0ec8d7b..809ac7b 100644 --- a/app/src/main/java/de/sebse/fuplanner/MainActivity.java +++ b/app/src/main/java/de/sebse/fuplanner/MainActivity.java @@ -16,6 +16,7 @@ import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.Toolbar; import android.view.Menu; import android.view.MenuItem; +import android.widget.TextView; import java.util.Calendar; import java.util.Iterator; @@ -136,11 +137,13 @@ public class MainActivity extends AppCompatActivity FragmentTransaction fragmentTransaction; switch (id) { case R.id.nav_modules: + setTitle(R.string.courses); fragmentTransaction = fragmentManager.beginTransaction(); fragmentTransaction.replace(R.id.fragcontainer, ModulesFragment.newInstance()); fragmentTransaction.commit(); break; case R.id.nav_schedule: + setTitle(R.string.schedule); fragmentTransaction = fragmentManager.beginTransaction(); fragmentTransaction.replace(R.id.fragcontainer, ScheduleFragment.newInstance()); fragmentTransaction.commit(); @@ -209,6 +212,7 @@ public class MainActivity extends AppCompatActivity } private void toLogoutState() { + setTitle(R.string.log_in); FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); fragmentTransaction.replace(R.id.fragcontainer, LoginFragment.newInstance()); fragmentTransaction.commit(); @@ -217,12 +221,19 @@ public class MainActivity extends AppCompatActivity View header = mNavigationView.getHeaderView(0); header.findViewById(R.id.imageView).setVisibility(View.GONE); header.findViewById(R.id.login_name).setVisibility(View.GONE); - header.findViewById(R.id.login_page).setVisibility(View.VISIBLE); + header.findViewById(R.id.btn_login_page).setVisibility(View.VISIBLE); + header.findViewById(R.id.btn_login_page).setOnClickListener(v -> { + DrawerLayout drawer = findViewById(R.id.drawer_layout); + if (drawer.isDrawerOpen(GravityCompat.START)) { + drawer.closeDrawer(GravityCompat.START); + } + }); mNavigationView.getMenu().clear(); mNavigationView.inflateMenu(R.menu.activity_main_drawer); } private void toLoginState(String username) { + setTitle(R.string.courses); FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); fragmentTransaction.replace(R.id.fragcontainer, ModulesFragment.newInstance()); fragmentTransaction.commit(); @@ -231,7 +242,8 @@ public class MainActivity extends AppCompatActivity View header = mNavigationView.getHeaderView(0); header.findViewById(R.id.imageView).setVisibility(View.VISIBLE); header.findViewById(R.id.login_name).setVisibility(View.VISIBLE); - header.findViewById(R.id.login_page).setVisibility(View.GONE); + ((TextView) header.findViewById(R.id.login_name)).setText(username); + header.findViewById(R.id.btn_login_page).setVisibility(View.GONE); mNavigationView.getMenu().clear(); mNavigationView.inflateMenu(R.menu.activity_main_drawer_login); mNavigationView.setCheckedItem(R.id.nav_modules); @@ -269,8 +281,8 @@ public class MainActivity extends AppCompatActivity @Override public void onModulesFragmentInteraction(final int itemPosition) { log.d("Item clicked", itemPosition); - //getKVV().getModuleList(success -> log.d(success.get(itemPosition).title), error -> log.e(error)); - + setTitle(R.string.courses); + getKVV().getModuleList(success -> setTitle(success.get(itemPosition).title), error -> log.e(error)); FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); fragmentTransaction.replace(R.id.fragcontainer, ModDetailFragment.newInstance(itemPosition)); fragmentTransaction.commit(); diff --git a/app/src/main/res/layout/nav_header_main.xml b/app/src/main/res/layout/nav_header_main.xml index 1176a0a..2c10a22 100644 --- a/app/src/main/res/layout/nav_header_main.xml +++ b/app/src/main/res/layout/nav_header_main.xml @@ -14,7 +14,7 @@ android:theme="@style/ThemeOverlay.AppCompat.Dark">