1

我想制作一个持久性工具栏(带有图标),它将片段活动启动到另一个片段中。我按照本教程进行操作,但我不知道如何将列表视图变成 DetailFragment 显示下的水平工具栏。

我试图向片段添加按钮,但片段的 setContentView 没有等效项。此外,Android 似乎没有任何水平列表视图。

我也查看了 ActionBar,但这似乎并不是我想要的。

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

任何帮助深表感谢!

4

2 回答 2

0

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

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

于 2012-04-25T01:24:43.333 回答
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>

从 Activity 使用它并响应 Presses

@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);
}
于 2015-08-05T09:14:28.650 回答