Android如何实现类似Gmail的标题栏返回

Android如何实现类似Gmail的标题栏返回_第1张图片

如上图,如何实现上图圈中的返回部分。刚开始的想法是采用自定义标题栏的方法,。发现效果不理想。原因就是如果使用holo.light的话会出问题。程序会被强制退出。但是如果使用别的主题的话跟整个app的主题就不匹配。因此,这个方案在几经周折后,决定放弃。

第二种方案是采用menu.就是上图中右上角的三个小点。然后把Item设置为总是显示。又遇到问题:1.这样在每个界面都会出现。2.如果使其位置放到app icon左边。第一个问题想到的解决办法是在需要的界面动态添加。第二个问题找来找去没找到解决办法。因此这个方案也被放弃。

无奈之下继续寻找,在官网上看看。终于有所发现:

1.首先要在onCreate中加入这两句代码:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_details);

    ActionBar actionBar = getActionBar();
    actionBar.setDisplayHomeAsUpEnabled(true);
    ...
}

2.在AndroidManifest.xml中指定parent activity:

<application ... >
    ...
    <!-- The main/home activity (has no parent activity) -->
    <activity
        android:name="com.example.myfirstapp.MainActivity" ...>
        ...
    </activity>
    <!-- A child of the main activity -->
    <activity
        android:name="com.example.myfirstapp.DisplayMessageActivity"
        android:label="@string/title_activity_display_message"
        android:parentActivityName="com.example.myfirstapp.MainActivity" >
        <!-- Parent activity meta-data to support API level 7+ -->
        <meta-data
            android:name="android.support.PARENT_ACTIVITY"
            android:value="com.example.myfirstapp.MainActivity" />
    </activity>
</application>

<meta-data>是为了支持老设备

OK了。

你可能感兴趣的:(Android如何实现类似Gmail的标题栏返回)