Java 无法在android中更改自定义actionbar背景颜色
我正在创建一个android应用程序,在其中一个活动中,我在actionbar的帮助下显示选项卡,因此我必须更改actionbar的背景色。但每当我试图改变背景颜色时,它将显示白色背景或黑色背景。那么,如何修改动作栏以更改其背景色呢 下面是我的活动代码:-Java 无法在android中更改自定义actionbar背景颜色,java,android,tabs,android-actionbar,Java,Android,Tabs,Android Actionbar,我正在创建一个android应用程序,在其中一个活动中,我在actionbar的帮助下显示选项卡,因此我必须更改actionbar的背景色。但每当我试图改变背景颜色时,它将显示白色背景或黑色背景。那么,如何修改动作栏以更改其背景色呢 下面是我的活动代码:- public class SavedRecord extends FragmentActivity implements ActionBar.TabListener{ private ActionBar actionBar;
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) {
}
}
以及活动的屏幕截图:-
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) {
}
}
尝试更改应用程序的使用风格
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="android:actionBarStyle">@style/ActionBarStyle</item>
</style>
<style name="ActionBarStyle" parent="@android:style/Widget.Holo.Light.ActionBar">
<item name="android:background">/*your custom color*/</item>
</style>
</resources>
@风格/动作条风格
/*您的定制颜色*/
我假设您正在使用“常规”操作栏
尝试通过导入来使用SupportActionBar
import android.support.v7.app.ActionBar;
和呼唤
actionBar = getSupportActionBar();
我想这应该可以解决你的问题。你试过这个吗?是的,我也试过那个,但它不能正常工作,它已将actionbar背景色变为白色@MohitSuthar@GRV_Droid到目前为止有什么进展吗?是的,我找到了上述问题的解决方案@W3hri