动作栏作为片段

时间:2013-07-03 21:40:19

标签: java android

我刚刚开始开发Android应用,根本没有经验。我已经阅读了很多关于活动/片段/小部件的内容,但似乎没有找到我的问题的明确答案:

我可以将应用程序的操作栏创建为片段,因此每当我更改活动时,我只会调用一个操作栏(即一个片段)?我打算开发一个动态UI来为个人选项创建片段,并认为在所有页面上都可以很容易地显示一个通用的操作栏。

4 个答案:

答案 0 :(得分:2)

如果要在所有活动中自定义ActionBar,第一步是使用XML创建自定义主题。

在这个主题中,您可以自定义几乎所有内容

请参阅此优秀博文:http://android-developers.blogspot.be/2011/04/customizing-action-bar.html

为ActionBar使用片段会很疯狂!

如果要在所有活动中以编程方式添加一些代码,只需扩展一个自定义活动,例如扩展活动的MyCustomActivity。

public class MyCustomActivityextends Activity{

在本课程中,您可以使用getActionBar()并根据需要进行调整

答案 1 :(得分:0)

如果您想为所有活动使用一个ActionBar,请使用继承。创建一个简单地处理ActionBar的Activity,就像你想要的那样,并使它成为像这样的超类。

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
    }
}

现在,您可以将此活动用于所有具有继承的活动:

public class MyActivity extends ActionBarActivity{
...
}

使用此设置,您可以随意使用碎片。

请记住,每次调用一个新的Activity时,都会调用超类的回调。

答案 2 :(得分:0)

我认为你在想的是: 您希望每个屏幕上的操作栏都相同,只需要编程一次。 我使用的方法是,操作栏位于根活动中,包含单个viewpager。并且用户与之交互的所有屏幕都是该视图寻呼机中的碎片。

如果你在eclipse中创建一个空白的android项目,并选择带有标签的actiobar,项目会为你设置它,你可以看到它是如何工作的。

答案 3 :(得分:0)

在大多数情况下,这将是一种不必要的并发症。一旦开始,您可能会发现只需几行简单的代码就可以在每个活动中创建一个“相同”的Action Bar。主题等可以在以后添加。在这个阶段更好的问题可能是我应该使用Action Bar Sherlock来更好地支持旧设备吗?您应该考虑应用程序的整体结构,例如活动/片段活动/片段/标签,以便您能够快速获得可以在开发完整解决方案时进行扩展的内容。