Sunday, 15 July 2018

TabLayout കോഡ് സിമ്പിൾ ആയി ഉണ്ടാക്കാം



slide page എങ്ങനെ  ഉണ്ടാക്കാമെന്ന്  നോക്കാം

ഒരു  പുതിയ  emty activity create ചെയ്യുക   Home activity എന്ന്  പേര്  കൊടുക്കാം


home.xml
-------------------------

 <android.support.design.widget.AppBarLayout
 android:layout_width="match_parent"
 android:layout_height="wrap_content"
>
<include layout="@Layout/custom_app_bar_layout"
andoid:id="@+id/mail_page_toolbar"

/>

////////////// ഇതിന്റെ  ഇടയിൽ  ആണ്  tablayout കൊടുക്കുന്നത്  appbar ഇത്  അങ്ങനെ  tablayout കാണാം 
<android.support.design.widget.TabLayout
------id:main_tabs-------
 android:layout_width="match_parent"
 android:layout_height="wrap_content">

</android.support.design.widget.TabLayout>

//////////////
 </android.support.design.widget.AppBarLayout>

ഇതിനു  താഴെ  ആയിട്ട്   മൂന്നു  fragment ഇനി  tablayout വെച്ച്  display ചെയ്യാം  അതിനു  വേണ്ടി  fragment ഇനി  ഇവിടെ  ഒരു  adpater ഉപയോഗിച്ചു  populate ചെയ്യാം 



ഇവിടെ  fragment viewPager ഇന്  അകത്താണ്  populate ചെയ്യുന്നത് 

<android.support.v4.view.ViewPager
-----id:tabPager--
   android:layout_width="match_parent"
   android:layout_height="wrap_content">

</android.support.v4.view.ViewPager>

*******************************************
Fragments
----------------------
ഇനി  മൂന്നു  empty fragment ഉണ്ടാക്കുക  
1.Onnaamfragment.java
2.Randaamfragment.java
3.Moonnamfragment,java



SectionPageradapter.java
--------------------------------- 

ഇനി  ഒരു  SectionPageradapter class ഉണ്ടാക്കാം 

ഇതിനെ  FragmentPagerAdapter കൊണ്ട്  extends ചെയ്യാം 

calss SectionPageradapter extends FragmentPagerAdapter{}

unimplements methods കൽ  എല്ലാം  implement ചെയ്യാം  Fragment getItem (int i),int getCount(), method ആണ്  important ആയിട്ടുള്ളത് 

ഒരു  constrauctor കൂടെ  ഉണ്ടാക്കുക 

public SectionPageradapter (FragmentManager fm){super(fm);}


ഇനി  Fragment getItem method ഇത്  മൂന്നു  cases ഉണ്ടാക്കാം

switch(i){
case 0:
  Onnaamfragment mOnnaamfragment=new Onnaamfragment();
  return mOnnaamfragment;
case 1:
  Randaamfragment mRandaamfragment=new Randaamfragment();
  return mRandaamfragment;
case 2:
  Moonnamfragment mMoonnamfragment=new Moonnamfragment();
  mMoonnamfragment;
default:
  return null
}

ഇനി  int getCount method ഇത്  return 3 ആക്കി  set ചെയ്യുക 

@Override
public int getCount(){
return 3;
}

 ഇനി  tab layout ഇത്  title കാണാൻ  ഒരു  method കൂടെ   ഉണ്ടാക്കുക

public Charsequence getPageTitle(int position){
switch(i){
case 0:
  return "Onnaamfragment";
case 1:
  return "Randaamfragment";
case 2:
  return "Moonnamfragment ";
default:
  return null
}
}

 Ini Home.java classilotu pokaam
private ViewPager mviewPager; \\   ആദ്യം  ഒരു  global variable ഉണ്ടാക്കാം    
private SectionPageradapter msectionpageradapter;
private TabLayout mtablayout; 



mviewPager= findviewby id:tabPager വെച്ച്  കൊണ്ട്  link ചെയ്യാം  \\onCreate bundle ഇത്  ആണ്  ഇത്  ചെയ്യുക 
ഇപ്പോൾ  adapter ക്ലാസ്സിൽ   മൂന്നു  fragmet ഇനിയും  mention ചെയ്തിട്ടുണ്ട്  അതിനെ  viewpager വെച്ച്  കൊണ്ട്  set ചെയ്യാം  
msectionpageradapter=new SectionPageradapter (SupportFragmentManager());
mviewPager.setAdapter(msectionpageradapter);
mtablayout=(TabLayout) findviewbyid main_tabs
mtablayout.setupWithViewPager(mviewPager);


No comments:

Post a Comment