2013-05-13 2 views

답변

0

는이 같은 FragmentPagerAdapter의 탭을 설정할 수 있습니다

mTabsAdapter.addTab(mTabHost.newTabSpec("your_fragment_tag").setIndicator("Tab Text", 
      res.getDrawable(R.drawable.tab_icon)), 
      YourFragment.class, null); 
+0

동일한 문제가 있지만이 회신은 이해하기에 너무 적은 코드를 보여줍니다. 어떤 코드를 작성해야합니까? mTabsAdapter 및 mTabHost 인스턴스를 얻으려면 어떻게해야합니까? –

0

"소재 디자인"의 모범 사례에 따르면, 탭 레이아웃에 패턴은 텍스트 또는 이미지/텍스트입니다. 하지만 정말이 수행하려는 경우 :

에/입술을/레이아웃CustomFragmentPagerAdapter보기를 당신의 custom_layout.xml

을 만들기

public View getTabView(int position) { 
    View v = LayoutInflater.from(context).inflate(R.layout.custom_tab, null); 

    ImageView imgTabIcon = (ImageView) v.findViewById(R.id.imgTabIcon); 
    TextView tvTabTitle = (TextView) v.findViewById(R.id.tvTabTitle); 
    TextView tvTabAmount = (TextView) v.findViewById(R.id.tvTabAmount); 

    imgTabIcon.setImageResource(imageResId[position]); 
    tvTabTitle.setText(tabTitles[position]); 
return v; 

에 귀하의 조각

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
    View rootView = inflater.inflate(R.layout.fragment_custom_tabs, container, false); 

    viewPager = (ViewPager) rootView.findViewById(R.id.viewpager); 
    CustomFragmentPagerAdapter pagerAdapter = new CustomFragmentPagerAdapter(
      getActivity().getSupportFragmentManager(), getActivity()); 
    viewPager.setAdapter(pagerAdapter); 

    tabLayout = (TabLayout) rootView.findViewById(R.id.sliding_tabs); 
    tabLayout.setupWithViewPager(viewPager); 
    for (int i = 0; i < tabLayout.getTabCount(); i++) { 
     TabLayout.Tab tab = tabLayout.getTabAt(i); 
     tab.setCustomView(pagerAdapter.getTabView(i)); 
    } 
return rootView; 
관련 문제