在操作栏中为所有活动设置主页按钮的默认操作

时间:2013-07-06 07:40:05

标签: android actionbarsherlock android-actionbar android-custom-view

我想宣布我的应用程序的'主页'活动。现在,我可以使用

在每个活动中设置主页按钮的操作
public boolean onOptionsItemSelected(MenuItem item) {
    if (item.getItemId() == android.R.id.home) {
        Intent i = new Intent(getApplicationContext(),
                HomeScreen.class);
        i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
        startActivity(i);
    }
    return true;
}

我已使用

在清单中宣布我的HOME活动
<activity
        android:name=".HomeScreen"
        android:label="@string/app_name"
        android:theme="@style/Theme.Sherlock" >

            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.HOME" />
            <category android:name="android.intent.category.LAUNCHER" />
</activity>

我还使用

启用了actionBar的showHome选项
<style name="ActionBarCustom" parent="@style/Widget.Sherlock.ActionBar">
    <item name="android:displayOptions">showHome|showTitle</item>
    <item name="displayOptions">showHome|showTitle</item>
    <item name="android:logo">@drawable/arrow_icon</item>
</style>

现在,当我从未指定

的活动中单击我的主页按钮时
getSupportActionBar().setHomeButtonEnabled(true);

具体而言,它没有显示按钮被点击的指示。我想要一个主页按钮的默认操作。我知道如果我是对的,我会错过一件非常小的事情。我在堆栈溢出和放大器上经历了很多东西。 developer.android但都是徒劳的。有人可以帮忙吗? 我想为主页按钮设置默认操作。

此外,我可能还想使用showCustom设置自定义操作栏,但是再次我想在另一个地方定义另一个按钮的默认操作(我想在操作栏中设置)而不是在每个活动中指定它。)

(我在Android 2.2上测试。)

2 个答案:

答案 0 :(得分:0)

你错过了

getSupportActionBar().setDisplayHomeAsUpEnabled(true);

答案 1 :(得分:0)

创建一个Activity,称之为BaseActivity。

现在派生您想要功能的所有活动并覆盖那里的onOptionsItemSelected