用drawable替换ActionBar选项卡标题(特定代码)

时间:2014-02-27 16:38:38

标签: android android-actionbar

在我的Android应用中,我想用drawables替换ActionBar标签的标题。我怎么能在我的特定代码中这样做?这是:

private String[] tabs = { "ConnectMe", "Andere" };

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R

          .layout.activity_main);

    // Initilization
    viewPager = (ViewPager) findViewById(R.id.pager);
    actionBar = getActionBar();
    mAdapter = new TabsPagerAdapter(getSupportFragmentManager());

    viewPager.setAdapter(mAdapter);
    actionBar.setHomeButtonEnabled(false);
    actionBar.setStackedBackgroundDrawable(new ColorDrawable(getResources().getColor(R.color.ConnectMe)));
    actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);        

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

由于

2 个答案:

答案 0 :(得分:1)

您可能需要创建一个xml文件。如果你已经创建了它,那么尝试这样。如果它不起作用,请通知我。

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >


    <!-- Help -->
    <item android:id="@+id/ConnectMe"
          android:icon="@drawable/ConnectMe"
          android:title=""
          android:showAsAction="always"/>


</menu>

供参考,请查看这些链接Android Working with Action Bar

Using the Android action bar (ActionBar) - Tutorial

答案 1 :(得分:0)

您可以更改onPrepareOptionMenu中的图标,如下所示:

@Override
public boolean onPrepareOptionsMenu(Menu menu) {
MenuItem switchButton = menu.findItem(R.id.SwitchSearchOption);     
if(....Condition....){
    switchButton.setIcon(R.drawable.menu_icon1);
}else{
    switchButton.setIcon(R.drawable.menu_icon2);
}
return super.onPrepareOptionsMenu(menu);
}