Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.tollywood2bollywood.t2bliveapp;
- import android.content.Intent;
- import android.os.Bundle;
- import android.support.annotation.NonNull;
- import android.support.design.widget.BottomNavigationView;
- import android.support.design.widget.TabLayout;
- import android.support.v4.app.Fragment;
- import android.support.v4.app.FragmentTransaction;
- import android.support.v4.view.GravityCompat;
- import android.support.v4.view.ViewPager;
- import android.support.v4.widget.DrawerLayout;
- import android.support.v7.app.AppCompatActivity;
- import android.support.v7.widget.Toolbar;
- import android.view.Menu;
- import android.view.MenuItem;
- import android.widget.FrameLayout;
- import android.widget.Toast;
- public class MainActivity extends AppCompatActivity {
- private Toolbar mToolbar;
- private ViewPager mViewPager;
- private SectionsPagerAdapter mSectionsPagerAdapter;
- private TabLayout mTabLayout;
- private BottomNavigationView mBottomNavigation;
- FrameLayout mFrame;
- private HomeFragment homeFragment;
- private AboutFragment aboutFragment;
- private ContactFragment contactFragment;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- //Inflating toolbar in MainActivity
- mToolbar = (Toolbar) findViewById(R.id.main_page_appbar);
- setSupportActionBar(mToolbar);
- mBottomNavigation = (BottomNavigationView)findViewById(R.id.bottom_navigator);
- mFrame = (FrameLayout)findViewById(R.id.main_frame);
- homeFragment = new HomeFragment();
- aboutFragment = new AboutFragment();
- contactFragment = new ContactFragment();
- setFragment(homeFragment);
- mBottomNavigation.setOnNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener() {
- @Override
- public boolean onNavigationItemSelected(@NonNull MenuItem item) {
- int id = item.getItemId();
- if (id == R.id.bottom_menu_home) {
- // Handle the camera action
- setFragment(homeFragment);
- } else if (id == R.id.bottom_menu_about) {
- setFragment(aboutFragment);
- } else if (id == R.id.bottom_menu_contact) {
- setFragment(contactFragment);
- }
- return true;
- }
- });
- }
- private void setFragment(Fragment fragment) {
- FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction();
- fragmentTransaction.replace(R.id.main_frame,fragment);
- fragmentTransaction.addToBackStack(null);
- fragmentTransaction.commit();
- }
- }
- <?xml version="1.0" encoding="utf-8"?>
- <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:app="http://schemas.android.com/apk/res-auto"
- xmlns:tools="http://schemas.android.com/tools"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- tools:context="com.tollywood2bollywood.t2bliveapp.MainActivity">
- <FrameLayout
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:id="@+id/main_frame"
- android:layout_above="@id/bottom_navigator"
- android:layout_alignParentStart="true" />
- <android.support.design.widget.BottomNavigationView
- android:layout_width="match_parent"
- android:layout_alignParentBottom="true"
- app:itemBackground="@color/colorWhite"
- android:id="@+id/bottom_navigator"
- app:menu="@menu/bottom_menu_items"
- android:layout_height="56dp"/>
- </RelativeLayout>
- package com.tollywood2bollywood.t2bliveapp;
- import android.support.v7.widget.RecyclerView;
- import android.view.LayoutInflater;
- import android.view.View;
- import android.view.ViewGroup;
- import android.widget.ImageView;
- import android.widget.TextView;
- //Single RecyclerViewAdapter for NewsList in Different Category
- public class NewsListAdapter extends RecyclerView.Adapter<NewsListAdapter.RecycleHolder>{
- private String[] mHeading;
- private int[] mImage;
- public NewsListAdapter(String[] heading, int[] image){
- this.mHeading = heading;
- this.mImage = image;
- }
- @Override
- public RecycleHolder onCreateViewHolder(ViewGroup parent, int viewType) {
- LayoutInflater inflater = LayoutInflater.from(parent.getContext());
- View view = inflater.inflate(R.layout.newslistdesign,parent,false);
- return new RecycleHolder(view);
- }
- @Override
- public void onBindViewHolder(RecycleHolder holder, int position) {
- String head = mHeading[position];
- int img = mImage[position];
- holder.heading_news.setText(head);
- holder.heading_image.setImageResource(img);
- }
- @Override
- public int getItemCount() {
- return mHeading.length;
- }
- public class RecycleHolder extends RecyclerView.ViewHolder {
- ImageView heading_image;
- TextView heading_news;
- public RecycleHolder(View itemView) {
- super(itemView);
- heading_image = (ImageView) itemView.findViewById(R.id.cat1_news_image);
- heading_news = (TextView) itemView.findViewById(R.id.cat1_news_heading);
- }
- }
- }
- package com.tollywood2bollywood.t2bliveapp;
- import android.os.Bundle;
- import android.support.design.widget.BottomNavigationView;
- import android.support.design.widget.TabLayout;
- import android.support.v4.app.Fragment;
- import android.support.v4.view.ViewPager;
- import android.support.v7.widget.Toolbar;
- import android.view.LayoutInflater;
- import android.view.View;
- import android.view.ViewGroup;
- import android.widget.FrameLayout;
- /**
- * A simple {@link Fragment} subclass.
- */
- public class HomeFragment extends Fragment {
- private ViewPager mViewPager;
- private SectionsPagerAdapter mSectionsPagerAdapter;
- private TabLayout mTabLayout;
- private BottomNavigationView mBottomNavigation;
- private FrameLayout mFrame;
- public HomeFragment() {
- // Required empty public constructor
- }
- @Override
- public View onCreateView(LayoutInflater inflater, ViewGroup container,
- Bundle savedInstanceState) {
- // Inflate the layout for this fragment
- View view = inflater.inflate(R.layout.fragment_home, container, false);
- //Adapting ViewPager
- mViewPager = (ViewPager)view.findViewById(R.id.tab_pager);
- mSectionsPagerAdapter = new SectionsPagerAdapter(getActivity().getSupportFragmentManager());
- mViewPager.setAdapter(mSectionsPagerAdapter);
- //Syncing TabLayout with ViewPager
- mTabLayout = (TabLayout)view.findViewById(R.id.main_page_tab);
- mTabLayout.setupWithViewPager(mViewPager);
- return view;
- }
- }
- <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:tools="http://schemas.android.com/tools"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- xmlns:app="http://schemas.android.com/apk/res-auto"
- tools:context="com.tollywood2bollywood.t2bliveapp.HomeFragment">
- <android.support.design.widget.AppBarLayout
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:id="@+id/appBarLayout">
- <include layout="@layout/app_bar_layout" android:id="@+id/main_page_appbar"/>
- <android.support.design.widget.TabLayout
- android:layout_width="match_parent"
- android:id="@+id/main_page_tab"
- app:tabBackground="@color/colorWhite"
- app:tabMode="scrollable"
- android:elevation="2dp"
- app:tabSelectedTextColor="@color/colorPrimary"
- app:tabTextColor="@color/colorBlack"
- app:tabIndicatorColor="@color/colorPrimaryDark"
- app:tabIndicatorHeight="5dp"
- android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
- android:layout_height="40dp">
- </android.support.design.widget.TabLayout>
- </android.support.design.widget.AppBarLayout>
- <android.support.v4.view.ViewPager
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:id="@+id/tab_pager"
- android:layout_below="@+id/appBarLayout"/>
- </RelativeLayout>
- package com.tollywood2bollywood.t2bliveapp;
- import android.support.v4.app.Fragment;
- import android.support.v4.app.FragmentManager;
- import android.support.v4.app.FragmentPagerAdapter;
- // Adapter to Return Tab items along with their fragment
- class SectionsPagerAdapter extends FragmentPagerAdapter{
- public SectionsPagerAdapter(FragmentManager fm) {
- super(fm);
- }
- //Assigning Tab fragment to respective positions
- @Override
- public Fragment getItem(int position) {
- switch (position){
- case 0:
- CategoryOne categoryOne = new CategoryOne();
- return categoryOne;
- case 1:
- CategoryTwo categoryTwo = new CategoryTwo();
- return categoryTwo;
- case 2:
- CategoryThree categoryThree = new CategoryThree();
- return categoryThree;
- case 3:
- CategoryFour categoryFour = new CategoryFour();
- return categoryFour;
- case 4:
- CategoryFive categoryFive = new CategoryFive();
- return categoryFive;
- case 5:
- CategorySix categorySix = new CategorySix();
- return categorySix;
- case 6:
- CategorySeven categorySeven = new CategorySeven();
- return categorySeven;
- default:
- return null;
- }
- }
- // Returning number of Tab items.
- @Override
- public int getCount() {
- return 7;
- }
- // Assigning the name of Tab Items.
- public CharSequence getPageTitle(int position){
- switch (position){
- case 0:
- return "For You";
- case 1:
- return "World";
- case 2:
- return "Business";
- case 3:
- return "Technology";
- case 4:
- return "Sports";
- case 5:
- return "Beauty";
- case 6:
- return "Education";
- default:
- return null;
- }
- }
- }
Add Comment
Please, Sign In to add comment