我刚开始开发安卓应用,完全没有经验。我已经阅读了很多关于活动/片段/小部件的内容,但似乎没有找到我的问题的明确答案:
我可以将应用程序的操作栏创建为片段,这样每当我更改活动时,我都会简单地调用一个操作栏(即一个片段)?我打算开发一个动态 UI 来为单个选项创建片段,并认为在所有页面上显示一个通用的操作栏会很容易。
当您想在所有活动中自定义 ActionBar 时,第一步是在 XML 中创建自定义主题。
在这个主题中,您几乎可以自定义所有内容
请参考这篇优秀的博文:http ://android-developers.blogspot.be/2011/04/customizing-action-bar.html
为 ActionBar 使用 Fragment 会很疯狂!
如果您想以编程方式在所有活动中添加一些代码,只需扩展一个自定义活动,例如 MyCustomActivity,它扩展了 Activity。
public class MyCustomActivityextends Activity{
在这个类中,您可以使用 getActionBar() 并根据您的需要进行调整
如果您想为所有活动使用一个 ActionBar,请使用继承。创建一个 Activity ,它可以像您想要的那样简单地处理 ActionBar 并使其成为这样的超类。
public class ActionBarActivity extends Activity{
public void onCreate(... ) {
ActionBar actionBar = getActionBar();
// + some other method calls of your choice
}
public onCreateOptionsMenu(Menu menu){
// create your actionbaritems here
}
public boolean onOptionsItemSelected(MenuItem item) {
// handle your click events for the items here
}
}
现在,您可以将此 Activity 用于所有具有继承性的 Activity:
public class MyActivity extends ActionBarActivity{
...
}
通过此设置,您可以随意使用 Fragments。
请记住,每次调用新 Activity 时,都会调用超类的回调。
我认为您的想法是:您希望您的操作栏在每个屏幕上都相同,并且只需要对其进行一次编程。我使用的方法是,操作栏位于根活动中,包含单个查看器。用户与之交互的所有屏幕都是该视图寻呼机中的片段。
如果您在 eclipse 中创建一个空白的 android 项目,并选择带有选项卡的 actionbar,该项目将为您设置它,您可以看到它是如何工作的。
在大多数情况下,这将是不必要的并发症。一旦开始,您可能会发现只需几行简单的代码即可在每个活动中创建一个“相同”的操作栏。主题等可以稍后添加。在这个阶段更好的问题可能是我应该使用 Action Bar Sherlock 来更好地支持旧设备吗?并且您应该考虑您的应用程序的整体结构,例如活动/片段活动/片段/选项卡,以便您能够快速运行一些可以在开发完整解决方案时轻松扩展的东西。