-5

我嘗試了很多次,但並不確定。 我嘗試在MainActivity中更改actionBar,但TabBar不會更改,所以我不會如何更改它。我該如何更改標籤片段(Viewpager)中tabBar的顏色

這是我的代碼: MainActivivty

public class MainActivity extends FragmentActivity implements 
    ActionBar.TabListener { 

private ViewPager viewPager; 
private ActionBar actionBar; 
private TabsPagerAdapter mAdapter; 

private String[] tabs = { "Bài Hát", "Yêu Thích"}; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    ActionBar ac = getActionBar(); 
    ac.setBackgroundDrawable(new ColorDrawable(Color.rgb(72, 209, 204))); 
    //ac.setBackgroundDrawable(new ColorDrawable(Color.parseColor("#E64260"))); 


    viewPager = (ViewPager) findViewById(R.id.pager); 
    actionBar = getActionBar(); 

    mAdapter = new TabsPagerAdapter(getSupportFragmentManager()); 
    viewPager.setAdapter(mAdapter); 
    actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); 

    for (String tab_name : tabs) { 
     actionBar.addTab(actionBar.newTab().setText(tab_name) 
       .setTabListener(this)); 
    } 

    viewPager.setOnPageChangeListener(new OnPageChangeListener() { 

     @Override 
     public void onPageSelected(int position) { 
      actionBar.setSelectedNavigationItem(position); 
      if (position == 1) { 
       TabYeuThich frag = (TabYeuThich) mAdapter 
         .getFragmentTabYeuThich(1); 
       frag.resetPage(); 
      } else { 
       TabBaiHat frag = (TabBaiHat) mAdapter 
         .getFragmentTabBaiHat(0); 
       frag.resetPage(); 
      } 
     } 

     @Override 
     public void onPageScrolled(int arg0, float arg1, int arg2) { 

     } 

     @Override 
     public void onPageScrollStateChanged(int arg0) { 

     } 
    }); 
} 

@Override 
public void onTabReselected(Tab tab, FragmentTransaction ft) { 
    // TODO Auto-generated method stub 

} 

@Override 
public void onTabSelected(Tab tab, FragmentTransaction ft) { 
    // TODO Auto-generated method stub 
    viewPager.setCurrentItem(tab.getPosition()); 

} 

@Override 
public void onTabUnselected(Tab tab, FragmentTransaction ft) { 
    // TODO Auto-generated method stub 

} 

這是類:TabsPagerAdapter

public class TabsPagerAdapter extends FragmentPagerAdapter { 

FragmentManager fm; 
TabYeuThich fragYeuThich; 
TabBaiHat fragBaiHat; 

public TabsPagerAdapter(FragmentManager fm) { 
    super(fm); 
    // TODO Auto-generated constructor stub 
    this.fm = fm; 
} 

@Override 
public Fragment getItem(int index) { 
    // TODO Auto-generated method stub 
    switch (index) { 
    case 0: 
     fragBaiHat = new TabBaiHat(); 
     return fragBaiHat; 
    case 1: 
     fragYeuThich = new TabYeuThich(); 
     return fragYeuThich; 
    } 

    return null; 
} 

@Override 
public int getCount() { 
    // TODO Auto-generated method stub 
    return 2; 
} 

public Fragment getFragmentTabYeuThich(int post) { 

    return fragYeuThich; 

} 

public Fragment getFragmentTabBaiHat(int post) { 

    return fragBaiHat; 

} 

請幫幫我!謝謝大家!

+1

更好的搜索在谷歌** **。 –

+0

[URL = http://s1277.photobucket.com/user/minkun9x/media/1_zps7qcyxyu1.jpg.html] [IMG] http://i1277.photobucket.com/albums/y495/minkun9x/1_zps7qcyxyu1.jpg [/ url] IMG] [/ URL] –

回答

0

Useally我來自的themes.xml 設立操作欄,我建議你跟進兩個教程

developer android

action bar explanation

+0

嗨,你可以改變actionBar的顏色,但是使用TabBar我無法改變!你可以在我在問題 –

+0

@tranminh中的註釋中添加的圖像中看到它,你的設置顏色是單調遞增的,你可以從xml文件中做到這一點,列出上面的tutotrial? – Moudiz

相關問題