Guest User

Untitled

a guest
Mar 21st, 2018
55
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.29 KB | None | 0 0
  1. package com.tollywood2bollywood.t2bliveapp;
  2.  
  3. import android.content.Intent;
  4. import android.os.Bundle;
  5. import android.support.annotation.NonNull;
  6. import android.support.design.widget.BottomNavigationView;
  7. import android.support.design.widget.TabLayout;
  8. import android.support.v4.app.Fragment;
  9. import android.support.v4.app.FragmentTransaction;
  10. import android.support.v4.view.GravityCompat;
  11. import android.support.v4.view.ViewPager;
  12. import android.support.v4.widget.DrawerLayout;
  13. import android.support.v7.app.AppCompatActivity;
  14. import android.support.v7.widget.Toolbar;
  15. import android.view.Menu;
  16. import android.view.MenuItem;
  17. import android.widget.FrameLayout;
  18. import android.widget.Toast;
  19.  
  20. public class MainActivity extends AppCompatActivity {
  21.  
  22. private Toolbar mToolbar;
  23. private ViewPager mViewPager;
  24. private SectionsPagerAdapter mSectionsPagerAdapter;
  25. private TabLayout mTabLayout;
  26. private BottomNavigationView mBottomNavigation;
  27. FrameLayout mFrame;
  28. private HomeFragment homeFragment;
  29. private AboutFragment aboutFragment;
  30. private ContactFragment contactFragment;
  31.  
  32. @Override
  33. protected void onCreate(Bundle savedInstanceState) {
  34. super.onCreate(savedInstanceState);
  35. setContentView(R.layout.activity_main);
  36.  
  37. //Inflating toolbar in MainActivity
  38. mToolbar = (Toolbar) findViewById(R.id.main_page_appbar);
  39. setSupportActionBar(mToolbar);
  40.  
  41. mBottomNavigation = (BottomNavigationView)findViewById(R.id.bottom_navigator);
  42. mFrame = (FrameLayout)findViewById(R.id.main_frame);
  43.  
  44. homeFragment = new HomeFragment();
  45. aboutFragment = new AboutFragment();
  46. contactFragment = new ContactFragment();
  47.  
  48. setFragment(homeFragment);
  49.  
  50.  
  51.  
  52. mBottomNavigation.setOnNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener() {
  53. @Override
  54. public boolean onNavigationItemSelected(@NonNull MenuItem item) {
  55. int id = item.getItemId();
  56.  
  57. if (id == R.id.bottom_menu_home) {
  58. // Handle the camera action
  59. setFragment(homeFragment);
  60.  
  61. } else if (id == R.id.bottom_menu_about) {
  62. setFragment(aboutFragment);
  63.  
  64. } else if (id == R.id.bottom_menu_contact) {
  65. setFragment(contactFragment);
  66.  
  67. }
  68. return true;
  69. }
  70. });
  71.  
  72. }
  73.  
  74. private void setFragment(Fragment fragment) {
  75.  
  76. FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction();
  77. fragmentTransaction.replace(R.id.main_frame,fragment);
  78. fragmentTransaction.addToBackStack(null);
  79. fragmentTransaction.commit();
  80.  
  81.  
  82. }
  83.  
  84. }
  85.  
  86. <?xml version="1.0" encoding="utf-8"?>
  87. <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  88. xmlns:app="http://schemas.android.com/apk/res-auto"
  89. xmlns:tools="http://schemas.android.com/tools"
  90. android:layout_width="match_parent"
  91. android:layout_height="match_parent"
  92. tools:context="com.tollywood2bollywood.t2bliveapp.MainActivity">
  93.  
  94. <FrameLayout
  95. android:layout_width="match_parent"
  96. android:layout_height="match_parent"
  97. android:id="@+id/main_frame"
  98. android:layout_above="@id/bottom_navigator"
  99. android:layout_alignParentStart="true" />
  100.  
  101. <android.support.design.widget.BottomNavigationView
  102. android:layout_width="match_parent"
  103. android:layout_alignParentBottom="true"
  104. app:itemBackground="@color/colorWhite"
  105. android:id="@+id/bottom_navigator"
  106. app:menu="@menu/bottom_menu_items"
  107. android:layout_height="56dp"/>
  108.  
  109. </RelativeLayout>
  110.  
  111. package com.tollywood2bollywood.t2bliveapp;
  112.  
  113. import android.support.v7.widget.RecyclerView;
  114. import android.view.LayoutInflater;
  115. import android.view.View;
  116. import android.view.ViewGroup;
  117. import android.widget.ImageView;
  118. import android.widget.TextView;
  119.  
  120.  
  121. //Single RecyclerViewAdapter for NewsList in Different Category
  122.  
  123. public class NewsListAdapter extends RecyclerView.Adapter<NewsListAdapter.RecycleHolder>{
  124.  
  125. private String[] mHeading;
  126. private int[] mImage;
  127. public NewsListAdapter(String[] heading, int[] image){
  128.  
  129. this.mHeading = heading;
  130. this.mImage = image;
  131.  
  132. }
  133.  
  134. @Override
  135. public RecycleHolder onCreateViewHolder(ViewGroup parent, int viewType) {
  136.  
  137. LayoutInflater inflater = LayoutInflater.from(parent.getContext());
  138. View view = inflater.inflate(R.layout.newslistdesign,parent,false);
  139. return new RecycleHolder(view);
  140. }
  141.  
  142. @Override
  143. public void onBindViewHolder(RecycleHolder holder, int position) {
  144.  
  145. String head = mHeading[position];
  146. int img = mImage[position];
  147. holder.heading_news.setText(head);
  148. holder.heading_image.setImageResource(img);
  149.  
  150. }
  151.  
  152. @Override
  153. public int getItemCount() {
  154. return mHeading.length;
  155. }
  156.  
  157. public class RecycleHolder extends RecyclerView.ViewHolder {
  158.  
  159. ImageView heading_image;
  160. TextView heading_news;
  161.  
  162. public RecycleHolder(View itemView) {
  163. super(itemView);
  164. heading_image = (ImageView) itemView.findViewById(R.id.cat1_news_image);
  165. heading_news = (TextView) itemView.findViewById(R.id.cat1_news_heading);
  166. }
  167. }
  168.  
  169. }
  170.  
  171. package com.tollywood2bollywood.t2bliveapp;
  172.  
  173.  
  174. import android.os.Bundle;
  175. import android.support.design.widget.BottomNavigationView;
  176. import android.support.design.widget.TabLayout;
  177. import android.support.v4.app.Fragment;
  178. import android.support.v4.view.ViewPager;
  179. import android.support.v7.widget.Toolbar;
  180. import android.view.LayoutInflater;
  181. import android.view.View;
  182. import android.view.ViewGroup;
  183. import android.widget.FrameLayout;
  184.  
  185.  
  186. /**
  187. * A simple {@link Fragment} subclass.
  188. */
  189. public class HomeFragment extends Fragment {
  190.  
  191.  
  192. private ViewPager mViewPager;
  193. private SectionsPagerAdapter mSectionsPagerAdapter;
  194. private TabLayout mTabLayout;
  195. private BottomNavigationView mBottomNavigation;
  196. private FrameLayout mFrame;
  197.  
  198.  
  199. public HomeFragment() {
  200. // Required empty public constructor
  201. }
  202.  
  203.  
  204. @Override
  205. public View onCreateView(LayoutInflater inflater, ViewGroup container,
  206. Bundle savedInstanceState) {
  207. // Inflate the layout for this fragment
  208. View view = inflater.inflate(R.layout.fragment_home, container, false);
  209.  
  210.  
  211. //Adapting ViewPager
  212. mViewPager = (ViewPager)view.findViewById(R.id.tab_pager);
  213. mSectionsPagerAdapter = new SectionsPagerAdapter(getActivity().getSupportFragmentManager());
  214. mViewPager.setAdapter(mSectionsPagerAdapter);
  215.  
  216. //Syncing TabLayout with ViewPager
  217. mTabLayout = (TabLayout)view.findViewById(R.id.main_page_tab);
  218. mTabLayout.setupWithViewPager(mViewPager);
  219.  
  220.  
  221.  
  222.  
  223. return view;
  224. }
  225.  
  226. }
  227.  
  228. <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  229. xmlns:tools="http://schemas.android.com/tools"
  230. android:layout_width="match_parent"
  231. android:layout_height="match_parent"
  232. xmlns:app="http://schemas.android.com/apk/res-auto"
  233. tools:context="com.tollywood2bollywood.t2bliveapp.HomeFragment">
  234.  
  235. <android.support.design.widget.AppBarLayout
  236. android:layout_width="match_parent"
  237. android:layout_height="wrap_content"
  238. android:id="@+id/appBarLayout">
  239. <include layout="@layout/app_bar_layout" android:id="@+id/main_page_appbar"/>
  240.  
  241.  
  242. <android.support.design.widget.TabLayout
  243. android:layout_width="match_parent"
  244. android:id="@+id/main_page_tab"
  245. app:tabBackground="@color/colorWhite"
  246. app:tabMode="scrollable"
  247. android:elevation="2dp"
  248. app:tabSelectedTextColor="@color/colorPrimary"
  249. app:tabTextColor="@color/colorBlack"
  250. app:tabIndicatorColor="@color/colorPrimaryDark"
  251. app:tabIndicatorHeight="5dp"
  252. android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
  253. android:layout_height="40dp">
  254.  
  255. </android.support.design.widget.TabLayout>
  256. </android.support.design.widget.AppBarLayout>
  257.  
  258. <android.support.v4.view.ViewPager
  259. android:layout_width="match_parent"
  260. android:layout_height="wrap_content"
  261. android:id="@+id/tab_pager"
  262. android:layout_below="@+id/appBarLayout"/>
  263.  
  264. </RelativeLayout>
  265.  
  266. package com.tollywood2bollywood.t2bliveapp;
  267.  
  268. import android.support.v4.app.Fragment;
  269. import android.support.v4.app.FragmentManager;
  270. import android.support.v4.app.FragmentPagerAdapter;
  271.  
  272. // Adapter to Return Tab items along with their fragment
  273. class SectionsPagerAdapter extends FragmentPagerAdapter{
  274.  
  275. public SectionsPagerAdapter(FragmentManager fm) {
  276. super(fm);
  277. }
  278.  
  279. //Assigning Tab fragment to respective positions
  280. @Override
  281. public Fragment getItem(int position) {
  282.  
  283. switch (position){
  284. case 0:
  285. CategoryOne categoryOne = new CategoryOne();
  286. return categoryOne;
  287.  
  288. case 1:
  289. CategoryTwo categoryTwo = new CategoryTwo();
  290. return categoryTwo;
  291. case 2:
  292. CategoryThree categoryThree = new CategoryThree();
  293. return categoryThree;
  294. case 3:
  295. CategoryFour categoryFour = new CategoryFour();
  296. return categoryFour;
  297. case 4:
  298. CategoryFive categoryFive = new CategoryFive();
  299. return categoryFive;
  300. case 5:
  301. CategorySix categorySix = new CategorySix();
  302. return categorySix;
  303. case 6:
  304. CategorySeven categorySeven = new CategorySeven();
  305. return categorySeven;
  306. default:
  307. return null;
  308. }
  309. }
  310.  
  311.  
  312. // Returning number of Tab items.
  313. @Override
  314. public int getCount() {
  315. return 7;
  316. }
  317.  
  318.  
  319. // Assigning the name of Tab Items.
  320. public CharSequence getPageTitle(int position){
  321. switch (position){
  322. case 0:
  323. return "For You";
  324. case 1:
  325. return "World";
  326. case 2:
  327. return "Business";
  328. case 3:
  329. return "Technology";
  330. case 4:
  331. return "Sports";
  332. case 5:
  333. return "Beauty";
  334. case 6:
  335. return "Education";
  336. default:
  337. return null;
  338. }
  339. }
  340. }
Add Comment
Please, Sign In to add comment