android – 从全屏活动开始新活动会导致状态栏覆盖操作栏

我正在使用ActionBarSherlock lib.我有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);

活动看起来像是保持全屏模式并且状态栏可见,并覆盖我的操作栏.预览活动的主题是:

<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上它运行良好.和它的屏幕:

任何想法如何解决它?

解决方法:

问题是固定的.我所做的是:

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

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.

上一篇:在状态栏中实现交互式通知(Android)


下一篇:Android – 以编程方式更改pre-lollipop设备上的状态栏颜色