在 Facebook 应用程序 v2.3 中,当您从一个活动(或片段?)导航到另一个活动时,操作栏在所有活动(或片段?)中保持固定。例如,如果您从新闻提要导航到某人的个人资料页面,则操作栏保持不变,并刷新下面的页面。所以我的问题是,是否有可能只使用活动来实现这种行为?还是我应该只有一项主要活动,以及所有子活动的片段?
问问题
4830 次
2 回答
4
一项活动和您需要的尽可能多的片段。
您调用框架的那一刻startActivity(intent);
将滚动活动过渡动画及其所有内容(包括操作栏)
于 2013-04-05T14:20:45.423 回答
2
您可以仅使用活动来实现此行为。这些是您在每个活动中需要的方法。
@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);
...
但是,如果您有很多活动,您可能不想在每个活动中都这样做。相反,您可以将此代码放在超类活动中,然后让其他活动扩展它。这是首选方式 - 您只能在一个地方执行此操作。
于 2013-04-05T15:10:08.753 回答