Advertisement
Guest User

Untitled

a guest
May 26th, 2019
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.88 KB | None | 0 0
  1. package info.devexchanges.navvp;
  2.  
  3. import android.app.Activity;
  4. import android.content.Context;
  5. import android.content.Intent;
  6. import android.content.res.Resources;
  7. import android.content.res.TypedArray;
  8. import android.graphics.Typeface;
  9. import android.support.design.widget.NavigationView;
  10. import android.support.design.widget.TabLayout;
  11. import android.support.v4.view.GravityCompat;
  12. import android.support.v4.view.ViewPager;
  13. import android.support.v4.widget.DrawerLayout;
  14. import android.support.v7.app.ActionBarDrawerToggle;
  15. import android.support.v7.app.AppCompatActivity;
  16. import android.os.Bundle;
  17. import android.support.v7.widget.Toolbar;
  18. import android.util.SparseArray;
  19. import android.util.TypedValue;
  20. import android.view.Gravity;
  21. import android.view.MenuItem;
  22. import android.view.View;
  23. import android.view.ViewGroup;
  24. import android.widget.Button;
  25. import android.widget.LinearLayout;
  26. import android.widget.RelativeLayout;
  27. import android.widget.TextView;
  28. import android.widget.Toast;
  29.  
  30. public class MainActivity extends AppCompatActivity implements NavigationView.OnNavigationItemSelectedListener{
  31.  
  32. private ViewPager viewPager;
  33. private DrawerLayout drawer;
  34. // private RightSideDrawerLayout drawer;
  35. private TabLayout tabLayout;
  36. private String[] pageTitle = {"Mladi", "OSI", "Seniori"};
  37.  
  38. @Override
  39. protected void onCreate(Bundle savedInstanceState) {
  40. super.onCreate(savedInstanceState);
  41. setContentView(R.layout.activity_main);
  42. Utils.onActivityCreateSetTheme(this);
  43.  
  44.  
  45.  
  46.  
  47. viewPager = (ViewPager)findViewById(R.id.view_pager);
  48. Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
  49. drawer = (DrawerLayout) findViewById(R.id.drawerLayout);
  50.  
  51. setSupportActionBar(toolbar);
  52.  
  53. //create default navigation drawer toggle
  54. // ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(this, drawer, toolbar,
  55. // R.string.navigation_drawer_open, R.string.navigation_drawer_close);
  56.  
  57. ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close) {
  58. @Override
  59. public boolean onOptionsItemSelected(MenuItem item) {
  60. if (item != null && item.getItemId() == android.R.id.home) {
  61. if (drawer.isDrawerOpen(Gravity.RIGHT)) {
  62. drawer.closeDrawer(Gravity.RIGHT);
  63. } else {
  64. drawer.openDrawer(Gravity.RIGHT);
  65. }
  66. }
  67. return false;
  68. }
  69. };
  70.  
  71. toolbar.setNavigationOnClickListener(new View.OnClickListener() {
  72. @Override
  73. public void onClick(View v) {
  74. int drawerLockMode = drawer.getDrawerLockMode(Gravity.END);
  75. if (drawer.isDrawerVisible(Gravity.END) && drawerLockMode != 2) {
  76. drawer.closeDrawer(Gravity.END);
  77. } else if (drawerLockMode != 1) {
  78. drawer.openDrawer(Gravity.END);
  79. }
  80. }
  81. });
  82.  
  83. drawer.addDrawerListener(toggle);
  84. toggle.syncState();
  85.  
  86. //setting Tab layout (number of Tabs = number of ViewPager pages)
  87. tabLayout = (TabLayout) findViewById(R.id.tab_layout);
  88. for (int i = 0; i < 3; i++) {
  89. tabLayout.addTab(tabLayout.newTab().setText(pageTitle[i]));
  90. }
  91.  
  92. //set gravity for tab bar
  93. tabLayout.setTabGravity(TabLayout.GRAVITY_FILL);
  94.  
  95. //handling navigation view item event
  96. NavigationView navigationView = findViewById(R.id.nav_view);
  97. assert navigationView != null;
  98. navigationView.setNavigationItemSelectedListener(this);
  99.  
  100. //set viewpager adapter
  101. ViewPagerAdapter pagerAdapter = new ViewPagerAdapter(getSupportFragmentManager());
  102. viewPager.setAdapter(pagerAdapter);
  103.  
  104. //change Tab selection when swipe ViewPager
  105. viewPager.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(tabLayout));
  106.  
  107. //change ViewPager page when tab selected
  108. tabLayout.setOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
  109. @Override
  110. public void onTabSelected(TabLayout.Tab tab) {
  111. viewPager.setCurrentItem(tab.getPosition());
  112. }
  113.  
  114. @Override
  115. public void onTabUnselected(TabLayout.Tab tab) {
  116.  
  117. }
  118.  
  119. @Override
  120. public void onTabReselected(TabLayout.Tab tab) {
  121.  
  122. }
  123. });
  124. }
  125.  
  126. @Override
  127. public boolean onNavigationItemSelected(MenuItem item) {
  128. int id = item.getItemId();
  129.  
  130. if (id == R.id.fr1) {
  131. viewPager.setCurrentItem(0);
  132. } else if (id == R.id.fr2) {
  133. viewPager.setCurrentItem(1);
  134. } else if (id == R.id.fr3) {
  135. viewPager.setCurrentItem(2);
  136. } else if (id == R.id.fr4) {
  137. viewPager.setCurrentItem(3);
  138. } else if (id == R.id.fr5) {
  139. viewPager.setCurrentItem(0);
  140. } else if (id == R.id.test) {
  141. // this.setTheme(Utils.THEME_WHITE);
  142. // Utils.changeToTheme(this, Utils.THEME_DEFAULT);
  143. setTheme(R.style.MyFontLarge);
  144. // ViewGroup viewGroup = findViewById(android.R.id.content);
  145. // show_children(getWindow().getDecorView());
  146. getWindow().getDecorView().invalidate();
  147.  
  148.  
  149. // Resources.Theme theme = this.getTheme();
  150. // View myView = findViewById(android.R.id.content);
  151. // theme.applyStyle(R.style.MyFontSmall,true);
  152. // myView.invalidate();
  153.  
  154. /*} else if (id == R.id.go) {
  155. Intent intent = new Intent(this, DesActivity.class);
  156. intent.putExtra("string", "Go to other Activity by NavigationView item clicked!");
  157. startActivity(intent);*/
  158. } else if (id == R.id.close) {
  159. Utils.changeToTheme(this, Utils.THEME_DEFAULT);
  160. // setTheme(R.style.MyFontLarge);
  161. // finish();
  162. }
  163.  
  164. // drawer.closeDrawer(GravityCompat.START);
  165. drawer.closeDrawer(GravityCompat.END);
  166. return true;
  167. }
  168.  
  169. private void show_children(View v) {
  170. ViewGroup viewgroup=(ViewGroup)v;
  171.  
  172. for (int i=0;i<viewgroup.getChildCount();i++) {
  173. View v1=viewgroup.getChildAt(i);
  174. if (v1 instanceof ViewGroup) show_children(v1);
  175. v1.invalidate();
  176. }
  177. }
  178.  
  179. @Override
  180. public void onBackPressed() {
  181. assert drawer != null;
  182. if(drawer.isDrawerOpen(GravityCompat.END)) {
  183. drawer.closeDrawer(GravityCompat.END);
  184. // if (drawer.isDrawerOpen(GravityCompat.START)) {
  185. // drawer.closeDrawer(GravityCompat.START);
  186.  
  187. } else {
  188. super.onBackPressed();
  189.  
  190. }
  191. }
  192. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement