【问题标题】:App Icon back arrow shows in landscape and portrait应用图标后退箭头以横向和纵向显示
【发布时间】:2012-04-14 07:35:04
【问题描述】:

我有一个使用 ActionBar(实际上是 ActionBarSherlock)的应用程序,其中包含两个片段,一个是列表,一个是详细信息片段。当设备处于纵向模式并且用户从列表视图单击到详细信息视图时,我在详细信息视图上设置setHomeButtonEnabled,因此用户可以单击应用图标返回到列表(以及返回箭头会自动显示)。

当设备处于横向模式,并且两个片段都显示在屏幕上时,我仍然看到 App Icon 旁边的后退箭头,这没有任何意义,因为没有什么可以返回。

不确定我是否需要在代码中执行某些操作,因此后退箭头不会在横向模式下显示。

【问题讨论】:

    标签: android actionbarsherlock android-actionbar


    【解决方案1】:

    嗯,通过将这段代码添加到详细信息片段中,我能够得到我想要的结果。可能不理想,但它有效:

    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
    
        setHasOptionsMenu(true);
    
        if (getResources().getConfiguration().orientation != Configuration.ORIENTATION_LANDSCAPE)
            this.getSherlockActivity().getSupportActionBar().setDisplayHomeAsUpEnabled(true);
    
        setRetainInstance(true);
    }
    

    更新:

    发现这可能是一个更好的解决方案。它检测“详细信息”片段是否可见:

    final DetailsFragment fragment = (DetailsFragment)getFragmentManager().findFragmentById(R.id.fragmentDetails);
    
    if (fragment == null || fragment.isInLayout() == false)
        this.getSherlockActivity().getSupportActionBar().setDisplayHomeAsUpEnabled(true);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-02-07
      • 2014-10-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-04
      • 1970-01-01
      • 2018-03-03
      相关资源
      最近更新 更多