繁体   English   中英

如何在所有活动中保持动作栏固定?

[英]How to keep actionbar fixed across all activities?

在Facebook应用程序v2.3中,当您从一个活动(或碎片?)导航到另一个活动时,操作栏在所有活动(或片段?)上保持固定。 例如,如果您从新闻源导航到某人的个人资料页面,则操作栏将保持不变,并且刷新下面的页面。 所以我的问题是,是否可能仅使用活动就具有这种行为? 还是我应该只有一个主要活动,而所有子活动都有片段?

一个活动和所需的片段数。

在您调用startActivity(intent);的那一刻startActivity(intent); 框架将滚动活动过渡动画及其所有内容(包括动作栏)

您只能使用“活动”来产生这种行为。 这些是每个活动中需要的方法。

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.main_activity, menu);
    return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
        case android.R.id.button_1:
            handleButton1();
            return true;
        case android.R.id.button_2:
            handleButton2();
            return true;
           ...
        default:
           ...
    }
}

另外,您可以在onCreate中访问操作栏对象,并根据需要自定义它。 例如,启用主页按钮等:

ActionBar actionBar = getActionBar();
actionBar.setDisplayHomeAsUpEnabled(true);
    ...

但是,如果您有很多活动,则可能不想在每个活动中都执行此操作。 相反,您可以在超级类活动中使用此代码,然后让其他活动对其进行扩展。 这是首选方式-您只能在一个地方进行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM