10

在 4.2.2 之前,只有 logo 是可点击的。

从 4.2.2 开始,actionbar 的标题与 logo 一起是可点击的——两者都好像是同一个 button 的一部分

您可以在 Google 阅读器应用程序中看到此行为的示例 - 如果您有 4.2.2 设备(请参阅随附的屏幕截图)。

如何禁用此行为并启用仅单击图标?也许这是一个错误?

请参阅示例代码片段:

public class MainActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        getActionBar().setDisplayHomeAsUpEnabled(true);
        getActionBar().setHomeButtonEnabled(true);
    }
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
            case android.R.id.home:
                Intent intent = new Intent(this, MainActivity.class);
                startActivity(intent);
                finish();
                return true;
        }
        return false;
    }
}

单击徽标会将标题设置为也被单击

4

3 回答 3

3

这个答案似乎相关:https ://stackoverflow.com/a/16216966/596531

我自己还没有尝试过,因为它充其量只是一种解决方法并且使我的代码复杂化,但是通过隐藏真正的标题它应该可以解决问题。

于 2013-10-09T10:02:14.743 回答
2

这不是错误,这是正常的系统行为!我认为他们更改了它,以便用户可以在该按钮上获得更大的可点击目标区域。

除非您实现自己的 ActionBar(也许通过扩展 ActionBar Sherlock),否则您无能为力。

于 2013-02-26T09:46:49.843 回答
1

摆脱:

getActionBar().setHomeButtonEnabled(true);

和(或)

getActionBar().setDisplayHomeAsUpEnabled(true);

这使得文本和图标无需使用即可点击

getActionBar().setDisplayHomeAsUpEnabled(true);

除了在这里使用上面的代码 ^^ 在图标或文本旁边显示一个小箭头


编辑

你可以尝试使用这个

getActionBar().setHomeButtonEnabled(true);

并摆脱操作栏文本,我猜......但这不是你想要的:/但它只是使图标可点击

于 2014-11-14T22:33:31.793 回答