【发布时间】:2017-08-08 07:08:45
【问题描述】:
我正在创建一个 android 应用程序,其中在一个活动中我在操作栏的帮助下显示选项卡,所以我必须更改操作栏背景颜色。但是每当我尝试更改背景颜色时,它都会显示白色背景或黑色背景。那么如何修改操作栏来改变它的背景颜色呢?
以下是我的活动代码:-
public class SavedRecord extends FragmentActivity implements ActionBar.TabListener{
private ActionBar actionBar;
private ViewPager viewPager;
private TabsPagerAdapter mAdapter;
String[] tabs = {"Audio","Video"};
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.saved_record);
//initialization
actionBar = getActionBar();
viewPager = (ViewPager) findViewById(R.id.view_pager);
mAdapter = new TabsPagerAdapter(getSupportFragmentManager());
viewPager.setAdapter(mAdapter);
actionBar.setHomeButtonEnabled(false);
actionBar.setIcon(null);
actionBar.setDisplayUseLogoEnabled(false);
actionBar.setTitle("Saved Record");
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
ColorDrawable colorDrawable = new ColorDrawable(Color.parseColor("#ff7043"));
actionBar.setStackedBackgroundDrawable(colorDrawable);
for (String tab_name:tabs){
actionBar.addTab(actionBar.newTab().setText(tab_name).setTabListener(this));
}
viewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
}
@Override
public void onPageSelected(int position) {
actionBar.setSelectedNavigationItem(position);
}
@Override
public void onPageScrollStateChanged(int state) {
}
});
}
@Override
public void onTabSelected(ActionBar.Tab tab, android.app.FragmentTransaction ft) {
viewPager.setCurrentItem(tab.getPosition());
}
@Override
public void onTabUnselected(ActionBar.Tab tab, android.app.FragmentTransaction ft) {
}
@Override
public void onTabReselected(ActionBar.Tab tab, android.app.FragmentTransaction ft) {
}
}
以及活动截图:-
【问题讨论】:
-
是的,我也试过了,但它不能正常工作,它已将操作栏背景颜色变为白色。 @MohitSuthar
-
@GRV_Droid 到目前为止有什么进展吗?
-
是的,我得到了上述问题的解决方案@W3hri
标签: java android tabs android-actionbar