根据屏幕方向禁用操作栏主页按钮

时间:2014-04-17 11:55:06

标签: android android-actionbar

我想在水平屏幕方向禁用主页按钮 - 不仅禁用按钮后面的操作,而且使按钮看起来不可点击。

这可以在Android上实现吗?

适用于Activity(不是Fragment),我目前不使用setRetainInstance(),但我可能会这样做。

我正在使用ActionBarSherlock,但我计划将来在某个地方使用appcompat。

2 个答案:

答案 0 :(得分:0)

您可以通过在活动的onResume方法中添加以下行来实现它,

    getSupportActionBar().setDisplayHomeAsUpEnabled(true);

    if(this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) 
    {
    // code to do for Portrait Mode
        getSupportActionBar().setHomeButtonEnabled(true);
    } else {
    // code to do for Landscape Mode         
        getSupportActionBar().setHomeButtonEnabled(false);
}

注意:在使用getSupportActionBar()actionbarsherlock库时使用appcompat。如果您不支持较低版本,请使用getActionBar()

答案 1 :(得分:0)

我没有测试以下代码,但它应该让你知道我会做什么:

if(getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE){
        getActionBar().setHomeButtonEnabled(false);
    }