4

我正在使用 ActionBarSherlock 库。我有 CameraActivity,其样式设置为全屏:

<activity
   android:name="pl.toptof.android.ui.activity.CameraActivity"
   android:theme="@style/Theme.Styled.NoActionBar.fullScreen"
   android:screenOrientation="portrait">
</activity>

当我从这个活动开始新活动时:

Intent intent = new Intent(CameraActivity.this, PreviewActivity.class);
intent.putExtra("PhotoURI",takenPhotoURL);
intent.putExtra("voteID",voteId);
CameraActivity.this.startActivity(intent);

Activity 看起来像是处于全屏模式,并且状态栏可见,并覆盖了我的操作栏。预览活动的主题是:

<application
        android:name="(...)"
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:largeHeap="true"
        android:hardwareAccelerated="true"
        android:theme="@style/Theme.Styled">

<activity
            android:name="pl.toptof.android.ui.activity.PreviewActivity"
            android:screenOrientation="portrait">
</activity>

该问题仅出现在 Sony Xperia Z 设备上。在 HTC Legend、HTC One、Nexus 4、三星 Galaxy S3、Nexus 7、三星 Galaxy Note 上运行良好。和它的屏幕:
状态栏覆盖操作栏

任何想法如何解决它?

4

1 回答 1

2

问题已解决。我所做的是:

我已经修改了这种开始新活动的方式

Intent intent = new Intent(CameraActivity.this, PreviewActivity.class);
intent.putExtra("PhotoURI",takenPhotoURL);
intent.putExtra("voteID",voteId);
CameraActivity.this.startActivity(intent);

添加

getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);

在 startActivity 方法之前。这有点棘手,但状态栏在活动结束之前向下滑动并且一切正常。当我再次返回/启动 CameraActivity 时,它再次获得 FLAG_FULLSCREEN onCreate。

于 2013-10-16T10:12:10.640 回答