Android:创建片段工具栏

时间:2012-04-15 00:33:27

标签: android toolbar fragment

我想创建一个持久工具栏(带图标),将片段活动启动到另一个片段中。我跟着this tutorial,但我无法弄清楚如何将listview转换为DetailFragment显示下的水平工具栏。

我试图在片段中添加按钮,但是片段的setContentView没有等价物。此外,Android似乎没有任何水平的Listviews。

我也看过ActionBar,但这似乎不是我想要的。

一般来说,如何创建一个在Android应用中启动活动的持久工具栏?

非常感谢任何帮助!

2 个答案:

答案 0 :(得分:0)

感谢响应者! 我意识到实现片段的tabhost解决了我的问题。

这是我发现的一个非常好的教程。我希望它可以帮助别人。 http://thepseudocoder.wordpress.com/2011/10/04/android-tabs-the-fragment-way/

答案 1 :(得分:0)

ActionBar似乎确实是正确的选择

有一个设置图标的菜单XML

<menu xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:app="http://schemas.android.com/apk/res-auto">
   <item android:id="@+id/action_frag1" android:title="@string/action_frag1"
        android:icon="@android:drawable/ic_menu_add"
        android:orderInCategory="450" app:showAsAction="ifRoom" />
    <item android:id="@+id/action_frag2" android:title="@string/action_frag2"
        android:icon="@android:drawable/ic_menu_revert"
        android:orderInCategory="400" app:showAsAction="ifRoom" />
    ...
</menu>

在“活动”中使用它并回复“按下”

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.menu_main, menu);
    return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    int id = item.getItemId();
    switch (id) {
        case android.R.id.action_frag1:
            //Here we change the fragment
            FragmentManager fm = getSupportFragmentManager();
            FragmentTransaction tr = fm.beginTransaction();
            tr.replace(R.id.container, Fragment1.newInstance());
            tr.commit();
            break;
        case R.id.action_frag2:
            ... // same thing, but stay DRY
            break;
    }
    return super.onOptionsItemSelected(item);
}