From e294f1b324d7c8118d814260a9f779ccca74a14f Mon Sep 17 00:00:00 2001 From: devShaurya Date: Mon, 4 Mar 2019 23:39:39 +0530 Subject: [PATCH 1/2] added some code Not sure how to proceed and it might take away most of the screen space --- .../com/example/techncult/Councilinfo.java | 18 ++++++ .../java/com/example/techncult/Events.java | 19 ++++++ .../com/example/techncult/MainActivity.java | 60 +++++++++++++++++-- .../example/techncult/TabPagerAdapter.java | 28 ++++----- app/src/main/res/layout/activity_main.xml | 40 ++++++++++++- app/src/main/res/layout/council_fragment.xml | 6 ++ app/src/main/res/values/strings.xml | 4 +- 7 files changed, 150 insertions(+), 25 deletions(-) create mode 100644 app/src/main/java/com/example/techncult/Councilinfo.java create mode 100644 app/src/main/java/com/example/techncult/Events.java create mode 100644 app/src/main/res/layout/council_fragment.xml diff --git a/app/src/main/java/com/example/techncult/Councilinfo.java b/app/src/main/java/com/example/techncult/Councilinfo.java new file mode 100644 index 0000000..01c1ae0 --- /dev/null +++ b/app/src/main/java/com/example/techncult/Councilinfo.java @@ -0,0 +1,18 @@ +package com.example.techncult; + +import android.os.Bundle; +import android.support.annotation.NonNull; +import android.support.annotation.Nullable; +import android.support.v4.app.Fragment; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +public class Councilinfo extends Fragment { + @Nullable + @Override + public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { + View view=inflater.inflate(R.layout.council_fragment,container,false); + return view; + } +} diff --git a/app/src/main/java/com/example/techncult/Events.java b/app/src/main/java/com/example/techncult/Events.java new file mode 100644 index 0000000..fb40ff7 --- /dev/null +++ b/app/src/main/java/com/example/techncult/Events.java @@ -0,0 +1,19 @@ +package com.example.techncult; + +import android.os.Bundle; +import android.support.annotation.NonNull; +import android.support.annotation.Nullable; +import android.support.v4.app.Fragment; +import android.support.v4.view.ViewPager; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +public class Events extends Fragment { + @Nullable + @Override + public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { + View view=inflater.inflate(R.layout.events_fragment,container,false); + return view; + } +} diff --git a/app/src/main/java/com/example/techncult/MainActivity.java b/app/src/main/java/com/example/techncult/MainActivity.java index 208d1b8..883201e 100644 --- a/app/src/main/java/com/example/techncult/MainActivity.java +++ b/app/src/main/java/com/example/techncult/MainActivity.java @@ -2,32 +2,35 @@ import android.graphics.Color; import android.graphics.drawable.GradientDrawable; +import android.os.Bundle; import android.support.design.widget.TabLayout; +import android.support.v4.app.Fragment; import android.support.v4.view.ViewPager; import android.support.v7.app.AppCompatActivity; -import android.os.Bundle; import android.support.v7.widget.Toolbar; import android.widget.LinearLayout; +import java.util.ArrayList; +import java.util.List; + public class MainActivity extends AppCompatActivity { Toolbar toolbar; TabPagerAdapter tabPagerAdapter; ViewPager viewPager; LinearLayout mainlinearLayout; - TabLayout tabLayout; + TabLayout tabLayout,bottomtabLayout; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); + toolbar=findViewById(R.id.toolbar); - tabPagerAdapter=new TabPagerAdapter(getSupportFragmentManager()); tabLayout=findViewById(R.id.tabLayout); + bottomtabLayout=findViewById(R.id.tabbottom); viewPager=findViewById(R.id.viewPager); mainlinearLayout=findViewById(R.id.mainLinearLayout); - viewPager.setAdapter(tabPagerAdapter); - tabLayout.setupWithViewPager(viewPager); setSupportActionBar(toolbar); LinearLayout linearLayout=(LinearLayout)tabLayout.getChildAt(0); linearLayout.setShowDividers(LinearLayout.SHOW_DIVIDER_MIDDLE); @@ -36,7 +39,54 @@ protected void onCreate(Bundle savedInstanceState) { drawable.setSize(2,1); linearLayout.setDividerDrawable(drawable); linearLayout.setDividerPadding(2); + tabLayout.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() { + @Override + public void onTabSelected(TabLayout.Tab tab) { + if(tab.getText()=="Technical Council"){ + List fragmentListbottom=new ArrayList<>(); + fragmentListbottom.add(new Events()); + fragmentListbottom.add(new Councilinfo()); + fragmentListbottom.add(new PastEvents()); + List fragmentTitle=new ArrayList<>(); + fragmentTitle.add("EVENTS"); + fragmentTitle.add("Council Info"); + fragmentTitle.add("Past Events"); + fragmentTitle.add(); + tabPagerAdapter=new TabPagerAdapter(getSupportFragmentManager(),fragmentListbottom, + fragmentTitle); + viewPager.setAdapter(tabPagerAdapter); + bottomtabLayout.setupWithViewPager(viewPager); + }else{ + List fragmentListbottom=new ArrayList<>(); + fragmentListbottom.add(new Events()); + fragmentListbottom.add(new Councilinfo()); + fragmentListbottom.add(new PastEvents()); + List fragmentTitle=new ArrayList<>(); + fragmentTitle.add("EVENTS"); + fragmentTitle.add("Council Info"); + fragmentTitle.add("Past Events"); + fragmentTitle.add(); + tabPagerAdapter=new TabPagerAdapter(getSupportFragmentManager(),fragmentListbottom, + fragmentTitle); + viewPager.setAdapter(tabPagerAdapter); + bottomtabLayout.setupWithViewPager(viewPager); + + } + + } + + @Override + public void onTabUnselected(TabLayout.Tab tab) { + + } + + @Override + public void onTabReselected(TabLayout.Tab tab) { + + } + }); } + } diff --git a/app/src/main/java/com/example/techncult/TabPagerAdapter.java b/app/src/main/java/com/example/techncult/TabPagerAdapter.java index b0a5787..985faca 100644 --- a/app/src/main/java/com/example/techncult/TabPagerAdapter.java +++ b/app/src/main/java/com/example/techncult/TabPagerAdapter.java @@ -5,37 +5,33 @@ import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentPagerAdapter; +import java.util.List; + public class TabPagerAdapter extends FragmentPagerAdapter { - public TabPagerAdapter(FragmentManager fm) { + List fragmentList; + List fragmentTitle; + public TabPagerAdapter(FragmentManager fm,List fragmentList, + List fragmentTitle) { super(fm); + this.fragmentList=fragmentList; + this.fragmentTitle=fragmentTitle; } @Nullable @Override public CharSequence getPageTitle(int position) { - switch (position){ - case 0: - return "Tech Events"; - case 1: - return "Cultural Events"; - } - return null; + return fragmentTitle.get(position); } @Override public Fragment getItem(int i) { - switch (i){ - case 0: - return new Technical(); - case 1: - return new Cultural(); - } - return null; + return fragmentList.get(i); + } @Override public int getCount() { - return 2; + return fragmentList.size(); } } diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index 3d3a1f1..f283ad9 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -29,11 +29,13 @@ @@ -41,8 +43,42 @@ - \ No newline at end of file + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/council_fragment.xml b/app/src/main/res/layout/council_fragment.xml new file mode 100644 index 0000000..d8fb324 --- /dev/null +++ b/app/src/main/res/layout/council_fragment.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index feb59b3..d5edeb1 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1,5 +1,5 @@ TechNCult - Cultural Events - Tech Events + Cultural Council + Technical Council From bdf4d32e34e233ca9d4fff6d13dd13d5028cc142 Mon Sep 17 00:00:00 2001 From: devShaurya Date: Tue, 5 Mar 2019 12:51:15 +0530 Subject: [PATCH 2/2] bottom tablayout Complted not working as aspected and not looking good --- .../com/example/techncult/Councilinfo.java | 14 ++++++ .../java/com/example/techncult/Events.java | 17 ++++++- .../java/com/example/techncult/Important.java | 28 +++++++++++ .../com/example/techncult/MainActivity.java | 47 ++++++----------- .../com/example/techncult/PastEvents.java | 32 ++++++++++++ .../example/techncult/TabPagerAdapter.java | 50 +++++++++++++++---- app/src/main/res/layout/council_fragment.xml | 17 ++++++- app/src/main/res/layout/events_fragment.xml | 22 ++++++++ .../main/res/layout/important_fragment.xml | 21 ++++++++ .../main/res/layout/pastevents_fragment.xml | 19 +++++++ 10 files changed, 221 insertions(+), 46 deletions(-) create mode 100644 app/src/main/java/com/example/techncult/Important.java create mode 100644 app/src/main/java/com/example/techncult/PastEvents.java create mode 100644 app/src/main/res/layout/events_fragment.xml create mode 100644 app/src/main/res/layout/important_fragment.xml create mode 100644 app/src/main/res/layout/pastevents_fragment.xml diff --git a/app/src/main/java/com/example/techncult/Councilinfo.java b/app/src/main/java/com/example/techncult/Councilinfo.java index 01c1ae0..fe9d8de 100644 --- a/app/src/main/java/com/example/techncult/Councilinfo.java +++ b/app/src/main/java/com/example/techncult/Councilinfo.java @@ -7,12 +7,26 @@ import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; +import android.widget.TextView; public class Councilinfo extends Fragment { + public Councilinfo() { + } + @Nullable @Override public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View view=inflater.inflate(R.layout.council_fragment,container,false); + Bundle bundle=getArguments(); + TextView coun=view.findViewById(R.id.coun); + int tech=bundle.getInt("tech"); + if(tech==0){ + coun.setText("tech evnts"); + }else{ + coun.setText("Cult events"); + } + + return view; } } diff --git a/app/src/main/java/com/example/techncult/Events.java b/app/src/main/java/com/example/techncult/Events.java index fb40ff7..fb73d2f 100644 --- a/app/src/main/java/com/example/techncult/Events.java +++ b/app/src/main/java/com/example/techncult/Events.java @@ -4,16 +4,31 @@ import android.support.annotation.NonNull; import android.support.annotation.Nullable; import android.support.v4.app.Fragment; -import android.support.v4.view.ViewPager; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; +import android.widget.TextView; public class Events extends Fragment { + int tech; + + public Events(){ + + } + @Nullable @Override public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View view=inflater.inflate(R.layout.events_fragment,container,false); + + Bundle bundle=getArguments(); + tech=bundle.getInt("tech"); + TextView ev=view.findViewById(R.id.events); + if(tech==0){ + ev.setText("tech evnts"); + }else{ + ev.setText("Cult events"); + } return view; } } diff --git a/app/src/main/java/com/example/techncult/Important.java b/app/src/main/java/com/example/techncult/Important.java new file mode 100644 index 0000000..981dedb --- /dev/null +++ b/app/src/main/java/com/example/techncult/Important.java @@ -0,0 +1,28 @@ +package com.example.techncult; + +import android.os.Bundle; +import android.support.annotation.NonNull; +import android.support.annotation.Nullable; +import android.support.v4.app.Fragment; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.TextView; + +public class Important extends Fragment { + public Important() { + } + + @Nullable + @Override + public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { + View view=inflater.inflate(R.layout.important_fragment,container,false); + + TextView imp=view.findViewById(R.id.imp); + imp.setText("IMPORTANT"); + + + + return view; + } +} diff --git a/app/src/main/java/com/example/techncult/MainActivity.java b/app/src/main/java/com/example/techncult/MainActivity.java index 883201e..de6a625 100644 --- a/app/src/main/java/com/example/techncult/MainActivity.java +++ b/app/src/main/java/com/example/techncult/MainActivity.java @@ -4,15 +4,12 @@ import android.graphics.drawable.GradientDrawable; import android.os.Bundle; import android.support.design.widget.TabLayout; -import android.support.v4.app.Fragment; import android.support.v4.view.ViewPager; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.Toolbar; +import android.util.Log; import android.widget.LinearLayout; -import java.util.ArrayList; -import java.util.List; - public class MainActivity extends AppCompatActivity { Toolbar toolbar; TabPagerAdapter tabPagerAdapter; @@ -39,40 +36,24 @@ protected void onCreate(Bundle savedInstanceState) { drawable.setSize(2,1); linearLayout.setDividerDrawable(drawable); linearLayout.setDividerPadding(2); + + tabPagerAdapter=new TabPagerAdapter(getSupportFragmentManager(),0); + viewPager.setAdapter(tabPagerAdapter); + bottomtabLayout.setupWithViewPager(viewPager); + tabLayout.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() { @Override public void onTabSelected(TabLayout.Tab tab) { - if(tab.getText()=="Technical Council"){ - List fragmentListbottom=new ArrayList<>(); - fragmentListbottom.add(new Events()); - fragmentListbottom.add(new Councilinfo()); - fragmentListbottom.add(new PastEvents()); - List fragmentTitle=new ArrayList<>(); - fragmentTitle.add("EVENTS"); - fragmentTitle.add("Council Info"); - fragmentTitle.add("Past Events"); - fragmentTitle.add(); - tabPagerAdapter=new TabPagerAdapter(getSupportFragmentManager(),fragmentListbottom, - fragmentTitle); - viewPager.setAdapter(tabPagerAdapter); - bottomtabLayout.setupWithViewPager(viewPager); - }else{ - List fragmentListbottom=new ArrayList<>(); - fragmentListbottom.add(new Events()); - fragmentListbottom.add(new Councilinfo()); - fragmentListbottom.add(new PastEvents()); - List fragmentTitle=new ArrayList<>(); - fragmentTitle.add("EVENTS"); - fragmentTitle.add("Council Info"); - fragmentTitle.add("Past Events"); - fragmentTitle.add(); - tabPagerAdapter=new TabPagerAdapter(getSupportFragmentManager(),fragmentListbottom, - fragmentTitle); - viewPager.setAdapter(tabPagerAdapter); - bottomtabLayout.setupWithViewPager(viewPager); - + int tech=1; + Log.d("msg",tab.getText().toString()); + if(tab.getText().toString().equals("Technical Council")){ + tech=0; } + TabPagerAdapter tabPagerAdapter2=new TabPagerAdapter(getSupportFragmentManager(),tech); + viewPager.setAdapter(tabPagerAdapter2); + bottomtabLayout.setupWithViewPager(viewPager); + } @Override diff --git a/app/src/main/java/com/example/techncult/PastEvents.java b/app/src/main/java/com/example/techncult/PastEvents.java new file mode 100644 index 0000000..bc97463 --- /dev/null +++ b/app/src/main/java/com/example/techncult/PastEvents.java @@ -0,0 +1,32 @@ +package com.example.techncult; + + +import android.os.Bundle; +import android.support.annotation.NonNull; +import android.support.annotation.Nullable; +import android.support.v4.app.Fragment; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.TextView; + +public class PastEvents extends Fragment { + public PastEvents() { + } + + @Nullable + @Override + public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { + View view=inflater.inflate(R.layout.pastevents_fragment,container,false); + Bundle bundle=getArguments(); + int tech=bundle.getInt("tech"); + TextView past=view.findViewById(R.id.past); + if(tech==0){ + past.setText("tech evnts"); + }else{ + past.setText("Cult events"); + } + + return view; + } +} diff --git a/app/src/main/java/com/example/techncult/TabPagerAdapter.java b/app/src/main/java/com/example/techncult/TabPagerAdapter.java index 985faca..65fc223 100644 --- a/app/src/main/java/com/example/techncult/TabPagerAdapter.java +++ b/app/src/main/java/com/example/techncult/TabPagerAdapter.java @@ -1,37 +1,65 @@ package com.example.techncult; +import android.os.Bundle; import android.support.annotation.Nullable; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentPagerAdapter; -import java.util.List; - public class TabPagerAdapter extends FragmentPagerAdapter { - List fragmentList; - List fragmentTitle; - public TabPagerAdapter(FragmentManager fm,List fragmentList, - List fragmentTitle) { + int tech; + + public TabPagerAdapter(FragmentManager fm,int tech) { super(fm); - this.fragmentList=fragmentList; - this.fragmentTitle=fragmentTitle; + this.tech=tech; } @Nullable @Override public CharSequence getPageTitle(int position) { - return fragmentTitle.get(position); + switch (position){ + case 0: + return "EVENTS"; + case 1: + return "Council Info"; + case 2: + return "Past Events"; + case 3: + return "Important"; + } + + return null; } @Override public Fragment getItem(int i) { - return fragmentList.get(i); + Bundle bundle=new Bundle(); + bundle.putInt("tech",tech); + switch (i){ + case 0: + Events events=new Events(); + + events.setArguments(bundle); + return events; + case 1: + Councilinfo councilinfo=new Councilinfo(); + + councilinfo.setArguments(bundle); + return councilinfo; + case 2: + PastEvents pastEvents=new PastEvents(); + pastEvents.setArguments(bundle); + return pastEvents; + case 3: + return new Important(); + } + return null; } @Override public int getCount() { - return fragmentList.size(); + return 4; } } diff --git a/app/src/main/res/layout/council_fragment.xml b/app/src/main/res/layout/council_fragment.xml index d8fb324..d3e234b 100644 --- a/app/src/main/res/layout/council_fragment.xml +++ b/app/src/main/res/layout/council_fragment.xml @@ -1,6 +1,21 @@ + \ No newline at end of file diff --git a/app/src/main/res/layout/events_fragment.xml b/app/src/main/res/layout/events_fragment.xml new file mode 100644 index 0000000..440efca --- /dev/null +++ b/app/src/main/res/layout/events_fragment.xml @@ -0,0 +1,22 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/important_fragment.xml b/app/src/main/res/layout/important_fragment.xml new file mode 100644 index 0000000..328aba2 --- /dev/null +++ b/app/src/main/res/layout/important_fragment.xml @@ -0,0 +1,21 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/pastevents_fragment.xml b/app/src/main/res/layout/pastevents_fragment.xml new file mode 100644 index 0000000..641edee --- /dev/null +++ b/app/src/main/res/layout/pastevents_fragment.xml @@ -0,0 +1,19 @@ + + + + + \ No newline at end of file