Android ActionBar AppCompat更改选项卡指示器颜色
我已经看到了很多帖子和答案,但我仍然不清楚,如果我在不使用Android Asset Studio的情况下更改选项卡指示器颜色该怎么办Android ActionBar AppCompat更改选项卡指示器颜色,android,android-actionbar,android-appcompat,android-styles,android-actionbar-compat,Android,Android Actionbar,Android Appcompat,Android Styles,Android Actionbar Compat,我已经看到了很多帖子和答案,但我仍然不清楚,如果我在不使用Android Asset Studio的情况下更改选项卡指示器颜色该怎么办 public class MainActivity extends ActionBarActivity implements android.support.v7.app.ActionBar.TabListener{ private ViewPager tabsviewPager; private TabsAdapter mTabsAdap
public class MainActivity extends ActionBarActivity implements android.support.v7.app.ActionBar.TabListener{
private ViewPager tabsviewPager;
private TabsAdapter mTabsAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tabsviewPager = (ViewPager) findViewById(R.id.tabspager);
mTabsAdapter = new TabsAdapter(getSupportFragmentManager());
tabsviewPager.setAdapter(mTabsAdapter);
getSupportActionBar().setBackgroundDrawable(new ColorDrawable(Color.parseColor("#0000ff")));
getSupportActionBar().setIcon(
new ColorDrawable(getResources().getColor(android.R.color.transparent)));
//getSupportActionBar().setBackgroundDrawable(getResources().getDrawable(R.drawable.bg));
getSupportActionBar().setStackedBackgroundDrawable(new ColorDrawable(Color.parseColor("#3b5998")));
getSupportActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
Tab friendstab = getSupportActionBar().newTab().setIcon(R.drawable.ic_action_action_account_child).setTabListener(this);
Tab publicprofiletab = getSupportActionBar().newTab().setIcon(R.drawable.ic_action_action_account_box).setTabListener(this);
Tab communitytab = getSupportActionBar().newTab().setIcon(R.drawable.ic_action_action_account_circle).setTabListener(this);
getSupportActionBar().addTab(friendstab);
getSupportActionBar().addTab(publicprofiletab);
getSupportActionBar().addTab(communitytab);
我已附上现有应用程序截图,我的操作栏当前的外观,请参见以下内容:
如您所见,我正在使用
#0000ff
作为操作栏背景,并且我希望用于选项卡指示器的相同颜色actionBarTastyle
属性应该与基本应用程序/活动主题一起使用,而不是在操作栏样式下
请参阅为应用程序创建新样式并应用于清单文件中的节点。
<style name="AppTheme" parent="Theme.Base.AppCompat">
<item name="android:actionBarStyle">@style/MyCustomActionBar</item>
<item name="android:actionBarTabStyle">@style/MyActionBarTabViewStyle</item>
<item name="actionBarTabStyle">@style/MyActionBarTabView</item>
@样式/MyCustomActionBar
@样式/MyActionBarTabViewStyle
@样式/MyActionBarTabView
像这样的自定义操作选项卡主题
<style name="MyActionBarTabViewStyle" parent="Widget.AppCompat.Base.ActionBar.TabView">
<item name="android:background">@drawable/action_bar_stacked_background</item>
@可绘制/动作\u条\u堆叠\u背景
和@style/MyActionBarTabView这是一种更简单的安卓风格
另请参阅为选项卡使用选择器,并使用可绘图项添加按下状态,如:
<!-- Pressed -->
<!-- Non focused states -->
<item android:state_focused="false" android:state_selected="false" android:state_pressed="true" android:drawable="@drawable/tab_unselected_pressed_holo" />
<item android:state_focused="false" android:state_selected="true" android:state_pressed="true" android:drawable="@drawable/tab_selected_pressed_holo" />
有关详细答案和版权链接,请参见此。这将更改整个选项卡的背景。如何仅改变指示器的颜色?如何解决?