3

在我扩展 SherlockFragmentActivity 的活动中,我有操作栏,并且还设置了 actionBar.setDisplayHomeAsUpEnabled(true) 以返回到我之前的活动。一切正常。但是当我点击主页按钮时,背景颜色应该只应用于应用程序图标,但它也适用于操作栏上的“标题”,如屏幕截图所示。我不希望这种情况发生。当我点击主页按钮时,只有应用程序图标应该可以点击(背景颜色应该只应用于应用程序图标)而不是标题。知道我该怎么做吗?

在此处输入图像描述

我的活动代码:

ActionBar actionBar = getSupportActionBar();
actionBar.setDisplayHomeAsUpEnabled(true);
actionBar.setTitle(some_string);
4

2 回答 2

16

不要忘记这部分,因为那个主页按钮也是一个菜单按钮。

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
        case android.R.id.home:
            // This is called when the Home (Up) button is pressed in the action bar.
            // Create a simple intent that starts the hierarchical parent activity and
            // use NavUtils in the Support Package to ensure proper handling of Up.
            Intent upIntent = new Intent(this, MainActivity.class);
            if (NavUtils.shouldUpRecreateTask(this, upIntent)) {
                // This activity is not part of the application's task, so create a new task
                // with a synthesized back stack.
                TaskStackBuilder.from(this)
                        // If there are ancestor activities, they should be added here.
                        .addNextIntent(upIntent)
                        .startActivities();
                finish();
            } else {
                // This activity is part of the application's task, so simply
                // navigate up to the hierarchical parent activity.
                NavUtils.navigateUpTo(this, upIntent);
            }
            return true;
    }
    return super.onOptionsItemSelected(item);
}
于 2013-09-04T02:48:01.897 回答
1

标准的 Android UI 模式是在按下状态下包含标题。但是,我认为如果您点击此链接(描述如何在操作栏左侧添加自定义视图)如何将操作栏中的项目向左对齐?,并将标题设置为空。下面的代码在我的本地设备上工作

ActionBar action=getActionBar();
action.setDisplayShowCustomEnabled(true);
action.setHomeButtonEnabled(true);
action.setDisplayShowTitleEnabled(false);
TextView title =new TextView(getApplicationContext());
title.setText("Your Title here");
title.setGravity(Gravity.LEFT | Gravity.CENTER_VERTICAL);
action.setCustomView(title);
于 2013-03-02T16:09:32.913 回答