我試圖顯示Activity
內SurfaceView
內有一個主題,延伸Theme.Dialog
(你可以認爲我試圖展示它在Dialog
類),但我有一些佈局故障。SurfaceView裏面的對話框(或Activity與Theme.Dialog)有佈局故障
我無法拍攝照片,因爲在拍攝屏幕截圖時毛刺會消失:/但無論如何,你看到的是SurfaceView
的「洞」已經從原來的位置移開,併產生了一些奇怪的重疊效果......
這個問題似乎與標誌windowIsFloating
有關,如果將它設置爲false,故障消失......
任何想法可能的解決方法繼續使用windowIsFloating
標誌?
簡單的佈局來重現問題:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#fff">
<FrameLayout android:id="@+id/container"
android:layout_width="250dp"
android:layout_height="250dp"
android:layout_centerInParent="true"
android:padding="30dp"
android:background="#ff0">
<SurfaceView android:id="@+id/surface"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</FrameLayout>
和修改活動的主題是這樣來重現問題:
<style name="MyTheme" parent="@android:style/Theme">
<item name="android:windowIsFloating">true</item>
</style>